题解1203 div cf

CF1881D Divide and Equalize

solution \(a_i\) 和 \(a_j\) 在操作前后的乘积是不变的,也就是总乘积是固定的。最后要求所有的元素相同,那也就是说所有元素的乘积 \(total\) 一定满足 \(\sqrt[n]{total}\) 是整数。看了看数据范围没有办法直接乘起来,于是考虑分解质因数,最后看一下每个质 ......
Equalize Divide 1881D 1881 and

[APIO2019] 路灯 题解

LG5445 把询问 \(x,y\) 看作平面上的点 记当前时刻 \(t\),\(l\) 是与 \(i\) 连通的最左端,\(r\) 是与 \(i+1\) 连通的最右端,可以通过 set 维护断边找到 连边 \((i,i+1)\) 时 \(x\in[l,i],y\in[i+1,r]\) 连通了,考虑 ......
题解 路灯 APIO 2019

CF963B Destruction of a Tree 题解

CF963B Destruction of a Tree 题解 洛谷题目链接 这里提供一个较为朴素的 DP 想法。 题意简述 给定一棵树,节点个数不超过 \(2 \times 10^5\),每次可以删掉度数为偶数的点。问最后能不能删完;能删完给出删除方案。 思路分析 首先可以随便选一个点作为根。 其 ......
题解 Destruction 963B Tree 963

ABC214H Collecting 题解

