cf-div 2866 div cf
CF466D Increase Sequence
题意 给定一个序列 \(a\),每次操作可以将区间 \([l, r]\) 中的所有元素加一,要求最后使所有元素等于 \(h\)。 要求: 任意两个区间的左右端点互不重合(\(l1 \neq l2\) 且 \(r1 \neq r2\)); 对 \(10^9 + 7\) 取模。 思路 首先,可以考虑预处 ......
CF1523C Compression and Expansion
前言 多测不清零,亲人两行泪。 题意 对于一个空的数字串,有两种操作: 删除末尾的 \(n\) 个 \((n \ge 0)\) 元素,并将修改后数字串的最后一个元素加一; 在数字串末尾添加一个数字 \(1\)。 输入 \(n\) 个元素,表示第 \(n\) 次操作后数字串末尾的元素。 思路 首先考虑 ......
CF1912L LOL Lovers
题目传送门 题目大意 给定一个长度为 \(n\) 的、只有 O 和 L 组成的字符串,求出一个 \(i\),使得 \(i\) 左侧和右侧 O、L 的数量互不相等且每侧至少有一个 O 和一个 L。 思路 注意 \(n\) 的范围是 \(2 \le n \le 200\),数据范围很小,暴力的时间复杂度 ......
CF1144D Equalize Them All
第一次看的时候确实被题面吓了一跳,没有好好思考就放弃了。其实题目还是蛮简单的。 题意 对于两种操作,我们可以进行分类讨论。 当 \(a_i > a_j\) 时 操作一:将 \(a_i\) 变为了 \(2 \times a_i - a_j\); 操作二:将 \(a_i\) 变为了 \(a_j\)。 当 ......
昨天的cf总结以及接下来的提升计划
最近两次cf真的是给我打醒了 有一种前面上分都是靠运气的感觉 虽然知道确实不是靠运气。。 但是最近两次的大失败确实是非常值得反思的,也需要我直面和反思,不然没有进步 就结果来说,是非常非常离谱的失败,两次掉了我几乎300分 从过程上看,有什么问题?首先,是D题总是写不出来,C题也是经常非常勉强,从排 ......
CF1017G The Tree
题意 给定一棵树和 \(3\) 个操作。 如果点 \(x\) 是白色,将她染红,否则对她地儿子做这个操作。 将点 \(x\) 子树内所有点染白。 询问 \(x\) 的颜色。 Sol 考虑对询问分块。 不难想到将当前块内的点建一棵虚树,然后再重构。 暴力建虚树即可。 Code #include <io ......
[Codeforces] CF1553D Backspace
CF1553D Backspace 说实话这题不配绿题 题目传送门 题面 给你两个字符串 \(S,T\) ,问你能否通过将 \(S\) 中的若干个数换成 Backspace 来使其变成 \(T\) 。Backspace 能删去前一个输入的字符。 思路 很明显,如果将一个字符换成Backspace,那 ......
[Codeforces] CF1551C Interesting Story
CF1551C Interesting Story 题目传送门 题意 给定 \(n\) 个仅由 \(\texttt{a,b,c,d,e}\) 组成的单词 (\(n \le 2\times 10^5\)),从其中选出尽可能多的单词,使得存在某个字母在这些单词中出现的次数比其他所有字母的出现次数之和还要 ......
CF1801F Another n-dimensional chocolate bar
更好的阅读体验 CF1801F Another n-dimensional chocolate bar 高妙的数论分块优化 DP。 第一步设计状态就有很大问题,如果直接设 \(f_{i,j}\) 表示前 \(i\) 个数成绩为 \(j\) 那就死了。这完全没有利用到整除的性质。正确做法是设 \(f_ ......
CF1146B 题解
题目简述 给定一个字符串 \(t\),由一个字符串 \(s\) 和这个字符串去掉所有 a 组成。求字符串 \(s\)。 思路 首先我们分析给定的字符串 \(t\),它由 \(s\) 和 \(s\) 去掉所有 a 形成的字符串 \(s'\) 组成。那么当整个字符串 \(t\) 去掉 a 后,就得到了 ......
CF1068A 题解
其实很简单的一道题。 思维路径 其实题目主要要考虑的就是以下三个条件。 每个人都要送一样多的硬币。 每个硬币都必须是不同的。 所有人送的硬币至少有 \(L\) 个是 Ivan 没有的。 我们一个一个来看。 每个人都要送一样多的硬币。 一共有 \(M\) 个朋友,所以说总共送的硬币的个数为 \(M\) ......
CF940F Machine Learning题解
题目链接:洛谷 或者 CF 不是特别难的题,抽象下题意就是算区间次数出现的次数 mex 和带单点修改。看到范围 \(1e5\) 还带修改,传统的 mex 求法里貌似就莫队类算法好带修,考虑带修莫队。 然而涉及到 mex 问题,你可能不由自主地想到回滚莫队求 mex 只删不加的板子题:P4137 Rm ......
CF940FMachine Learning题解
题目链接:洛谷 或者 CF 不是特别难的题,抽象下题意就是算区间次数出现的次数 mex 和带单点修改。看到范围 \(1e5\) 还带修改,传统的 mex 求法里貌似就莫队类算法好带修,考虑带修莫队。 然而涉及到 mex 问题,你可能不由自主地想到回滚莫队求 mex 只删不加的板子题:P4137 Rm ......
cf goodbye 2023(A-C)
cf goodbye 2023(A-C) A - 2023 算法分析: 多组答案输出一组即可 先累乘,如果不是2023的除数也就是2023的因子就直接no 如果是2023的因子 先输出1 再输出2023/累乘的除数 #include<bits/stdc++.h> using namespace st ......
CF750F Solution
Preface 咕咕咕咕咕咕咕了半年有余。不得不说这题真的会把你调炸!!!!!!11 本题解中的所有 Hints 以白字显示。所以它可能不适合手机观看。 以及,首黑,2022 年 7 月 31 日 15:51。 Solution 算法一 询问次数 $2^h - 2$,适用于 $h \leq 4$。 ......
CF1665E MinimizOR 题解
CF1665E 直接做不是很好下手,考虑找些性质。 有一个比较显然的贪心,就是按位从高到低的考虑,如果当前位至少有 \(2\) 个 \(0\),就可以去掉该位为 \(1\) 的数。但是时间上显然是不行的。 假如没有重复的数,可以发现扫到最后一位时,剩下的数的数量是 \(\log V\) 的,证明省去 ......
CF1870F Lazy Numbers 题解
CF1870F 题意:给一个长度为 \(n\) 的排列,求在其在 \(k\) 进制下按字典序排序后 \(\sum[p_i=i]\) 的值(\(n\le10^{18}\))。 直接做是不好办的,只能在一些数中找到 \(p_i\) 的大小关系。 在手摸的过程中会发现一些长度相等的数之间会插入一些其它长度 ......
P7816/CF1610F「Stoi2029」以父之名 题解
CF1610F P7816 *3000 令 \(w_u\) 表示与 \(u\) 直接相连的边的权值和。显然当 \(2\mid w_u\) 时,这个节点是无法满足条件的,因为每次调整只能对 \(\mid d^+(u)-d^-(u)\mid\) 的值造成偶数的影响。 这时候肯定会猜答案就是 \(\sum ......
Codeforces Round 917 (Div. 2)
Codeforces Round 917 (Div. 2) 康复训练 A. Least Product #include <bits/stdc++.h> #define endl '\n' using namespace std; int n; void solve(){ cin >> n; int ......
CF1045G AI robots题解
题目链接:洛谷 或者 CF 本题考虑转化为 cdq 分治模型 对于 cdq 分治来说,只需要考虑左边对右边的影响,那我们要考虑该怎样设置第一维度的左右对象。很显而易见的是抛开 \(q\) 限制而言,我们着眼于,如何让双方互相看到的严格条件转化为只需要关注单体看见。考虑什么情况下只需要一方看到对方,对 ......
CF1270G Subset with Zero Sum
G. Subset with Zero Sum 很妙。 一开始冲着背包去想的,显然不行。 考虑他条件给的这个 \(i − n \le a_i \le i − 1\) 化简一下得到 \[1 \le i - a_i \le n \]题目要去求 \[\sum \limits_{i \in S} a_i = ......
CF817F MEX Queries
题意 一个集合,初始为空。 请你维护以下 \(3\) 种操作。 把 \([l, r]\) 中在集合中没有出现过的数添加到集合中。 把 \([l, r]\) 中在集合中出现过的数从集合中删掉。 把 \([l, r]\) 中在集合中没有出现过的数添加到集合中,并把 \([l, r]\) 中在集合中出现过 ......
CF1270G Subset with Zero Sum
题目链接:洛谷 或者 CF 比较朴素的题,首先观察题目条件: \[ i-n \le a_i \le i-1 \Rightarrow 1 \le i-a_i \le n \text{,所以易知 } i-a_i \text{ 必定是某一点} \]考虑构造题目所说 \[\sum_{i=x_1}^{x_{t ......
Codeforces Round 918 (Div. 4)
D. Unnatural Language Processing 给字符串元素按要求间隔”.“ #include<bits/stdc++.h> using namespace std; void solve(){ int n; string s; cin>>n>>s; string o=s; for ......
Codeforces Round 917 (Div. 2)
A. Least Product 求乘积最小,可以改数组元素 #include<bits/stdc++.h> #define int long long using namespace std; void solve(){ int n; cin>>n; int ans=1; for(int i=1; ......
CF1392H ZS Shuffles Cards 题解
题目链接 点击打开链接 题目解法 很牛逼的概率题,参考了题解区 定义取到鬼牌,重新洗牌,为一轮 则 \(ans=E(\)轮数\()\times E(\)这一轮取到鬼牌的期望步数\()\),轮数为在 \(S=\{1,...,n\}\) 之前取到鬼牌的次数 先计算 \(E(\)这一轮取到鬼牌的期望步数\ ......
CF1905E One-X
map<ll, pll> mp; pll calc(ll n) { if(mp.find(n) != mp.end()) return mp[n]; auto [lk, lb] = calc((n + 1) / 2); auto [rk, rb] = calc(n / 2); ll t = (q_p ......
CF1814F
挺巧妙的题。 首先可以根据每个点出现时间知道每条边出现时间。然后就是一个 SGT 分治了……吗?发现如果对于每个时刻记录此时有哪些点和 \(1\) 联通,每次都要 \(O(n)\) 的时间扫一遍,这样肯定是不行的。 那么怎么办呢?于是考虑在并查集合并一次的时候判断合并中的两个点中的一个是否与 \(1 ......
CF295B Greg and Graph 题解 floyd性质题
题目链接:https://codeforces.com/problemset/problem/295/B 题目描述可参见 洛谷 解题思路完全来自 aiiYuu巨佬的博客 一道很好地利用了 floyd 算法性质的题目。 floyd算法 示例程序: #include <bits/stdc++.h> us ......