题解1203 div cf
Codeforces Round 677 (Div. 3) C. Dominant Piranha
有 \(n\) 只水虎鱼在水族馆,大小为 \(a_1, a_2, \cdots, a_n\) 。 一只水虎鱼被称为是主导的,当它可以吃掉水族馆中其他所有水虎鱼。其他水虎鱼不会有任何行动。 一只水虎鱼只可以吃掉当前与它相邻并且体型严格比它小的水虎鱼。当大小为 \(x\) 的水虎鱼吃掉大小为 \(y\) ......
[AGC037D] Sorting a Grid 题解
学长给我看了这道题,感觉很有趣啊!想了想想出来了。 考虑先把每个数还原到对应行上,然后用最后一次把它们斗出来。 那么我们就是要在第一次操作后,对于每种颜色使得它平铺在这个块上。 那么我们直接网络流或二分图匹配构造一下方案就做完力! ......
Codeforces 512D. Fox And Travelling 题解
Fox And Travelling 题面翻译 给定一张 \(n\) 个点 \(m\) 条边的无向图。 一个点只有当与它直接相连的点中最多只有一个点未被选择过时才可被选择。 询问对于每个 \(k \in [0,n]\),有序选择 \(k\) 个点的方案数。 \(n \le 100\),\(m \le ......
CF1416E Split
暴力 dp 是很拉跨的,我们会设 \(dp_{i,j}\) 表示前 \(i\) 个 \(a_i\) 分裂后,最后一个 \(b\) 为 \(j\) 时的最小答案,爆炸。 但这里面有很多性质啊,直观地我们可以感受到,若已经确定了决策 \(dp_{i-1,k}\),那么无论如何选择 \(a_i\) 的分裂 ......
CF1523F Favorite Game
当前的状态有:传送门的激活状态,已经完成的任务数量,当前的位置(传送门/任务),经过的时间。显然我们会先将所有任务按照 \(t_i\) 升序排序。把前三维列为状态,后一维列为答案,此时我们可以得到一个状态数为 \(O(2^nm^2)\),转移为 \(O(m)\) 的 dp。 状态数很没救,显然要被优 ......
CF1149D Abandoning Roads
首先 \(a\) 边可以随便选。 显然,若某条 \(b\) 边的两端位于同一 \(a\) 连通块,一定不会被我们考虑。剩下的 \(b\) 边一定会将两个 \(a\) 连通块相连。 那么此时我们对于 \(b\) 边的约束是,位于一个环上的 \(b\) 边不能同时存在图中,即,我们的路径不能从当前连通块 ......
CF713E Sonya Partymaker
其实做题可以先算法导向一下的。 比如看到显著特征:【最大值最小】,我们第一反应还是应该为二分答案转判定的。 考虑二分答案 \(d\),此时转化为了,对于每个人 \(i\),选择一个朝向左/右,向该朝向覆盖 \(d\) 的距离,能否将整个环全部覆盖。 如果不是环的话,很 lantern 啊!考虑序列情 ......
CF1877E Autosynthesis
总结题目约束其实就是,所选数下标组成的集合和未选数值组成的集合相同。 我们发现该约束把值和下标联系在了一起,所以我们不妨考虑建出图来显式地表示二者,即,我们由 \(i\) 向 \(a_i\) 连边,然后考虑整张图。 首先这肯定是个内向基环树森林,然后我们要对其黑白染色,设黑色表示选择,白色表示未选择 ......
CF1877F Lexichromatography
题中的约束可以描述为: 红的字典序比蓝大。 对于每个数值,必然是红蓝交替涂色。 设总共出现了 \(c\) 个颜色,总涂色方案数就是 \(2^c\) 种,其中字典序情况包含 大于,小于,相等,且前两者方案数相同。所以不妨选取更简单的部分 相等 进行处理,设相等的方案数为 \(x\),则答案就为 \(\ ......
CF1439D INOI Final Contests
先总结一些充要条件。 一个人 \(i\) 选不到自己的 \(a_i\) 的充要条件为:若为左侧,则存在左侧的一个 \(j\) 满足 \(a_k\in[j,i]\) 且 \(b_k=R\) 的 \(k\) 的个数 \(> i-j\),右侧同理,满足其一即可。 一个方案不合法的充要条件为,若对于一个 \ ......
Codeforces Round 684 (Div. 2) B. Sum of Medians
定义 \(median\) 是一个非降序数组中第 \(\lceil \frac{n}{2} \rceil\) 的数。数组从 \(1\) 开始标号。 给两个数 \(n\) 和 \(k\) ,并给出一个长为 \(nk\) 的数组 \(a\) 。 需要分出为 \(k\) 个大小为 \(n\) 的数组,每个 ......
SP10606 题解
题目大意: 给你两个数 \(l,r\),定义 \(bal(x)\) 代表 \(x\) 是否满足出现过的每一数位,每个偶数出现奇数次,每个奇数出现偶数次。求 \[\sum \limits_{i=l}^{r} bal(i) \]思路: 看到记录每一数位出现几次,就是直接告诉你这是数位dp。至于如何记录每 ......
Codeforces Round 680 (Div. 2, based on Moscow Team Olympiad) B. Elimination
一个比赛有一百人进入决赛,但是需要经过两轮初赛的选拔。初赛的最终结果由两场初赛产生,不幸的是初赛的最终排名被丢失了。 在每场初赛中,参赛者的排名按非升序排序。当两位参赛者的成绩一样,参赛编号更小的靠前。 现在只知道如下信息: 第一场初赛中,第一百名的成绩为 \(a\) 。且第一场初赛中前一百名的选手 ......
CF786C Till I Collapse
题外话 根分纸张第一次自己做出根分虽然很水,纪念一下。 \(\text{Links}\) Codeforces Luogu 题意 给定一个长度为 \(n\) \((1\le n\le 10^5)\) 的序列 \(a\) \((1\le a_i\le n)\),对于 \(k=1,2,3,\dots,n ......
洛谷P9290 [ROI 2018] Decryption 题解
include<bits/stdc++.h> pragma GCC optimize(1) pragma GCC optimize(2) pragma GCC optimize(3,"Ofast","inline") define reg register define int long long ......
King's Tour 题解
King's Tour 题面大意 在 \(n\times m\) 的网格中构造一种从 \((1,1)\) 走到 \((a,b)\) 的方案,要求经过所有格子恰好一次,格子之间八联通。 思路分析 模拟赛题,赛时写了一个半小时过了( 思路不是很复杂,但是需要一些分类讨论。 引理:对于任意大小的矩形,一定 ......
【多校联考NOIP#3】比赛复盘 && 题解
A. 卡牌 这次比赛,一道签到题都没有。 本来以为是线段树上二分。就类似于花神的数论题那道,刚开始暴力修改(修改到线段树的每一个叶子节点),然后由于boss的attack在不断增加,到了 \(Att_i >= hp_j\) 的时候, \(j\) 这个牌顶多打一次,如果一个区间的 \(max\) 都小 ......
Codeforces Round 685 (Div. 2) B. Non-Substring Subsequence
对于一个长为 \(n\) 的 \(01\) 字符串 \(s\) 有 \(n\) 个询问。第 \(i\) 个询问被 \(l_i, r_i\) 描述 \(1 \leq l_i < r_i \leq n\) 。 对于每个询问,你需要确定 \(s\) 中是否存在一个子序列等同于子串 \(s[l_i \cdo ......
Codeforces Round 690 (Div. 3) C. Unique Number
给一个正整数 \(x\) ,需要构造一个最小的正整数 \(n\) 使得 \(\sum digt(n) = x\) ,并且 \(\forall i \neq j, digt(n)_i \neq digt(n)_j\) 。 首先观察到 \(0\) 没有贡献,且会增加位数,所以不能有 \(0\) 。 由于 ......
Codeforces Round 695 (Div. 2) A. Wizard of Orz
有 \(n\) 个数位板摆放成一条直线,每个数位板可以显示 \(0 \sim 9\) 的数字。最开始数位板显示的是 \(0\) 。每秒数位板上的数字都会加 \(1\) , \(9\) 的下一个数字是 \(0\) 。当一个数位板被暂停,它上面的数字将会定格在当前秒。 你必须对某个数位板执行一次暂停,在 ......
题解 P2188 小Z的 k 紧凑数
题目描述 小 Z 在草稿纸上列出了很多数,他觉得相邻两位数字差的绝对值不超过 \(k\) 的整数特别奇特,称其为 \(k\) 紧凑数。 现在小 Z 想知道 \([l,r]\) 内有多少个 \(k\) 紧凑数,希望你帮帮他。 具体思路 首先,要求数的个数,自然想到数位 dp。 然后可以用容斥原理拆询问 ......
CF1886C Decreasing String 题解
题面 \(S_n\) 由 \(S_{n-1}\) 去掉一个字母得到,\(S=S_1+S_2+...+S_n\) 给定 \(S_1\) 求 \(S\) 的第 \(N\) 位 solution 我们先考虑怎样去字母能保持字典序最小 显然,我们发现如果一个字母比前面那个字母小,那么我们就要删除前面那个字母 ......
CF1886A Sum of Three 题解
Question 给定一个正整数 N ,我们需要找三个不同的整数x,y,z,使得 N = x+y+z,其中下x,y,z不能被三整除 solution 我们把N%3会有一些余数,我们针对余数来讨论,其中我们只关注xyz的余数 如果余数为0 那么也就可能是1+1+1,或者2+2+2,但是考虑到xyz不同 ......
CF1886B Fear of the Dark 题解
Question Monocarp 在一个二维平面上,他的初始点在 \(O=(0,0)\) ,他需要到 \(P(P_x,P_y)\) 不幸的是,他能走的范围在两个圆内,我们给出了两个圆的坐标 \(A=(A_x,A_y)\) ,\(B=(B_x,B_y)\) 两个圆的半径相同,我们需要找到最小的半径让 ......
CF1886D Monocarp and the Set
Questions Monocarp 有 \(n\) 个整数和一个集合,他需要把这 \(n\) 个数添加到集合中,每次添加一次 除了第一次,每次添加元素都会输出一个字符 如果当前添加的元素比原有的元素都要小,那么输出 \(>\) 如果当前添加的元素比原有的元素都要大,那么输出 \(<\) 否则输出 ......
CF1886E I Wanna be the Team Leader
贪心 #动态规划 Question Monocarp 是一家大型 IT 公司的负责人 他有 \(m\) 个项目个项目需要完成,第 \(i\) 个项目的难度为 \(b_i\) 他的团队离有 \(n\) 个程序员,第 \(j\) 个程序员的耐受能力为 \(a_j\) Monocarp 需要分配这些项目, ......
Almost Sorted (CF F ) (压状dp)
思路: 性质1, 相当于重新对这个序列排序 性质2, 等式关于 值域, 对于任意一个都满足, 那么就是 当前点 比前面放入的点 的最大值 - k 都要大, 比后面最小值+k都要小, --> 每一个点都要满足, 那么对于当前点的放置是有限制的,以 值域 来看 1-i 里面都已经放置了, 那么放置 后面 ......
CF1881F Minimum Maximum Distance
给定一棵树,树上的一些点被打上了标记,定义一个节点的贡献为其到所有标记节点距离的最大值,求最小贡献。 \(n \le 2 \times 10^5\)。 这道题的原题是 CF337D(甚至要更困难一些)。 很套路的换根 DP 啊。我们考虑设 \(f_i\) 为 \(i\) 子树内的标记节点到 \(i\ ......
[NOI2014] 字符串(题解)
字符串(题解) 题目描述 近日,园长发现动物园中好吃懒做的动物越来越多了。例如企鹅,只会卖萌向游客要吃的。为了整治动物园的不良风气,让动物们凭自己的真才实学向游客要吃的,园长决定开设算法班,让动物们学习算法。 一句话题意:我们会处理kmp算法中的fail[]数组,来记录[1, i ]的真前后缀的最大 ......
Codeforces Round 903 (Div. 3)
A. Don't Try to Count 解题思路 我们发现当 \(x.size() < s.size()\) 的时候,我们必须要让 \(x+=x\),当 \(x.size() \ge s.size()\) 的时候,我们只要此时判一下 \(x\) 中是否存在子串 \(s\),存在则马上输出答案,否 ......