1178h cf
CF1801C 做题笔记
题目链接 一道需要挖掘一些性质的 dpt,居然独立想出来了。 本蒟蒻太菜了只会树状数组的做法,单调栈不会。 先考虑只管对答案有贡献的音乐,这当然是正确的,因为我们可以把对答案没有贡献的音乐放到最后。 对于每一首乐曲,我们也能对它进行一个简单的处理来模拟听的过程,维护一个值 $lst$,每次输入的数 ......
CF938F Erasing Substrings 题解
Erasing Substrings 一个神奇的想法是设 \(f_{i,j}\) 表示在位置 \([1,i]\) 中,我们删去了长度为 \(2^k(k\in j)\) 的一些串,所能得到的最小字典序。使用二分加哈希可以做到 \(O(n^2\log^2 n)\),无法承受。 发现对于状态 \(f_{i ......
CF261D Maxim and Increasing Subsequence 题解
Maxim and Increasing Subsequence 首先,我们可以发现,当这个重复次数很大的时候,答案就等于序列中出现的不同权值个数。实际上,这个“很大”就可以被当作“大于等于不同权值个数”。 不同权值个数实际上是 \(\min(n,m)\) 级别的,其中 \(n\) 是序列长度,\( ......
CF979E Kuro and Topological Parity 题解
Kuro and Topological Parity 我们考虑在一张染色完成的图里,我们连上了一条边,会有何影响? \(\bullet\) 在同色节点间连边——明显不会有任何影响。 \(\bullet\) 在异色节点间连边,但是出发点是个偶点(即有偶数条路径以其为终点的节点),终点的路径数增加了, ......
CF264B Good Sequences 题解
Good Sequences 状态很显然,设 \(f[i]\) 表示位置 \(i\) 的最长长度。 关键是转移,暴力转移是 \(O(n^2)\) 的,我们必须找到一个更优秀的转移。 因为一个数的质因子数量是 \(O(\log n)\) 的,而只有和这个数具有相同质因子的数是可以转移的; 因此我们可以 ......
CF908D New Year and Arbitrary Arrangement 题解
New Year and Arbitrary Arrangement 思路: 期望题果然还是恶心呀! 我们设 \(f[i][j]\) 表示当串中有 \(i\) 个 \(a\) 和 \(j\) 个 \(ab\) 时的方案数。为了方便,设 \(A=\dfrac{P_a}{P_a+P_b},B=\dfra ......
Maximums and Minimums (CF E)
思路: 分别求出 最小区间 和最大区间, 利用单调zai 处理即可 然后 在利用 调和级数 , 求最小值的倍数 后记: 为什么我不2个元素都求一个区间呢? ......
2020,2021 年 CF 简单题精选 做题记录
2023.10.12 开坑,打了几场 div.2 之后一直觉得这方面水平差太多,今天刚好在洛谷看到这个题单就准备开始做了,里面从黄到黑都有,我会尽量都做,并在这里记录。总共 49 题,我可能平时有时间就做一两题,估计是个长期坑了((。 题单链接 [Y] 表示独立完成,[N] 表示看题解之后完成。 ......
Prefixes and Suffixes (CF D) (字符串翻转找性质)
思路: 利用操作 使得题目更好分析, t 的后缀,反转t , 来看t 的前缀, 实际操作的时候, 把s 和 t 的前缀在反转一下进行交换就可以了, 发现性质 1 C(si, ti) 他们的相对位置不会变化, 一直是匹配的 然后利用 翻转的性质, 一定会产生任意我想要的排列 (从后开始构造, 先把目标 ......
题解 CF486D Valid Sets
题目链接 相当牛逼。 这种找数量的题型,确定树形 \(dp\) 没跑了。 首先思考常规树形 \(dp\),不难想到设 \(f_{u,a,b}\) 表示以 \(u\) 为根节点的子树内(包括点 \(u\)),最大值是 \(a\),最小值是 \(b\) 的连通子图数量,转移很容易,但是这样时间空间复杂度 ......
Slime Escape (CF D) (贪心, 双指针最大有效权值单调增长)
补充: 每次操作可以往左 或者 右 走一步 思路: 性质: 以一边为重点使劲走, 然后 利用另外一边来给自己权值变大 当 这边要死了, 就把这边回退到最大值, 在走另一边, 看另一边能到哪, 这样每次都可以扩展最大值, 于是利用双指针? 也不是双指针, 就是 l,r 分别贪心地向左 和 向右 扩张 ......
[CF1098E] Fedya the Potter 题解
[CF1098E] Fedya the Potter 题解 前言 一道类欧好题。 题解 这道题让求 \(c\) 数组的中位数,那么有一个比较套路的方法就是二分答案 \(mid\) 然后计算 \(b\) 数组中区间和小于 \(mid\) 的区间个数进行 \(check\)。但是 \(b\) 数组总共有 ......
CF882E1+CF1882E2 Two Permutations 题解-构造题
CF882E1+CF1882E2 Two Permutations 题解-构造题 哇,人类智慧,太智慧了。。。 此题作为20231010联考的 T3。 感觉赛时根本没有去往这方面想。 CF1882E1 CF1882E2 E1 是简单版,就是没有要求操作数最小化。 E1-Easy Version 方法 ......
CF1766B [Notepad#]
Problem 题目简述 给你一个整数 \(n\) 和字符串 \(s\),问:能不能在小于 \(n\) 次操作的情况下,输出字符串 \(s\)。 有两次操作可供使用: 在已打出内容的最后添加一个字符。 复制已打出内容的一个连续的子串并加到内容的末尾。 思路 用到的容器:\(\text{map}\)。 ......
CF1333A [Little Artem]
Problem 题目简述 给你一个 \(n \times m\) 的方格,构造一个方案,使得方案中 \(B = W + 1\)。 \(B\):相邻的格子有至少一个白色格子的黑色格子的个数。 \(W\):相邻的格子有至少一个黑色格子的白色格子的个数。 思路 分奇偶讨论。 \(n \times m\) ......
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\) 出现的次数。 你可以重新排列两个序列中的元素,然后生成 ......
CF85B [Embassy Queue]
Problem 题目简述 有 \(n\) 个人分别在 \(c_i\) 的时刻来,他们都要在 \(k_1\),\(k_2\) 和 \(k_3\) 窗口干不同的事,当有后面一人也排在在同一窗口时,必须等待前面的人办完事才能轮到他。 问怎么在最优分配情况下,使停留时间最长的人停留时间最短。 思路 这道题的 ......
CF1610B [Kalindrome Array]
Problem 题目简述 给你一个数列 \(a\),有这两种情况,这个数列是「可爱的」。 它本身就是回文的。 定义变量 \(x\),满足:序列 \(a\) 中所有值等于 \(x\) 的元素删除之后,它是回文的。 思路 首先考虑暴力。暴力枚举数组中的每一个数,当作变量 \(x\),然后进行回文检验。 ......
CF48C [The Race]
Problem 题目简述 现有 \(n\) 个已经加过油的加油站,如果当前剩余油量 \(< 10\) 升,则会加 \(x\) 升的油。 初始状态下,有 \(x\) 升油。每个加油站之间的距离为 \(100\) 米,耗油量为 \(10\) 升。 思路 首先,从左向右求出能到达的编号最小的车站,记为 \ ......
CF1707B [Difference Array]
Problem 题目简述 设序列 \(a\) ,并且是单调递增的。设 \(a\) 当前长度为 \(l\),你要对 \(a\) 作差分,即令 \(b_i = a_{i+1} - a_i(1\le i < l)\),然后使 \(b\) 数组保持单调递增。 一直持续操作,直到 \(a\) 数组中只有一个元 ......
CF1796D 做题笔记
题目链接 一眼题,但这个 $k$ 迷惑了我很久。 由于我初始的思路没考虑 $x<0$,所以我们先默认 $x>0$。 考虑任意一个是最优答案的最大子段和,如果它的长度 $<k$ 那么它的每个元素一定都加上了 $x$,如果它的长度 $>k$,那么它的 $k$ 个元素一定加上了 $x$,剩余的一定减去了 ......
开学过半 (cf补题和算法训练)
Problem - A - Codeforces 题意: 给你一个n/2个元素的b数组,然后让你构造出一个n个元素的排列数组 其中这些p数组里的数有以下要求 注意这个p数组要求你搞字典序最小,也就是最好小的元素在前面 如果b = [4,3,6],那么可以从中得到的词法最小排列是p = [1,4,2, ......
2023.9-10CF做题记录
Codeforces Round 898 (Div. 4) (CF1873) Coinred001,堂堂出道( 前面的水题打得太慢了(因为缺乏经验) A. Short Sort 水题,手动枚举6种情况是最快的能AC的。 B. Good Kid 看数据范围,\(O(n^2)\) 枚举即可。(Div4不 ......
题解: CF768D Jon and Orbs
题解: CF768D Jon and Orbs 一句话体面:有k种不同的物品,每天等概率任取一种(不一定是新的种类)。q组询问,每组给出一个p,问取完这k件物品的概率不小于\(\frac{p}{2000}\)的最小天数 不用说,肯定是概率DP了 1.定义 :\(f_{i,j}\) 表示前\(i\)天 ......
[CF1870F] Lazy Numbers
Lazy Numbers 我觉得本题难度在于银剑的构造...... 我们把 k 进制下的数去掉前导零放在 Trie 树上,并且越高位的深度越小,这样我们看出某个节点的 dfs 序就是排名,称排名减数值为 va。我们需要求 va=0 的点数。 不难发现某一深度从左往右的 va 单调不降,所以可以二分求 ......
CF1054D Changing Array
题意 给定 \(n\) 个小于 \(2 ^ k\) 的数。 可以任意让若干数 \(xor\) \(2 ^ k - 1\)。 问使得最终区间 \(xor\) 不为 \(0\) 的最大个数。 Sol 考虑前缀异或和。 记异或和的数组为 \(s\)。 现在一个区间的贡献变为 \(s_r \oplus s_ ......
CF1842G Tenzing and Random Operations 题解
题意 给定一个长度为 \(n\) 的正整数序列 \(a\),对该序列进行 \(m\) 次操作,定义每次操作如下: 从 \(\left[1, n\right]\) 中等概率选取一个 \(i\),对于 \(j \in \left[i, n\right]\),执行操作 \(a_j \leftarrow a ......
CF 1877 D
D. Effects of Anti Pimples 第一步先把所有的数据进行预处理,将单个位置选为黑色元素时的得分计算出来存入到数组\(b\)中。时间复杂度为\(O(nlog(n))\)。 之后将\(b\)进行排序,然后答案即为\(\sum\limits_{i=1}^{n}b[i]*2^{i-1} ......
CF1886C Decreasing String
单调栈的应用。 显然可以 \(O(n)\) 地找到 \(pos\) 所属的 \(s_i\) 段,所以我们只需要得到 \(s_i\) 即可。不难发现,删除元素的规则应该是从 \(1\) 到 \(n\) 枚举每个元素,删除它前面“紧邻的”比他大的元素(例如对于 eadcb 中的 b 删除掉 dc)。 赛 ......