CF

CF486D 题解

题目传送门 题目分析 不算很难的树形 $\text{dp}$。 令 $dp_i$ 表示以 $i$ 为根的子树中联通子图的个数。 在更新的时候,考虑儿子的联通子图和自己的,则有: $$dp_u = dp_u \times (dp_v + 1)$$ 选根的时候将 $a$ 最大的作为根节点。还要注意另外一 ......
题解 486D 486 CF

CF1797E Li Hua and Array

个人思路: 线性筛求出来 $\phi(x)$,然后 $x$ 成为 $\phi(x)$ 的儿子,建树。 然后接下来就和 $\phi$ 没关系了,令第 $i$ 个数初始直接对应点在 $a_i$ 上。 1 操作相当于区间跳到父亲 2 操作相当于求区间内所有点到 LCA 的距离之和。 1 暴力删就行了,维护 ......
1797E Array 1797 Hua and

CF1599A. Weights

题意 给出n个物品,第i个重量a[i](互不相同) 每次任意选一个物品放到秤的左右两边,使得放完之后 左>右 或 左<右 给出a[i] 和 大小关系s[i],构造方案 题解 必定有解 把a排序,假设当前选了LRLRLR,发现在最后加L可以瞬间反转,在最前加R可以保持不变 即,当前选了一段连续的a[i ......
Weights 1599 CF

练习记录-cf-div2-856(A-C)

vp的 写出4道 C感觉目前不是能力范围 以后有机会留下来打比赛的话再说 A - Prefix and Suffix Array 给出字符串的前缀和后缀 问是不是回文 我采用枚举 长度为n-1和1的拼凑 但是这并不奏效 一直wa3 后来改用拼两个n/2的 就过了 如果有大佬看到了 希望能解答一下qw ......
cf-div 856 A-C div cf

练习记录-cf-div2-864(A-D)

状态不怎么好 场上就写出3道 还磨磨蹭蹭推错结论qwq 警钟长鸣 A. Li Hua and Maze 一开始以为要切割 发现就把其中一个包起来就行了 计算包某个块需要的最小块数 #include<bits/stdc++.h> #define close std::ios::sync_with_st ......
cf-div 864 A-D div cf

【cf864】赛后结

属实是失踪人口了,想了一下还是把题解打到这儿。conteset地址:https://codeforces.com/contest/1797 A. 题目大意:n*m的方格上给两个点,询问最少增加的障碍格子使得这两个点不连通。 解题思路:水题,但是手速有点慢。直接问靠不靠墙,靠几面墙,不靠墙答案4,靠一 ......
864 cf

【题解】CF472G Design Tutorial: Increase the Constraints

《正解分块 + FFT 跑 1min,__builtin_popcount 暴力跑 10s》 《没人写正解,CF 也不卡》 思路 正解:分块 + FFT 乱搞:__builtin_popcount 首先我们知道哈明距离可以用一种 $O(|字符集| |S|)$ 的算法求。 具体考虑枚举字符集中的每一个 ......
题解 Constraints Tutorial Increase Design

CF1810E 题解

一、题目描述: 给你一个 n 个点,m 条边的无向图,点带权,起点可任意选择。 每走过一个新的点,你的能力值会 +1 。一开始你的能力值为 0 。 你只能经过点权小于等于你能力值的点。每条边,每个点都可以经过无限次,问能否走遍整个图。 如果可以,输出 "YES" 。否则输出 "NO" 。有 t组数据 ......
题解 1810E 1810 CF

cf-edu-146b

题目链接:https://codeforces.com/contest/1814/problem/B 只有残缺的思路,还不足以解决这道题。 完整思路:对于一个数x来说,如果一个数a除以它的余数为y,商为z,所需步数为y+z+(x-1),那么反过来(x变为它的商,z为除数,所需步数依然是不变的,可以举 ......
cf-edu 146 edu cf

CF1798C Candy Store

CF1798C Candy Store 点击查看代码 #include<bits/stdc++.h> #include<vector> #include<map> #include<queue> #define int long long #define inf 1e18 #define inc 0 ......
1798C Candy Store 1798 CF

4月CF杂题

Codeforces Round 862 (Div. 2) E. There Should Be a Lot of Maximums 题意:定义一棵点有颜色的树的 $\text{MAD}$ 为树上编号最大的出现了至少两次的颜色。对于树上每条边,求出断开它后生成的两棵树的 $\text{MAD}$ 的 ......

cf-div.3-863d

题目链接:https://codeforces.com/contest/1811/problem/D 思维题,昨天被E题搞太久了,这题认真想的话应该可以出的。 思路:不断循环,判断x和y是否在合法区间内。 代码: #include <bits/stdc++.h> using namespace st ......
cf-div 863 div cf

CF1200E Compress Words 字符串哈希/双重哈希

题目地址 题意:给你若干个字符串,答案串初始为空。第i 步将第 i 个字符串加到答案串的后面,但是尽量地去掉重复部分(即去掉一个最长的、是原答案串的后缀、也是第 i 个串的前缀的字符串),求最后得到的字符串。 Solution 字符串哈希练习题,做完之后对哈希的理解更深刻了 因为求原字符串的后缀和第 ......
字符串 字符 Compress 1200E Words

CF 1807

https://codeforces.com/contest/1807/problem/G1 easy -version 同《货币系统》 背包 f[ j ] 每个数字合成的次数 #include <iostream> #include <cstring> using namespace std ; ......
1807 CF

Hot Start Up (easy version) CF1799

你有两个 CPU,n个程序(m个类型)要运行。 在不同条件下程序运行的时间不同,但连续运行的时间满足小于等于在不连续状态下运行的时间。 #include <iostream> #include <cstring> #include <queue> using namespace std; const ......
version Start 1799 easy Hot

CF1808C 题解

可以考虑从小到大枚举差值$i$,再枚举最小数字$j$,这样当前的最大数字就是$i+j$,然后进行搜索,看在满足当前状态下是否能找到一个合法的数字,实际上就是在进行数位DP。 搜索中一些变量的解释:pos表示当前位,mx最大数字,mi最小数字,p前面枚举的数字是否在下界,q上界,now已经枚举的数字, ......
题解 1808C 1808 CF

cf-div.2-862d

题目链接:https://codeforces.com/contest/1805/problem/D 赛时没过的题。 思路:首先发现一个性质:对于k来说,如果树上的一个点到树的直径的两个端点的距离都小于k的话,那么这个点一定是一个孤立点。 证明:采用反证法:假设$x,y$为树的直径的两个端点,$a, ......
cf-div 862 div cf

练习记录-cf-div2-682(A-D)

终于场上写出4道,听说E是树链剖分,学的不够深,学完再补 感动感动 A. We Need the Zero 题意:求一个数 所有数异或上这个数 使得所有数是异或和为0 分奇偶考虑,奇数个的情况下,异或这么多次,相当于只异或了1次x,那么先求出原数组的异或和,再异或一遍就是0了,x就是原数组的异或和、 ......
cf-div 682 A-D div cf

Codeforces Round 862 (Div. 2)(CF1805) A-C题题解

CF1805A #include <bits/stdc++.h> #define debug(x) cout << "The variable \"" << #x << "\" of the \"" << __FUNCTION__ << "\" function in line " << __LIN ......
题解 Codeforces Round 1805 862

[I]CF With AT

Educational Codeforces Round 127 (Rated for Div. 2) A 显然,长度 $2$ 和 $3$ 能拼出任意长度字符串,所以无解情况考虑有没有单独的长度为 $1$ 的即可。 /* by L1rs1ngzN1sLyr */ #include<bits/stdc ......
With CF AT

CF594A Warrior and Archer 题解

由于本人在思索了很久后才把本题思路打通,所以为了帮助像我一样没有非常理解解法的人,我打算再将解法非常详细地叙述一遍,如果您无法理解解法,请跟着我再一步步将题目捋顺。 Step.1 解题意 题目要求其实很好理解,共给出 $n$ 个点的位置,A,B两个人轮流取点,A要求最后剩下的两个点尽量近,B要求最后 ......
题解 Warrior Archer 594A 594

CF1271B.砖块(贪心递推实现)

大致思路 按照题意,每次只能操作相邻的两个砖块,有n-1种操作。将相邻的两个砖块翻转两次等同于没有翻转。所以只要保证遍历一次后最后一个砖块为目标砖块,即可以在3n次操作内完成目标。 ==例如:第i个砖块为'W',而目标砖块c为'B'。于是将i和i+1位置的砖块颜色分别反转。== 代码实现 #incl ......
砖块 1271 CF

CodeTON Round 4 (Div. 1 + Div. 2, Rated, Prizes!)(CF1810)A~D题题解

今天采用的是新格式。 CF1810A Beautiful Sequence 点击查看原题 点击查看思路 如果一个数字的值 $v$,不大于当前的位置 $p$,那我们可以通过删除 $p - v$ 个数字,使它们两个对应上。 比如 $[1, 7, 2, 5, 3]$ 中的 $3$,其数值为 $3$,位置为 ......
题解 Div CodeTON Prizes Round

cf-div.2-860d

题目链接:https://codeforces.com/contest/1798/problem/D 贪心,比赛时一直搞C没搞出来,回头看D反而更简单。 贪心策略:能填正数就填,填不了填负数。 大致证明:构造的区间一定呈一个这样的特定区间,正...负正负负...负正....负负,证明一段区间为正且小 ......
cf-div 860 div cf

CF1187E

换根dp #include<iostream> #include<algorithm> #include<cstring> #include<queue> #define IOS std::ios::sync_with_stdio(0) using namespace std; #define in ......
1187E 1187 CF

CF453B

Solution 观察范围 $a_i\le 30$ 比较特殊,于是我们可以试着考虑 $b$ 的范围。 直觉告诉我们 $b$ 不会很大,当 $b_i\le 59$ 时,有 $|a_i-b_i|\le 29$。当 $b_i > 59$ 时,$|a_i-b_i|> 29$,但是如果这时我们将 $b_i$ ......
453B 453 CF

cf-div2-860c

题目链接:https://codeforces.com/contest/1798/problem/C 大致题意:给你一个长度为$n(n<=2e5)$的序列的$a_i,b_i$,让你把这个序列分成数目最少的段,每一段都有一个值$c$,$c=a_i的一个约数乘以b_i$。 比赛没写出的题。 思路:$首先 ......
cf-div 860 div cf

CF629C题解

CF629C 这里更容易进入且有翻译 题意 给定长度为 $m$ 的仅含 ( 和 ) 的字符串,为其左右补上两个字符串使其达到指定长度 $n$ 且合法, 需补足字符串合计长度 $n - m$ 满足 $n - m \le 2000$。 解析 字符串合法条件为: 左右括号总数相等; 从左数起在任意位置上左 ......
题解 629C 629 CF

Bottles CF730J

有 n 瓶水,第 ii 瓶水的水量为 ai,容量为 bi​。 将 1 单位水从一个瓶子转移到另一个瓶子所消耗时间为 1秒,且可以进行无限次转移。 求储存所有水所需最小瓶子数 k 以及该情况下所用最小时间 t。 第一问直接贪心 第二问 dp f[i ][j ][k] k为已经选的装水的瓶子数,J为水的 ......
Bottles 730J 730 CF

cf-div.2-861

题目链接:https://codeforces.com/contest/1808/problem/C 又是被打爆的一场比赛。。。(本题想了一个多小时也没有想到最核心的地方。) 大致题意:让你从$[l,r]$选择一个数字,使得它其中的数位的最大值减最小值最小。 $l,r$的范围都取到long long ......
cf-div 861 div cf