codeforces
文章平均质量分 71
m0_51128939
这个作者很懒,什么都没留下…
展开
-
苏格兰计划[副本] day4 CF1098
day4 #530 DIV1(CF1098)A 1600非常简单的贪心,首先如果孙子的sum比爷爷小,就是-1,其他情况都存在解,贪心的思路肯定是让偶数深度占得尽可能多,这样子重复的贡献比较多,那么显然把偶数节点赋值成儿子里S最小的就可以了B 2100首先可以发现我们选定了一个1*2的方块如AC以后,之后能保证能构造出来,后面要么是GT要么是AC,并且ACGT对应的下一行只能是GTAC,于是每次暴力枚举怎么填2*2,然后新的两行计算是填AC还是GT,同样列也是一样计算,总之是个大模拟,写的不是很开心原创 2021-07-11 19:02:57 · 70 阅读 · 0 评论 -
苏格兰计划[副本] day3 CF1083
day3 #526 div1(CF1083)A 1800非常水的树形DP,说是取一条简单路径,其实就是枚举lca就可以了,枚举lca然后计算最大值子树路径和次大值子树路径的和+lca的权值,就可以了B 2000非常水的一个贪心,显然到了第i位能有几个不同的前缀就用几个,然后大于k就对k取min即可,1~i构成的二进制数中间有多少个数?显然用类似快读的方法就可以计算了C 2900一个非常神奇的线段树,首先题目保证了每种权值都会出现,然后如果mex是x,肯定有一个简单路径上包含了111 ~ x−1x原创 2021-07-09 20:10:48 · 67 阅读 · 0 评论 -
苏格兰计划[副本] day2 CF949
day2 #469 div1(CF949)这场的分数标的有点虚假,感觉至少要往上加200左右……而且题目太长了!差评!A 1600用并查集维护一下某个点后面一个位置还活着的点的位置就可以了,然后贪心每次取最长的就可以了,然后取出来以后的串如果是1结尾就是-1,所有元素没法全取出来也是-1,然后就做完了B 1700打表找一下规律或者稍微思考一下,可以想到,一个点如果被移动到某个位置pos,他之前必然是最后一个点,并且他前面还是隔一个空一个的,不然说明有一个点先填补了不是最后一个空格的空格,所以说po原创 2021-07-08 20:35:39 · 61 阅读 · 0 评论 -
苏格兰计划[副本] day1 CF986
day1 #485 DIV1 (CF986)A 1600每次把所有相同颜色的点拿出来,在图上跑多源bfs,就可以得出所有点到该颜色最近点的距离,然后跑完每个点sort就行了B 1800交换一次会导致逆序对奇偶性发生一次变化,3n次相当于逆序对奇偶性和n一致,7n+1次相当于逆序对奇偶性和n+1一致,也就是和n相反,所以直接树状数组求逆序对即可C 2500想了一会的记忆化搜索,考虑逐一加入点,如果这个点能和之前的点连边,那么就连通块数不增加,否则就增加,然后存在边的条件是存在之前的点点权是他补集的原创 2021-07-07 17:44:29 · 55 阅读 · 0 评论