replace 1707e cf

CF笔记

https://codeforces.com/problemset/problem/1819/B 分析:总面积总是不变的 考虑第一刀横着劈开 这样一块宽度是最大的 同理竖着劈开 高度是最大的 这样两种情况 通过算面积能够求出剩下的长宽度 考虑贪心 对于剩下的块 如果有长宽相匹配的就直接匹配 顺序不重 ......
笔记

练习记录-cf-Educational Codeforces Round 147 (A-D)

打的很烂的一场 C想了很久 D的贪心没有贪好 赛后一小时补起来了 谁是nc 我是nc! A. Matching 问有多少种情况能匹配 就计算?的个数 x10x10...... 如果第一个是? 那么就是9x10x10... 如果第一个是0 不能有前导0 就输出0 #include<bits/stdc+ ......

CF 580C- Kefa and Park, 1500 / 树的遍历 / 根节点到叶节点的路径上某性质的点不能连续超过 m 个

CF 580C- Kefa and Park 这个 1500 的题这么水? 这还不如 1200、1300 的思维题 我开始没考虑周全,这题给出的连边没有讲都是从父节点连向子节点,所有要建双边。 #include <iostream> #include <cstring> using namespac ......
节点 路径 性质 1500 Kefa

CF1797E 线段树 + 倍增 题解

