- 2020,2021 年 CF 简单题精选 做题记录
2023.10.12开坑,打了几场div.2之后一直觉得这方面水平差太多,今天刚好在洛谷看到这个题单就准备开始做了,里面从黄到黑都有,我会尽量都做,并在这里记录。总共49题,我可能平时有时间就做一两题,估计是个长期坑了((。题单链接[Y]表示独立完成,[N]表示看题解之后完成。......
- CFS(二)load_weight与vruntime
前言在理清楚了CFS的基本实现以后,调度类fair_sched_class中规定了调度器的基本操作集合,cfs_rq实现了被操作的就绪队列。剩下的就是研究操作集合中的具体实现,看看CFS是如何管理这些队列中的进程的。本文主要解释了两个问题:什么样的任务归CFS管?CFS如何实现队列内部的优先级划分?......
- Prefixes and Suffixes (CF D) (字符串翻转找性质)
思路:利用操作使得题目更好分析,t的后缀,反转t,来看t的前缀, 实际操作的时候,把s和t的前缀在反转一下进行交换就可以了,发现性质1C(si,ti)他们的相对位置不会变化,一直是匹配的然后利用翻转的性质,一定会产生任意我想要的排列 (从后开始构造,先把目......
- 题解 CF486D Valid Sets
题目链接相当牛逼。这种找数量的题型,确定树形\(dp\)没跑了。首先思考常规树形\(dp\),不难想到设\(f_{u,a,b}\)表示以\(u\)为根节点的子树内(包括点\(u\)),最大值是\(a\),最小值是\(b\)的连通子图数量,转移很容易,但是这样时间空间复杂度是\(\rmO(n^3)\),而且无论是状态上......
- Slime Escape (CF D) (贪心, 双指针最大有效权值单调增长)
补充:每次操作可以往左或者右走一步 思路:性质:以一边为重点使劲走,然后利用另外一边来给自己权值变大当这边要死了,就把这边回退到最大值,在走另一边,看另一边能到哪,这样每次都可以扩展最大值,于是利用双指针?也不是双指针,就是l,r分别贪心地向左和......
- [CF1098E] Fedya the Potter 题解
[CF1098E]FedyathePotter题解前言一道类欧好题。题解这道题让求\(c\)数组的中位数,那么有一个比较套路的方法就是二分答案\(mid\)然后计算\(b\)数组中区间和小于\(mid\)的区间个数进行\(check\)。但是\(b\)数组总共有\(\mathcal{O}(n^2)\)项,考虑如何优化。因......
- CF882E1+CF1882E2 Two Permutations 题解-构造题
CF882E1+CF1882E2TwoPermutations题解-构造题哇,人类智慧,太智慧了。。。此题作为20231010联考的T3。感觉赛时根本没有去往这方面想。CF1882E1CF1882E2E1是简单版,就是没有要求操作数最小化。E1-EasyVersion方法1首先考虑没有次数限制的,对于单独的每一个串的情况。......
- CF1333A [Little Artem]
Problem题目简述给你一个\(n\timesm\)的方格,构造一个方案,使得方案中\(B=W+1\)。\(B\):相邻的格子有至少一个白色格子的黑色格子的个数。\(W\):相邻的格子有至少一个黑色格子的白色格子的个数。思路分奇偶讨论。\(n\timesm\)是偶数:构造一张黑、白相间的矩阵,左上......
- CF1766B [Notepad#]
Problem题目简述给你一个整数\(n\)和字符串\(s\),问:能不能在小于\(n\)次操作的情况下,输出字符串\(s\)。有两次操作可供使用:在已打出内容的最后添加一个字符。复制已打出内容的一个连续的子串并加到内容的末尾。思路用到的容器:\(\text{map}\)。用\(\text{map}\)来......
- CF1401B [Ternary Sequence]
Problem题目简述两个序列\(A,B\)。这两个序列都是由\(0,1,2\)这三个数构成。\(x_1,y_1,z_1\)和\(x_2,y_2,z_2\)分别代表\(A\)序列和\(B\)序列中\(0,1,2\)出现的次数。你可以重新排列两个序列中的元素,然后生成一个新序列\(C\),\(C\)的生成规则如下:\[C_i......