BUAA-CO-P0-课上

OWPETER Lv3

逆序数对

逆序数对定义:对于数列, 若,则称为一个逆序对。现给4个整数,求这4个数可以形成的逆序对个数

说是4个整数,其实已经确定了是0,1,2,3。只需要挨个比较就好了(1-2,1-3,1-4,2-3,2-4,3-4)然后借助splitterBit Adder求出大于的数量即可

splitter + bit_adder 示意图

通宵自习室

有2个教室(0和1),4种操作:00无操作,01所选教室人数+1,10所选教室人数-1,11所选教室清空(人数变为0),输出2个教室人数的总和。不设reset

不太像Moore机的Moore机。2个教室,设置2个寄存器分别存储教室人数。教室的选择和操作的选择都可以通过多路选择器完成。4种操作最终用Controlled Buffer合并、选择输出。

最长不降后缀串

后缀串:

设序列为 ,后缀串有:

不降:即前项小于后项

现串行输入一串4位二进制数,输出该序列的最长不降后缀串的长度。注意,第一个周期输出0,代表初始状态为空。需要提供同步复位。

本题仅要求最长不降后缀串而非最长不降子串!

分析可知,对于 ,若,则 ,若 ,则 。但对于 ,这会导致第一个周期输出1,因此要加一个判断:若当前周期是第一周期,则输出0,否则照常输出

由于本题的output仅为5位,因此实现周期判断的方法较为简单,仅需用寄存器保存当前周期数即可。当然这样的做法一个并非正解,如果大家有更好的想法欢迎评论。

  • Title: BUAA-CO-P0-课上
  • Author: OWPETER
  • Created at : 2024-09-30 20:37:42
  • Updated at : 2025-01-25 20:50:00
  • Link: https://owpeter.github.io/2024/09/30/BUAA-CO-P0-课上/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments
On this page
BUAA-CO-P0-课上