Preface 有趣的一道 ds,赛后不看题解做出来了。 Solution 首先有一个性质:$\varphi(x)$ 经过 $\mathcal{O}(\log x)$ 次迭代后变为 $1$。 证明: 若 $x$ 为奇数,$\varphi(x)=x\sum_{i=1}^{k}\frac{p_i-1}{ ......
线段 题解 1797E 1797 CF

Text Editor (CF2E) (DP字符串2端分别dp)

思路: 首先贪心出性质, 通过模拟这个题意,一定是先右边弄完在去左边弄, 或者左弄完去右边弄, 于是左右2边分别dp一次 然后求和 dp[i][j],表示i 和 j 匹配的时的 最小操作次数 转移的时候有一个贪心结论,当 si != tj 时, 这个贡献时一个固定值, 正向:首先i- (公共的), ......
字符串 字符 Editor Text CF2E

CF1767F Two Subtrees

$\text{Solution}$ 高维莫队的一次尝试 最小众数似乎要求我们刻画能回滚的高维莫队 但这并不友好 修改有 $O(n^{\frac 7 4})$,询问只有 $O(n)$ 考虑友好的分块,那么就加个值域分块 询问便可以先得到众数的出现次数,然后逐块枚举找到存在众数的块,再在块中枚举数判断是 ......
Subtrees 1767F 1767 Two CF

CF 1820A-Yura's New Name, 800 / 思维 / ^-^ 或 ^^ 才合法

CF 1820A-Yura's New Name 处理方式 : 特殊情况提前判断 + 一般情况从首推到尾 #include <iostream> #include <cstring> using namespace std; const int N = 1e2 + 10; typedef long ......
思维 A-Yura 1820 Yura Name

CF1033G Chip Game 题解

传送门 CF1033G Chip Game 题目大意 有 $n$ 个石子堆,每堆有 $a_i$ 个石子。A 与 B 轮流取,A 每次只能取 $x$ 个,B 每次只能取 $y$ 个。 求对于所有 $x,y \in [1,m]$,A 必胜、B 必胜、先手必胜和后手必胜的数量。 $n \le 100,m ......
题解 1033G 1033 Chip Game

【题解】CF700E

Cool Slogans 给定一个字符串 $S$,要求构造字符串序列 $s_1,s_2,\ldots,s_k$,满足任意 $s_i$ 都是 $S$ 的子串,且任意 $i\in[2,n]$,都有 $s_{i-1}$ 在 $s_i$ 中出现了至少 $2$ 次(可以有重叠部分,只要起始、结尾位置不同即可) ......
题解 700E 700 CF

CF1810G The Maximum Prefix

题面传送门 挺好一题,综合了几种方法。 首先看到题会想到一个dp:设 $f_{i,j,k}$ 表示到了第 $i$ 个位置,历史前缀最大值为 $j$ ,当前前缀和为 $k$ 的概率,乘上期望就是答案。但是这个状态非常寄因为状态本身就有 $O(n^3)$ 了而且不易优化。所以我们需要另辟蹊径。 不妨假设 ......
Maximum Prefix 1810G 1810 The

CF 1195C-Basketball Exercise,状态机DP,1400

CF 1195C-Basketball Exercise 没怎么做过状态机 dp, 这个简单的题目甚至开始甚至搞出三维来。 #include <iostream> using namespace std; const int N = 1e5 + 10; typedef long long LL; / ......
C-Basketball Basketball Exercise 状态 1195

CF题解

E. Replace the Numbers 1900 思维 https://codeforces.com/problemset/problem/1620/E 题解:正着做比较困难,我们可以考虑从后往前做。一个数会被变成什么样子是取决于其后的2操作。2操作可以等价为一个变换,而位置越后的2操作相较前 ......
题解

CF449D Jzzhu and Numbers

CF449D Jzzhu and Numbers 黄金定律:给定序列求答案,但答案与序列顺序无关的题目,要么考虑把序列转权值序列,要么对序列排序。 二进制题按大小排序看起来就没啥用,那就转成权值序列。即,设 $c(i)$ 表示 $i$ 在 $a$ 中的出现次数。同时设 $V$ 为 $a$ 的值域。 ......
Numbers Jzzhu 449D 449 and

CF 1360E-Polygon,1300,思维题

CF 1360E-Polygon 如果一个 1 不是在最右边或最下边,则一定有一个 1 在他的紧邻着的下边或右边,否则不合法。 太妙了。 #include <iostream> using namespace std; const int N = 1e2 + 10; int T, n; char a ......
E-Polygon 思维 Polygon 1360 1300

cf-div2866-D

题目链接:https://codeforces.com/contest/1820/problem/D 比赛的时候读错题了,没看见他切一刀之后会把其中一个放进盒子里(也就是不能再切了)。 思路:首先原来的大矩形的其中一边肯定在盒子里的小矩形的其中一边里(也就是说答案最多只有两种),我们先找出最大的长和 ......
cf-div 2866 div cf

CF做题小记

资历太浅,没法给出什么高质量的内容( 本博客所记录的题目最低难度是 Div.2 的 C 题。 1.CF1768C. Elemental Decompress 显然,按照最大值从小到大排序之后会轻松很多。基本思路是这样,首先优先将第一个排列的值赋为最大值,然后选取第二个排列中能够使用的最小值。如果第一 ......
小记

CF题解

D. Guess the Permutation 2000 逆序性质 二分 https://codeforces.com/contest/1589/problem/D 题解:首先我们可以二分查找i的位置:当1->x逆序对>0,则在i右,否则在左,log(n)次询问。找到i的位置后,我们发现逆序对有如 ......
题解

CF 1526B I Hate 1111, 1400

I Hate 1111, 1400 数论题应该要有一个重要思想:打表。这题我可以打表发现 1099 之后的数是连续出现的。 赛瓦韦斯特定理:a, b 为大于 1 的正整数, gcd(a, b) = 1, ax + by = c, 最大使得方 程无正整数解的数为 c = ab - a- b。 ......
1526B 1526 1111 1400 Hate

CF 476B Dreamoon and WiFi

Dreamoon and WiFi 一个简答的组合数学题。开始想弄一个很妙的做法,但是我理解不了,或者说理解困难,半天没搞出来,然后试着还是用朴素好想的做法做吧,结果马上做出来了。 选择朴素的做法时还是有个地方想不清楚,分类讨论 + 举例一下子清楚了。 ......
Dreamoon 476B WiFi 476 and

CF1646E Power Board 题解

题目链接:https://codeforces.com/contest/1646/problem/E 题目大意: 有一个 $n \times m$ 的矩阵,其中第 $i$ 行第 $j$ 列的格子中的数字是 $i^j$。 问:矩阵中存在多少个不同的数? 解题思路: 可以很明显地发现,第 $1$ 行的数 ......
题解 1646E Board Power 1646

CF1728D

博弈论dp模板题 首先我们可以先确定dp状态 dp[round][L][R][0/1]表示第round轮,现在字符串为[L~R],上一轮的人取了左边还是右边 然后发现round是可以由字符串L~R确定而来的,因为每一轮只删除一个数,因此可以优化round这维 我们令dp[L][R][0/1]=1为  ......
1728D 1728 CF

CF R866 div.2

A 当一个"_ "的右边没有“^”时,答案增加,发现这对于中间的序列是充分必要的。 当位置 $1$ 为 "_"时,我们必须在其前面加一个"^";当整个字符串为 "^"时,特判一下答案。 B 发现给定01串当全是“1”时,我们直接输出 $nn$。考虑一般的情况,我们发现将面积表示出来 $S=a+b,a ......
R866 866 div CF

CF题解

D. AB Graph 2000 构造 https://codeforces.com/problemset/problem/1481/D 题解:由于只有两种边,我们可以枚举较小结构的特性并循环来构造整体解。对于任意两个点,[u->v,v->u]只有4种情况,对于[1,1],[0,0]直接得解,可以循 ......
题解

CF1816F Xor Counting - dp - 分治 -

题目链接:https://codeforces.com/contest/1816/problem/F 题解: 一道有趣的题。 首先发现 $m=1$ 和 $m\geq 3$ 时结论是平凡的。$m=1$ 时结论显然,下面讨论一下 $m\geq 3$ 时: 首先可以构造 $[x, (n-x)/2, (n- ......
Counting 1816F 1816 Xor CF

CF1815C

1 解法 设 $f_i$ 为 $i$ 最多出现多少次,那么一个限制 $(u,v)$ 可以写成 $f_u \leq f_v +1$,把 $f$ 看做最短路中的 $dis$ 数组,上面的式子就是在图上连一条从 $u$ 到 $v$ 边权是 $1$ 的边,由于边权都是 $1$,所以可以直接用 $\text{ ......
1815C 1815 CF

题解 CF1090D【Similar Arrays】

一道简单构造题。 如果 $m=\frac{n(n-1)}{2}$,此时任意两个数都要有偏序关系,但是又要求第二个数列有两个数相等,因此无解。 否则一定有解。不难想到构造两个数列使它们几乎完全相等。可以找到两个没有偏序关系的下标 $(i,j)$,在第一个数列中分别赋值为 $n-1,n$,在第二个数列中 ......
题解 Similar Arrays 1090D 1090

训练记录-cf-di2-866(A-C)

手速场 但是wa了两发 血亏 上蓝了 纪念一下( 不过我还是菜鸡 什么都不会orz A. Yura's New Name 题意:要形成^^或者^_^的笑脸 最少加多少个^ 思路:特判单个^输出1 单个_输出2 首是_ +1 尾是_ +1 其次计算连续的__ ans加上cnt-1个 #include< ......
cf-di 866 A-C cf di

「解题报告」CF1129D Isolation

水题,但是调了好久 qwq 显然是 DP,出现次数显然分块,那就数据结构优化 DP 呗。 我们可以维护出当前点到每个点这段区间内有多少个出现次数为 $1$ 的数,这个右端点每拓展一位修改的左端点一定是连续的区间。分块维护这个东西,如果是散块暴力重构暴力加,如果是整块那给整块打个加标记。 发现,加标记 ......
Isolation 报告 1129D 1129 CF

CF1592F2 题解

题意 传送门 给定一个 $n$ 行 $m$ 列的目标矩阵,矩阵元素只有 W 或 B ,并且你有一个初始矩阵,元素全为 W 。 现在你可以矩阵实施以下操作: 使用一块钱,选定一个包含 $(1,1)$ 的子矩阵,把矩阵中的元素全部反转( W 变 B , B 变 W )。 使用三块钱,选定一个包含 $(n ......
题解 1592F 1592 CF F2

「解题报告」CF983E NN country

水点简单数据结构题! 考虑从两个点开始往上跳,每次肯定尽可能跳到最浅的点。两个点跳到再跳一步就能到达 lca 的位置的时候,此时再看看有没有路径连接这两个点,如果有那么一步就可以跳到,否则就要跳到 lca 再跳一步,两步跳到。跳的过程显然可以用倍增处理。 然后我们考虑处理出每个点能跳到的最浅的点。假 ......
country 报告 983E 983 CF