
2023杭电多校
文章平均质量分 77
杭电多校
沫刃起
计算机科学与技术22级
展开
-
(杭电多校)2023“钉耙编程”中国大学生算法设计超级联赛(10)
算期望次数,就当作正常的次数,只不过分情况讨论,将不同概率和对应的次数相乘,然后全部相加(可以叠加,算出的低一层的期望次数仍可以和概率相乘并相加得到高一层的期望次数)原创 2023-08-21 01:26:36 · 426 阅读 · 0 评论 -
(杭电多校)2023“钉耙编程”中国大学生算法设计超级联赛(9)
法二:搞一个string类型字符,存储完整的一段字符串,然后放在[]中。法一:一个字符一个字符输出,当必要时添加'['或者']'原创 2023-08-19 15:26:25 · 275 阅读 · 0 评论 -
(杭电多校)2023“钉耙编程”中国大学生算法设计超级联赛(8)
错误1:数有几个节点x满足p[x]==x,那么就有几个连通块,如果n个节点都枚举到,那么是对的,因为枚举到了所有的祖宗节点,但是单单枚举其中的k个节点,这样写是有问题的,因为可能没有枚举到祖宗节点,那么都不会计入连通块的个数。错误2:写了个break,如果只有一个样例,那么是没问题的,直接输出答案,后面不输入也没有关系,但是有t个样例,如果break了,该样例还未输入的数据可能会用于下一个样例中。如果diff为偶数但又不能分解为两个平方数的和,那么可以通过两个平方数和一个1凑出该偶数,那么操作次数为3。原创 2023-08-13 10:05:31 · 378 阅读 · 0 评论 -
(杭电多校)2023“钉耙编程”中国大学生算法设计超级联赛(7)
算异或后的最小代价,利用归并排序算逆序对,算一共有几对逆序对,每个逆序对倒转的代价为2,然后就是算逆序对数量是奇还是偶,如果是偶数的话,异或后全部抵消了,就变成了0,如果是奇数的话,异或后还剩下一个2,此为异或后的最小值。然后基于贪心策略,我们不满足于此,我们又希望继续变成1111,即在刚才的基础上异或一个8,同理,只要n的数量大于等于8,我们就可以成功异或一个8,以此类推,看能否异或一个2的次幂。然后最后两位已经定下来了,比如说最小代价为00,与1异或后为01,最小代价为10,与1异或后为11。原创 2023-08-13 10:01:44 · 360 阅读 · 0 评论 -
(杭电多校)2023“钉耙编程”中国大学生算法设计超级联赛(6)
区间和为平方数的区间个数前缀和以及区间和为平方数的区间个数后缀和,用数组x记录前缀和,用数组y记录后缀和,比如说我们要修改a[i],那么只要将x[i-1]和y[i+1]加起来即可,这样算出来的就是和i无关的区间和为平方数的区间个数,也就是。是将a[i]修改后区间和为平方数的个数=改之前区间和为平方数的个数-改之前含有i的区间和为平方数的区间个数+改之后含有i的区间和为平方数的区间个数。只不过预处理的方式不一样。原创 2023-08-08 15:01:55 · 450 阅读 · 0 评论 -
(杭电多校)2023“钉耙编程”中国大学生算法设计超级联赛(5)
可以换一种思路:枚举所有的顶点,然后我们知道该顶点的度数,就是每枚举一个顶点,就记录以该顶点可以形成的2-star,3-star...的数量,这样做的好处是不会超时,因为根据握手定理。所以度数之和为2*m,为2e6,也就是说时间复杂度不会超过2e6。可以这样理解,加一个cnt++,然后cnt加的次数不会超过2e6。然后遍历1到n,将其全部加起来。原创 2023-08-04 09:04:21 · 339 阅读 · 0 评论 -
(杭电多校)2023“钉耙编程”中国大学生算法设计超级联赛(4)
n*m和m*n是等价的,所以统一换成n小m大。原创 2023-07-30 14:57:23 · 286 阅读 · 0 评论 -
(杭电多校)2023“钉耙编程”中国大学生算法设计超级联赛(3)
比如说序列a为1000 1000 500 200 10,然后升序后为10 200 500 1000 1000,映射到从1开始的数,为1 2 3 4 4,此即为前缀最大值序列,比如说5 3 4 6 7的前缀最大值序列为5 5 5 6 7。先将序列a升序,然后离散化。原创 2023-07-30 14:52:06 · 237 阅读 · 0 评论 -
(杭电多校)2023“钉耙编程”中国大学生算法设计超级联赛(1)
如图,l一开始指向1,r指向2,然后s[1]s[5],所以说明以l为起点的字符串的第二位大于以r为字符串的第二位,说明以l为起点的字符串字典序大于以r为起点的字符串字典序,那么就更新l为r即为4(因为l始终要找字符串字典序最小的起点),然后r就取max(r,l+k)即为4,l+k是因为字符串的起点到l+k都已经遍历过了,r是因为后面字符串的起点已经遍历到了r,最后r++每次循环都会执行的,就是接着往后找。然后找到字典序最小的字符串的起点,然后从起点开始取m个字符组成一个字符串。2.字符串中含有相同的字符。原创 2023-07-21 23:56:36 · 334 阅读 · 0 评论 -
(杭电多校)2023“钉耙编程”中国大学生算法设计超级联赛(2)
【代码】2023“钉耙编程”中国大学生算法设计超级联赛(2)原创 2023-07-22 00:03:47 · 883 阅读 · 1 评论