自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 Atcoder BC 207 E

题目大意给你一个序列A,要求你把这个序列分为 k 份(从1到k排序),对于每一份 ki 其内部元素和模 ki 应当为 0,试问可以找出多少种分法?解题思路n3 暴力DPdp[j][i]:对于前i个数,分成j个区间的方法总数for (int i = 1; i <= n;i++){ cin >> a[i]; sum[i] = sum[i - 1] + a[i]; dp[1][i] = 1; } for (int k

2021-06-30 17:44:43 126

原创 Codeforces 刷题 4

1476C Longest Simple Cycle题目大意给定n条竖直边,第 i 条边含有ci个节点,这条边的第一个节点连在前一条边的第ai个节点,最后一个节点连在前一条边的第bi个节点,试求出一笔能划过最多边上节点的数目。解题思路线性dp题,dp[i]代表以第i条边为结尾的答案,那么对于每一个i有继承之前的与不继承独立成环两种选择,取最大值,若首尾两个节点连在同一个点上,那么必须自己独立成环,遍历一遍即可,在所有dp[i]中取最大值#include<iostream>#inclu

2021-06-07 21:06:05 115

原创 Codeforces Round #724

A. Omkar and Bad Story题目大意给定一个数组a要求在其中添加一些数变成数组b,要求对数组b中任意bi,bj都有 abs(bi-bj) 在b这个数组中出现,判断能否构造这样一个数组b,如果可以,可以按任意顺序输出数组b中的所有元素。解题思路首先若数组中存在负数必然不行,每次添加一个数都会扩展出新的不存在的数,所以就可以判定成立条件,那么对于满足的数组,最简单的方法就是直接将其补充为,包含从0到原数组最大值的数组。#include<iostream>#include&

2021-06-07 20:04:23 107

原创 Codeforces 刷题3

1.AGAGA XOOORRR题目大意给定一个长度为 n 的数组 a ,每次可以选择相邻的两个数进行异或运算,并用结果替换这两个数,试问能否有一种策略,使操作后的数组的每一个元素都相同(数组元素个数大于等于2)解题思路考虑最后的结果,尽可能把剩余的数最小化,那么可以发现最少只可能为2或3个数相同如果大于3,可以继续进行异或化为最少情况,又因为每次都取连续的两个数,所以直接对两种情况分别讨论,枚举分界点,用异或前缀和优化即可。(异或运算也可以用前缀和优化)#include<iostream&

2021-06-02 19:37:57 233

原创 codeforce 比赛补题

Codeforces Round 723A.Mean Inequality题目大意给定一个有2n个元素的数组a,要求你将其重新排列构成一个新数组 b 对于数组 b 而言bi≠bi−1+bi+12b_i \neq \frac{b_{i-1}+b_{i+1}}{2}bi​​=2bi−1​+bi+1​​b可以看作是首尾相接的。解题思路将a数组排序,之后每次拿出当前数组的最大值与最小值插入新的数组中,输出即可。#include<iostream>#include<algor

2021-06-01 21:32:04 232

原创 cpu设计实战 lab 5

LAB 5简述经过 lab 4 的讨论,lab 5其实蛮简单的了,我们现在实现的 19 个指令除了 load 指令,都可以在执行期得到写回的数据,于是除了 load 都可以直接向译码级前递,而 load 在执行级时,若和译码级的指令发生写后读,则暂停一拍。还有一个问题,如果译码级和多级都发生写后读,我们应该选取最新的值,即离此条指令最近的一次写后读进行前递,即需要一个具有优先级四选一选择器,选择是三条前递路径中的还是当前寄存器堆读出的。现在目标就很明确了,让我们动笔吧。开冲回写级寄存器号 5

2021-05-31 22:21:02 737 1

原创 cpu 设计实战 lab 4

LAB 4流水线的阻塞技术我们先分析下这个三级流水线是如何阻塞的assign pipe2_ready_go = ...assign pipe2_allowin = !pipe2_valid || pipe2_ready_go && pipe3_allowin;assign pipe2_to_pipe3_valid = pipe2_valid && pipe2_ready_go always @(posedge clk) begin if (

2021-05-31 22:20:19 742

原创 cpu设计实战 lab3

CPU 设计实战 LAB 3让我们一起DEBUG第一处首先可以发现的是 DEBUG 信号全部都是 X ,于是顺着 DEBUG_PC 信号往前走就可以发现有一位是 Z,说明 wire 信号未被赋值。我们在下面给 load 赋值即可。第二处改完上一处仍然没能让 DEBUG 信号出现,我们顺着 DEBUG 信号可以找到 ds_valid 信号一直未被赋值。作如下修改第三处从现在开始 DEBUG 信号已经 work 了,可以用 trace 进行 debug 了。reference:

2021-05-29 02:18:28 1766 1

原创 codeforces 刷题2

1.Filomino 2题目大意给定一个 n*n 的矩阵,要求把 1 到 n 的数填进去,并满足以下条件:只能填在矩阵的下三角形区对于第 i 个数,要有 i 个格子都填这个数填相同数的格子必须互相连通主对角线所有格子的数必须不重复数字并不一定是按1到n的顺序给出的解题思路贪心的思想,从最上面的对角点开始放第一个数,对与每一个数字优先往左找点放数字,如果放不下开始往下走,这样就可以保证全部放下。#include<iostream>#include<algorithm

2021-05-26 23:01:10 88

原创 Codeforce Round #722

A.Eshag Loves Big Arrays题目大意给定一个长度为 n 的数组 a ,每次可以选定这个数组中的几个数求平均值,之后删掉数组里所有比平均值大的数,求这个数组最多可以删掉多少个数。解题思路由题意可知要让平均值尽可能地小,那么考虑数组里的最小值,当只选取最小值时,可以删掉其他的所有数字,那么能不能有一种办法删掉最小值呢?答案是不行的,易得剩余的数都大于等于最小值,把大于最小值的数拆分为最小值加一个数,可得最后的平均值一定比最小值要大。#include<iostream>

2021-05-25 23:21:08 90

原创 cpu设计实战 lab2

lab2Regfile 仿真创建工程,添加已有的设计文件。module regfile( input clk, input [ 4:0] raddr1, output [31:0] rdata1, input [ 4:0] raddr2, output [31:0] rdata2, input we, input [ 4:0] waddr, input [31:0] wdata);reg [31:0] rf[31:0];//

2021-05-25 01:23:52 741

原创 codeforce刷题 1

1.Sequence Pair Weight题目大意给定一个长度为 n 的数组 a,规定 i < j 且 ai = aj 为一个数对,求数组 a 的 所有连续子序列中有多少个这样的数对,输出总数。解题思路易得如果一个一个子序列去遍历的话,那么大约有 n*n/2 个子序列,会超时所以要考虑更简单的方法,采用动态规划的思想,dp[i] 代表以第 i 个数为结尾的所有子序列的答案总数,同时用 map 储存每一个数字出现的次数#include<iostream>#include<

2021-05-23 22:38:08 527

原创 历届东北赛补题

13th - B : Balanced Diet题目大意要求你选糖果,首先给定m,n代表糖果最大可能种类数和给定的糖果总数,之后给定 m 个值(l1, l2, … lm),代表决定选某一种糖果时至少拿多少个,(可以不选),之后给定 n 个 ai 与 bi,代表每个糖果的价值与所属种类,要求使 S/C 最大 S代表拿取糖果的价值总和,C代表拿的糖果里,出现的最多的种类的糖果个数。解题思路首先我们先将每种糖果的取数下限排序,由于当最大值确定时,分母就确定了,为了使总值最大,其他种类的糖果就可以在不超过最

2021-05-23 21:12:53 54

原创 Codeforces Round #719 div3

题目链接A. Do Not Be Distracted!题目大意给定一个字符串,判断是否有某个字符不连续的出现过两次及以上,如果有,输出"NO",否则输出"YES"。解题思路直接遍历一遍,用map标记那些字符已经出现过,同时用一个标记来记录当前的字符是哪个即可。#include<iostream>#include<algorithm>#include<vector>#include<queue>#include<map>#in

2021-05-07 17:25:54 66

原创 Educational Codeforces Round 108 (Rated for Div. 2)题解

题目链接A.Red and Blue Beans题目描述给定红色豆子 r 个,蓝色豆子 b 个,问是否存在一种分装方法,使得每个袋子里两种颜色的豆子至少都有一个,且两种豆子的数量差不超过 d 。解题思路关键点在于如何使差值尽可能小。贪心的减小一个袋子里,两种豆子的数目,那么设 r > b,就分为 b 份,再将 r 平均分到这些袋子里。比较差值与 d 的大小关系即可。#include<iostream>#include<algorithm>#include<

2021-05-01 22:32:34 191

原创 Codeforce Round 712 Div2

Codeforce Round 712 Div2A. Deja Vu题目链接题目大意:给定一个字符串,判断能否在这个字符串的某一个位置加入一个字符 ‘a’ 使得该字符串变成非回文串,输出 “YES” 或 “No”。解题思路:首先可得全由 a 组成的字符串必然不能满足条件,那么对于不全为 a 的串,若是回文的则可以直接加到字符串头部(反证法若加到头部不满足,那么递推可知该字符串全为 a ),对于非回文的则在开头与末尾各自判断一次,输出可能的结果即可。#include<iostream&gt

2021-04-14 21:43:30 109

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除