前言 这是一道比较神仙的题目,其后半部分的建图是比较困难想到的,前半部分还是较为容易的。 题意 现在有一张\(N\)个点\(M\)条边的有向图,每个点有一个点权\(a_i\),现在要找出\(K\)条路径,使得这些路径的并集的点权和尽量大。现在求出点权和。 \(N, M \le 2\times 10^ ......
题解 Collecting 214H ABC 214

POD 题解

考虑每种颜色都只在一条链上出现这个限制。 考虑使用随机化 \(\text{hash}\),我们对每个点随机一个权值,使得每种颜色所有点异或值为 \(0\)。 这样一种颜色如果只在一条链上,那对两条链 \(\text{hash}\) 异或值的贡献就是 \(0\),否则就是两个随机值。 这样如果存在一个 ......
题解 POD

CF1838E

题面传送门 description 给定长度为 \(n\) 的正整数序列 \(a\) 和正整数 \(m,k\),满足 \(a\) 的值域是 \([1,k]\)。求 \(a\) 是多少个长度为 \(m\) 且值域为 \([1,k]\) 的序列 \(b\) 的子序列。 \(n\leq 2\times 1 ......
1838E 1838 CF

CF1801C 做题笔记

题目链接 一道需要挖掘一些性质的 dpt,居然独立想出来了。 本蒟蒻太菜了只会树状数组的做法,单调栈不会。 先考虑只管对答案有贡献的音乐,这当然是正确的,因为我们可以把对答案没有贡献的音乐放到最后。 对于每一首乐曲,我们也能对它进行一个简单的处理来模拟听的过程,维护一个值 $lst$,每次输入的数 ......
笔记 1801C 1801 CF

Educational Codeforces Round 156 (Rated for Div. 2) A-E

A题签到题 分余1 余2 余0讨论 #include<bits/stdc++.h> using namespace std ; #define maxn 400100 #define int long long int read(){ int ans = 0 , f = 1 ; char ch = ......
Educational Codeforces Round Rated 156

CF938F Erasing Substrings 题解

Erasing Substrings 一个神奇的想法是设 \(f_{i,j}\) 表示在位置 \([1,i]\) 中,我们删去了长度为 \(2^k(k\in j)\) 的一些串,所能得到的最小字典序。使用二分加哈希可以做到 \(O(n^2\log^2 n)\),无法承受。 发现对于状态 \(f_{i ......
题解 Substrings Erasing 938F 938

CF261D Maxim and Increasing Subsequence 题解

Maxim and Increasing Subsequence 首先,我们可以发现,当这个重复次数很大的时候,答案就等于序列中出现的不同权值个数。实际上,这个“很大”就可以被当作“大于等于不同权值个数”。 不同权值个数实际上是 \(\min(n,m)\) 级别的,其中 \(n\) 是序列长度,\( ......
题解 Subsequence Increasing Maxim 261D

CF979E Kuro and Topological Parity 题解

Kuro and Topological Parity 我们考虑在一张染色完成的图里,我们连上了一条边,会有何影响? \(\bullet\) 在同色节点间连边——明显不会有任何影响。 \(\bullet\) 在异色节点间连边,但是出发点是个偶点(即有偶数条路径以其为终点的节点),终点的路径数增加了, ......
题解 Topological Parity 979E Kuro

[ARC067F] Yakiniku Restaurants 题解

Yakiniku Restaurants 明显在最优方案中,行走方式一定是从一条线段的一端走到另一端,不回头。 于是设 \(f[i,j]\) 表示从 \(i\) 走到 \(j\) 的最优代价。明显,该代价对于不同的券相互独立。故我们依次考虑每一张券。 我们发现,假设有一张位置 \(k\) 的券,则所 ......
题解 Restaurants Yakiniku 067F ARC

[AGC013E] Placing Squares 题解

Placing Squares 关键是将问题从抽象的“正方形面积”转为具象的形式:一段长度为 \(d\) 的区间,有两个不同的小球要放进去,则总放置方案就是 \(d^2\) ,且不同的区间间方案是通过乘法原理结合的,刚好是题目中 \(\prod d^2\) 的形式。 于是我们可以设计 DP:设 \( ......
题解 Placing Squares 013E AGC

洛谷P3713 [BJOI2017] 机动训练 题解

机动训练 这题的瓶颈,在于把 \(a_i^2\) 看作 \(\sum\limits_{i=1}^{a_i}\sum\limits_{j=1}^{a_i}1\),然后我们就可以看成“两两相同的机动路径都能贡献 1”。于是我们设 \(f_{x1,y1,x2,y2}\) 表示两条起点为 \((x1,y1) ......
题解 机动 P3713 3713 2017

P1864 [NOI2009] 二叉查找树 题解

二叉查找树 首先该树的中序遍历是唯一可以确定的(直接按照数据值排序即可)。 然后,因为权值可以被修改成一切实数,故我们完全可以把权值离散化掉。 于是我们现在可以设置一个 DP 状态 \(f[l,r,lim]\) 表示: 区间 \([l,r]\) 中的所有东西构成了一棵子树,且树中最小权值不小于 \( ......
题解 P1864 1864 2009 NOI

[AGC030F] Permutation and Minimum 题解

Permutation and Minimum 看到 300 的数据范围,再加上计数题,很容易就往计数 DP 方向去想。 为方便,我们将 \(n\) 乘二。 因为是两个位置取 \(\min\),于是我们便想到从小往大把每个数填入序列。于是DP数组第一维的意义便出来了:当前已经填入了前 \(i\) 小 ......
题解 Permutation Minimum 030F AGC

洛谷P3607 [USACO17JAN] Subsequence Reversal P 题解

Subsequence Reversal P 思路: 发现,翻转一个子序列,就意味着两两互换子序列里面的东西。 于是我们就可以设 \(f[l][r][L][R]\) 表示: \(\max[1,l)=L,\min(r,n]=R\) 时的最长长度。 则边界为: \(L>R\) 时, \(f=-\inft ......
题解 Subsequence Reversal P3607 USACO

洛谷P3576 [POI2014] MRO-Ant colony 题解

MRO-Ant colony 根据下取整除法的性质 \((\left\lfloor\dfrac{\left\lfloor\dfrac{x}{y}\right\rfloor}{z}\right\rfloor=\left\lfloor\dfrac{x}{yz}\right\rfloor)\),我们可以反 ......
题解 MRO-Ant colony P3576 3576

CF264B Good Sequences 题解

Good Sequences 状态很显然,设 \(f[i]\) 表示位置 \(i\) 的最长长度。 关键是转移,暴力转移是 \(O(n^2)\) 的,我们必须找到一个更优秀的转移。 因为一个数的质因子数量是 \(O(\log n)\) 的,而只有和这个数具有相同质因子的数是可以转移的; 因此我们可以 ......
题解 Sequences 264B Good 264

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 ......
题解 Arrangement Arbitrary 908D Year

洛谷P3118 [USACO15JAN] Moovie Mooving G 题解

Moovie Mooving G 设 \(f[i][S]\) 表示在第 \(i\) 场(注意是场,不是部)电影时,已经看了 \(S\) 里面的电影是否合法。 然后贪心地取 \(|S|\) 最小的状态保存。光荣 MLE 了, \(21\%\)。 发现当一场电影结束后,无论这一场是在哪里看的都没关系。 ......
题解 Mooving Moovie P3118 USACO

Maximums and Minimums (CF E)

思路: 分别求出 最小区间 和最大区间, 利用单调zai 处理即可 然后 在利用 调和级数 , 求最小值的倍数 后记: 为什么我不2个元素都求一个区间呢? ......
Maximums Minimums and CF

2020,2021 年 CF 简单题精选 做题记录

2023.10.12 开坑,打了几场 div.2 之后一直觉得这方面水平差太多,今天刚好在洛谷看到这个题单就准备开始做了,里面从黄到黑都有,我会尽量都做,并在这里记录。总共 49 题,我可能平时有时间就做一两题,估计是个长期坑了((。 题单链接 [Y] 表示独立完成,[N] 表示看题解之后完成。 ......
2020 2021 CF

题解 AtCoder wtf22_day1_b【Non-Overlapping Swaps】

给定一个排列,要求交换最多 $n-1$ 对元素,使得这个排列变成 [1,2,...,n] 的有序排列。 当然没有那么简单,对于交换还是有限制的,对于相邻的两次交换,不妨叫做 $(l_i, r_i)$ 和 $(l_{i+1}, r_{i+1})$,必须满足**这两个交换所对应的区间,没有交集**,即... ......

Prefixes and Suffixes (CF D) (字符串翻转找性质)

思路: 利用操作 使得题目更好分析, t 的后缀,反转t , 来看t 的前缀, 实际操作的时候, 把s 和 t 的前缀在反转一下进行交换就可以了, 发现性质 1 C(si, ti) 他们的相对位置不会变化, 一直是匹配的 然后利用 翻转的性质, 一定会产生任意我想要的排列 (从后开始构造, 先把目标 ......
字符串 字符 Prefixes Suffixes 性质

题解 CF486D Valid Sets

题目链接 相当牛逼。 这种找数量的题型,确定树形 \(dp\) 没跑了。 首先思考常规树形 \(dp\),不难想到设 \(f_{u,a,b}\) 表示以 \(u\) 为根节点的子树内(包括点 \(u\)),最大值是 \(a\),最小值是 \(b\) 的连通子图数量,转移很容易,但是这样时间空间复杂度 ......
题解 Valid 486D Sets 486

Slime Escape (CF D) (贪心, 双指针最大有效权值单调增长)

补充: 每次操作可以往左 或者 右 走一步 思路: 性质: 以一边为重点使劲走, 然后 利用另外一边来给自己权值变大 当 这边要死了, 就把这边回退到最大值, 在走另一边, 看另一边能到哪, 这样每次都可以扩展最大值, 于是利用双指针? 也不是双指针, 就是 l,r 分别贪心地向左 和 向右 扩张 ......
指针 Escape Slime CF

Codeforces Round 694 (Div. 2) A. Strange Partition

给一个长为 \(n\) 的数组 \(a\) 和一个正整数 \(x\) 。你可以执行以下操作任意次:用两个相邻元素的和替换这两个元素。如 \([\cdots, a_i,a_{i+1},\cdots] \rightarrow [\cdots, a_i + a_{i+1},\cdots]\) 。 一个数组 ......
Codeforces Partition Strange Round 694

原创题题解

实时更新。 众所周知的,原创题就是即原神又创人的题。 当然有的题不会放,等考了在放。 波特 问题描述 流水线上有 \(n\) 个波特,每个波特有一个工作效能 \(a_i\) 。对于每一个波特,当它遇到一个工件时,它会对其进行加工,耗费 \(1\) 个单位时间,然后把它传递给它前面中工作效能最大的波特 ......
题解

Codeforces Round 697 (Div. 3) A. Odd Divisor

给一个正整数 \(n\) ,判断 \(n\) 是否存在一个 \(> 1\) 的奇数因子。 只要 \(n\) 的唯一分解下存在除 \(2\) 以外的质因子,则 \(n\) 存在 \(>1\) 的奇数因子。 于是 \(n \neq lowbit(n)\) 则 \(n\) 存在奇数因子。(应用了 \(2^ ......
Codeforces Divisor Round 697 Div