
性质观察题
文章平均质量分 87
换句话说,需要结论的题
_ducati
这个作者很懒,什么都没留下…
展开
-
【CF1684H】Hard Cut——从宏观到微观,不断地子问题转化,无与伦比的构造题
×3400\times 3400×3400 的神仙题,做自闭了。Description给定一个长度为 nnn 的 010101 串,你需要将它划分为若干个子串,使得将各个子串对应的二进制数加在一起,得到的是 222 的若干次幂。数据范围: 1≤n≤1061 \le n \le 10^61≤n≤106,时限 2.00s\texttt{2.00s}2.00s。SolutionPart 0: 何时无解首先,我们考虑何时无解。令 kkk 为 sss 中 111 的数量。当 k=0k=0k=0 时显然无原创 2022-05-22 11:33:07 · 435 阅读 · 3 评论 -
CF1680D Dog Walking 题解
Description传送门SolutionKey Observation对于任意序列 aaa 而言,其前缀最大值与前缀最小值的差,即为 aaa 的各个循环排列的最大前缀和。例如,对于 a={−4,2,3,3,−4}a=\{-4,2,3,3,-4\}a={−4,2,3,3,−4},其前缀最大值与前缀最小值的差 4−(−4)=84-(-4)=84−(−4)=8 即为其循环排列 {2,3,3,−4,−4}\{2,3,3,-4,-4\}{2,3,3,−4,−4} 的前缀 [1,3][1,3][1,3]原创 2022-05-18 13:31:32 · 256 阅读 · 0 评论 -
[AGC002F] Leftmost Ball 题解
非常妙的计数 dp 题,有利于我们训练思维。Description传送门Solution首先,本题显然是一道计数 dp\text{dp}dp 题。在构造 dp\text{dp}dp 之前,我们不妨先考虑什么样的盘面 aaa 是合法的。不难得到下面的判定算法:考虑从左到右扫描 aaa,维护前缀中 000 的数量及非 000 颜色的种数,那么 aaa 合法当且仅当前者始终不小于后者。考虑将上述判定流程内化到 dp\text{dp}dp 状态中。令 fi,jf_{i,j}fi,j 表示,目前钦定了前原创 2022-05-07 20:30:51 · 248 阅读 · 0 评论 -
[AGC002E] Candy Piles 题解
Description传送门Solution首先抽象问题,将原问题转化到一个平面上进行。考虑将 aaa 从大到小排序,并建出 nnn 个长方形,其中相邻两个长方形紧挨,从左到右第 iii 个长方形的宽度为 111,长度为 aia_iai。那么,博弈模型等价于从 (1,1)(1,1)(1,1) 出发,每次向右或者向左走,最终走出边界的人输。首先不难想到一个 dp\text{dp}dp。令 fi,jf_{i,j}fi,j 表示,当目前在 (i,j)(i,j)(i,j) 时(即在第 iii 个长方形原创 2022-05-07 18:22:45 · 253 阅读 · 0 评论 -
【省选联考 2022 D2T2】序列变换 题解
文章目录DescriptionSolutionPart 1: 抽象为树上问题与初步解决Part 2: x=0,y=1Part 3: x=1,y=1Part 4: x=1,y=0Description传送门SolutionPart 1: 抽象为树上问题与初步解决首先,我们对括号序列建出一棵树。接着,我们尝试将两种操作转化为树上的操作。定义位置 iii 的匹配点 pip_ipi 为与第 iii 个括号匹配的括号的位置,则考虑每一个满足 si=s_i=si=( 对应的 [i,pi][i,p_i]原创 2022-04-22 19:47:18 · 819 阅读 · 0 评论 -
CF700E Cool Slogans——后缀自动机,神仙结论与线段树合并优化 dp
CF700E 题解原创 2022-04-05 11:27:29 · 305 阅读 · 0 评论 -
【NOI Online 2022 提高组 B】【洛谷 P8252】讨论 题解
一口气写了 2700 多字,然而代码只有 1500 B(Description传送门Solution显然,我们所要做的事,就是构造出一对 (i,j)(i,j)(i,j),使得编号为 i,ji,ji,j 的人会讨论。算法一考虑枚举位置 ppp,接着再枚举包含位置 ppp 的 (Si,Sj)(S_i,S_j)(Si,Sj)。这样一来,条件 Si∩SjS_i \cap S_jSi∩Sj 就得到了满足,接下来还要判定 Si,SjS_i,S_jSi,Sj 是否存在互相包含的关系。不妨设 ∣原创 2022-03-26 20:54:39 · 1305 阅读 · 0 评论 -
【NOI Online 2022 提高组 C】【洛谷 P8252 】如何正确地排序题解
Description传送门Solution首先考虑将 min,max\min,\maxmin,max 给拆开。二者同理,我们不妨仅考虑求前者。对于 m=2m=2m=2 的情况可以随便做。下面我们先考虑 m=3m=3m=3 的情况。首先,明确所要求即 ∑1≤i,j≤mmax1≤k≤3{ak,i+ak,j}\sum_{1 \le i,j \le m} \max_{1 \le k \le 3}\{a_{k,i}+a_{k,j}\}1≤i,j≤m∑1≤k≤3max{ak,i+ak,j}不原创 2022-03-26 18:31:14 · 985 阅读 · 0 评论 -
[八省联考 2018] 林克卡特树 题解
这道题我前前后后做了一年,共过了 444 遍,每次都有的新的理解;这次我认为自己理解透了,于是就写了一篇题解。这道题是我入坑看到的第一道黑题(当时很萌,不知道黑题是什么,看到这题感觉很好玩),另外还有就是《切树游戏》和 Spiders Evil Plan,记载着我的回忆(Description传送门Solution算法一为方便叙述,令树根为 111,wu,vw_{u,v}wu,v 表示 u,vu,vu,v 之间的边权,son{u}\text{son}\{u\}son{u} 表示 uuu 的儿子原创 2021-12-18 18:06:44 · 560 阅读 · 0 评论 -
[省选联考 2021 A/B 卷] 图函数 题解
没错,NOIP 都结束了,我才补省选题。我是一只大鸽子!!1Description传送门Solution算法一直接暴力即可。每次计算 f(i,G)f(i,G)f(i,G) 的时候,暴力枚举 j∈[1,i]j \in [1,i]j∈[1,i] 并通过 O(m)O(m)O(m) 的 dfs\text{dfs}dfs 进行判定,所以每个 f(i,G)f(i,G)f(i,G) 的计算都是 O(nm)O(nm)O(nm) 的。注意到一共要计算 O(nm)O(nm)O(nm) 个 f(i,G)f(i,G)原创 2021-12-13 22:22:33 · 377 阅读 · 0 评论 -
ARC 129 C Multiple of 7 题解
Description给定整正数 nnn。构造一个长度不超过 10610^6106 的字符串,使得其中满足 ⌈\lceil⌈ 从左到右依次拼接起来,得到的十进制数是 777 的倍数 ⌋\rfloor⌋ 的区间 [l,r][l,r][l,r] 恰有 nnn 个。n≤106n \le 10^6n≤106Solution自闭了,构造题杀我!首先,考虑对于一个固定的数字串 SSS,其中有多少合法的子串 [l,r][l,r][l,r]。考虑使用前缀和维护。令 aia_iai 表示,[i,∣S∣][i,原创 2021-11-22 21:49:10 · 907 阅读 · 1 评论 -
【AGC 055 C】Weird LIS 题解
Description传送门Solution这是一道神仙题。考虑对于某个固定的 AAA 判断其是否合法,并得到合法的充分必要条件。首先,AAA 的极差不得超过 111。这是为什么呢?考虑 PPP 的某个最长上升子序列 {Pp1,Pp2,⋯ ,Ppk}\{P_{p_1},P_{p_2},\cdots,P_{p_k}\}{Pp1,Pp2,⋯,Ppk}。对于每个位置 iii,若 i≠Pp1,i≠Pp2,⋯ ,i≠Ppki \neq P_{p_1},i \neq P_{p_2},\cdots,原创 2021-11-19 18:36:40 · 391 阅读 · 0 评论 -
Codeforces Round #754 (Div. 2) 部分题解
文章目录前言SolutionsABCDObservation 1Observation 2SolutionEFCode前言神迹: 模拟赛切掉 A,C,E,但不会 B,D,F。真就涉及到一丢丢构造和贪心就不会做呗,我是真的菜。SolutionsA不难发现,每次操作可以将 a1+a3−2a2a_1+a_3-2a_2a1+a3−2a2 减小或增大 333。若令 ppp 为初始时的 a1+a3−2a2a_1+a_3-2a_2a1+a3−2a2,那么:若 p≡0(mod3)p \equi原创 2021-11-13 22:27:53 · 557 阅读 · 0 评论 -
Codeforces Round #752 (Div. 1) 部分题解
前言A令 bib_ibi 表示,有多少个 j(j≤i)j(j \le i)j(j≤i) 不后于 iii 被删除。那么答案为 NO 当且仅当: 对于每个合法的 bbb,均存在一个 i∈[1,n]i \in [1,n]i∈[1,n] 使得 (bi+1)∣ai(b_i+1)|a_i(bi+1)∣ai。不难发现 bbb 与 n!n!n! 种删数方案构成了双射关系,因此整数序列 bbb 合法当且仅当 ∀i∈[1,n]\forall i \in [1,n]∀i∈[1,n] 满足 1≤bi≤i1 \le原创 2021-10-31 14:36:32 · 442 阅读 · 0 评论 -
P3159 [CQOI2012]交换棋子 题解
Description传送门SolutionPart 1: 简化版首先,考虑这样一个简化版的问题: 第 iii 行第 jjj 列的点被经过不超过 limi,jlim_{i,j}limi,j 次时,求最少移动步数。首先,我们把白棋看做没棋。特别的,若 ai,j=bi,j=1a_{i,j}=b_{i,j}=1ai,j=bi,j=1(即对应位均为黑棋),那么我们也将其均看做没棋。考虑网络流建模。为满足点的限制,将每一个 (i,j)(i,j)(i,j) 拆成入点 Li,jL_{i,j}Li,j原创 2021-10-16 20:19:22 · 184 阅读 · 0 评论 -
P7838 「Wdoi-3」夜雀 treating 题解
Description传送门SolutionPart 1: 题意抽象结合对顶栈的思想,我们可以将题意抽象为对两个栈的操作。即,我们将 1,2,3,⋯ ,n1,2,3,\cdots,n1,2,3,⋯,n 依次放到 A 栈中,2n+1,2n,⋯ ,n+22n+1,2n,\cdots,n+22n+1,2n,⋯,n+2 依次放到 B 栈中。那么,辉夜所做的事情就是: 先选择 an+1a_{n+1}an+1,然后执行若干次下述操作: ⌈\lceil⌈ 删除一个栈中的某个元素并选另一个栈的栈顶元素 ⌋\rf原创 2021-08-22 21:06:52 · 173 阅读 · 0 评论 -
[Wdoi 2021 & Round 3] 夜雀 cooking 题解
Description给定一个长度为 nnn 的首项为 sss 且公差为 yyy 的等差数列。数列中的所有位置初始为蓝色。不过,一个可爱的妹子在其中等概率随机了 mmm 个位置并将它们染成了紫色。显然,紫是均匀分布的。现在你想要知道她染了哪些位置,因此你可以提出询问。每个询问格式形如 l r,表示查询 [l,r][l,r][l,r] 中所有蓝色位置的权值和。当你想要回答的时候,先输出 −1-1−1,再输出 mmm 个从小到大排列的数表示这些紫色的位置。TTT 次询问,当你的询问次数不超过 200T2原创 2021-08-19 20:41:41 · 159 阅读 · 0 评论 -
CF1545C AquaMoon and Permutations 题解
Description给定一个 2n2n2n 个长度为 nnn 的排列,你需要从中选出 nnn 个组成一个拉丁方阵。保证: 若对于每两个存在对应位置的值相同的排列连边,则此图有完美匹配。1≤n≤5001 \le n \le 5001≤n≤500Solution我们刚拿到这个方阵,第一步该如何处理呢?首先,如果某一列上,有一个数出现了恰好一次,那么该数所在的排列必然出现在最终的拉丁方阵里面。于是,选定它,然后将所有与它有连边的排列删掉。其次,如果所有数的出现次数都超过一次呢?不难发现,根据抽屉原原创 2021-08-14 11:21:46 · 253 阅读 · 0 评论 -
Codeforces Round #735 (Div. 2) 题解
文章目录SolutionsABCDESolutionsA最优区间 [l,r][l,r][l,r] 必然满足 l+1=rl+1=rl+1=r。因此答案为maxi=1n{ai×ai+1}\max_{i=1}^n \{a_i \times a_{i+1}\}i=1maxn{ai×ai+1}可以通过反证法来证明。复杂度 O(∑n)O(\sum n)O(∑n)。B考虑枚举 ai∣aj=xa_i|a_j=xai∣aj=x。此时,ai,aja_i,a_jai,aj 均为 xxx 的子集,即原创 2021-07-30 10:20:27 · 373 阅读 · 0 评论 -
ARC 124 D Yet Another Sorting Problem 题解
Description给定一个长度为 N+MN+MN+M 的排列。你每次可以选择前 NNN 个数中的一个以及后 MMM 个数中的一个并将它们交换。你需要求出,至少需要多少次交换操作才能使得排列变为 1,2,3,⋯ ,N+M1,2,3,\cdots,N+M1,2,3,⋯,N+M。Solution下面,为方便叙述,令位置不超过 NNN 为左边,否则为右边。假设我们可以交换同属一边的数,那么这就成为了一道裸题: 从 iii 向 pip_ipi 连边,得到了一张每个点的入度以及出度均为 111 的图。原创 2021-07-29 07:39:50 · 591 阅读 · 1 评论 -
CF1552G 题解
Description给定 n,kn,kn,k 以及位置集合 S1,S2,⋯ ,SkS_1,S_2,\cdots,S_kS1,S2,⋯,Sk。定义第 iii 次操作为,将 SiS_iSi 中的值从小到大排序。你需要判断,若依次执行第 1,2,3,⋯ ,k1,2,3,\cdots,k1,2,3,⋯,k 次操作,是否任意数列都能最终变成单调不下降的。1≤n≤40,1≤k≤101 \le n \le 40,1 \le k \le 101≤n≤40,1≤k≤10Solution下面,为方便叙述,原创 2021-07-27 13:38:24 · 169 阅读 · 0 评论 -
2021-07-27
VP 迅速过掉了 A,B,C,D,F,就是不会 E。菜得真实。Description传送门Solution为方便叙述,我们建立一个 nnn 行 kkk 列的矩阵 MMM,其中第 iii 行第 jjj 列表示序列上第 jjj 个值为 iii 的数的出现位置。首先,不难发现,我们只会选满足下面要求的区间 [l,r](al=ar)[l,r](a_l=a_r)[l,r](al=ar):在第 ala_lal 行内,l,rl,rl,r 的位置连续。然后,我们考虑一些特殊情况。k=2k=2k=2原创 2021-07-27 07:33:39 · 113 阅读 · 0 评论 -
P3452 [POI2007]BIU-Offices 题解
Description给定一张 nnn 个点 mmm 条边的图,你需要求出其补图的连通块个数以及各个连通块的大小。原数据范围: 1≤n≤105,1≤m≤2×1061 \le n \le 10^5,1 \le m \le 2 \times 10^61≤n≤105,1≤m≤2×106加强版数据范围: 1≤n,m≤5×1061 \le n,m \le 5 \times 10^61≤n,m≤5×106Solution补图的边数是 n2n^2n2 级别的,若我们建出整个补图则无法通过。注意到,我们只需要连原创 2021-07-20 19:15:11 · 225 阅读 · 0 评论 -
P3706 [SDOI2017]硬币游戏 题解
Description有 nnn 个人,第 iii 个人给出一个长度为 mmm 的仅包含 A 和 B 的字符串 sis_isi。扔若干次硬币,并记录下硬币落地时朝上的正反面情况。当一个人猜的序列在硬币序列中出现时,此人胜利,且扔硬币活动停止。你需要对于每个 iii,求出第 iii 个人获胜的概率。1≤n,m≤3001 \le n,m \le 3001≤n,m≤300,sss 中的元素两两不同。Solution为方便叙述,做出如下约定:令字符串 TTT 为 iii 获胜的终止串,当且仅当原创 2021-07-16 13:52:55 · 391 阅读 · 1 评论 -
AGC054 题解(A-C)
SolutionA无脑 dp\text{dp}dp 即可。B花了好长时间才做出来。假设 TTT 依次选择了橘子 t1,t2,⋯ ,tkt_1,t_2,\cdots,t_kt1,t2,⋯,tk,AAA 依次选择了橘子 a1,a2,⋯ ,an−ka_1,a_2,\cdots,a_{n-k}a1,a2,⋯,an−k,考虑构造一组满足上述要求的方案。首先,一定是 TTT 先选,于是他先拿了 t1t_1t1。接下来的一个橘子,必须是 t2t_2t2 或 a2a_2a2,但是若选择了 t2原创 2021-06-28 13:41:13 · 614 阅读 · 0 评论 -
CF1540D Inverse Inversions 题解
Description传送门Solution算法一考虑一个 O(nq)O(nq)O(nq) 的算法。我们动态地维护序列 aaa,其中 aia_iai 表示 pip_ipi 是 [1,i][1,i][1,i] 中第几小的。显然,有 ai=i−bia_i=i-b_iai=i−bi。对于一次修改,直接 O(1)O(1)O(1) 地更新 aia_iai。对于一次查询,令 ans=aians=a_ians=ai,并从 i+1i+1i+1 一直扫描到 nnn。若当前的 ansansans 满足原创 2021-06-27 11:22:20 · 267 阅读 · 0 评论 -
CF1536F Omkar and Akmar 题解
Description传送门Solution首先,不难发现,无论先手与后手如何操作,后手总是赢的。也就是说,题目所要求的答案,就是存在多少种极大格局。直接考虑操作格局较为困难,于是考虑最终的盘面格局。不难发现:①由于它需要是极大的,所以:不存在连续两个空格。对于某个空格而言,其两侧必然是一个 A\text{A}A,一个 B\text{B}B。②由于它是合法的,所以:不存在两个连续的 A\text{A}A。不存在两个连续的 B\text{B}B。通过手玩可以发现,原创 2021-06-27 08:32:24 · 261 阅读 · 0 评论 -
P5292 [HNOI2019 D2T1]校园旅行 题解
无限膜拜 myy。Description传送门Solution算法一首先考虑一个 O(m2)O(m^2)O(m2) 的算法。令 fi,jf_{i,j}fi,j 表示,是否存在一条以 iii 为起点,以 jjj 为终点的标号回文路径。若 fi,j=1f_{i,j}=1fi,j=1,且存在边 (u,i)(v,j)(u,i)(v,j)(u,i)(v,j) 使 u,vu,vu,v 同奇同偶,那么 fu,v=1f_{u,v}=1fu,v=1。注意到状态转移较难确定顺序,所以我们需要使用 queue原创 2021-06-26 16:20:10 · 134 阅读 · 0 评论 -
Codeforces Round #728 (Div. 1) B Tree Array 题解
计不如人,肝败吓疯。Description传送门Solution翻译作品。算法一考虑固定一个根 rrr,作为序列中的第一个位置。从而,一个合法的 bfs\text{bfs}bfs 序列,就等价于从 rrr 往外扩展,每新扩展出一个节点就将其压入的序列。看到期望逆序对数,不难想到枚举 x,y(x>y)x,y(x>y)x,y(x>y),并求出 xxx 在 bfs\text{bfs}bfs 序列中比 yyy 先出现的概率。此时,我们已经三重循环地枚举了 r,x,yr,x,yr,x,翻译 2021-06-26 09:29:29 · 173 阅读 · 0 评论 -
6.5. 提高组模拟赛 题解
SolutionA对于第 xxx 轮,我们将所有满足 i+j≡x(modn−1)i+j \equiv x \pmod {n-1}i+j≡x(modn−1) 的 (i,j)(i,j)(i,j) 配对。注意这里 i,ji,ji,j 的下标均从 000 开始。但是这样会导致一些数无法配对,例如当 n=6,x=2n=6,x=2n=6,x=2 时,000 已经和 222 配对了,那么 555 就无法和 222 配对了。同时,111 无法与它自己配对,所以最终会剩下 5,15,15,1 未配对。由于每一轮中会有原创 2021-06-05 20:39:15 · 174 阅读 · 2 评论 -
ARC 121 D 题解
Description传送门SolutionLemma 1若我们将 aaa 从小到大排序,那么答案的上界为∑i=n+12nai−∑i=1nai\sum_{i=n+1}^{2n}a_i-\sum_{i=1}^n a_ii=n+1∑2nai−i=1∑nai考虑构造一个能达到上界的算法。令 fif_ifi 表示,在排序后 iii 是否在前一半。我们将原序列从左往右扫描,用栈实时维护未匹配的左括号,并记录下每个左括号来源于哪个位置。令当前扫描到了 iii。若栈未空,填上 ( 并加入栈原创 2021-05-30 19:49:27 · 198 阅读 · 0 评论