- 博客(302)
- 资源 (2)
- 收藏
- 关注
原创 【瞎扯】 About Me
来了?坐,欢迎来到suncongbo’s blog.(WTF??怎么开始模仿vfk大爷说话了)我是一名来自不知名小地方的不知名小蒟蒻。生于200020002000年之后的某个奇怪的时间。超级菜鸡。智商超低,人超傻。超颓。啥都不是。我不是妹子,也不是人赢。想找妹子的请远离。对OI和数学感兴趣。目前主要搞OI. 尚未退役,苟且存活。心理问题十分严重。经常心态崩盘。联系方式我的QQ号的...
2018-12-18 13:54:31 533 2
原创 Gym 101221I [WF2014]Sensor Network (二分图匹配)
题目链接https://codeforces.com/gym/101221/题解又是一道看了题解的作业题。这是一个最大团(或者补图上的最大独立集)问题,而二分图最大独立集是可以做的,因此可以考虑转化成二分图。枚举点集的直径的两端点 \(x,y\),满足 \(dis(x,y)\le d\),那么剩下点的可选范围就是两个分别以 \(x,y\) 为圆心、\(dis(x,y)\) 为半...
2021-01-09 13:16:00 469 2
原创 Gym 101190D BZOJ 4842 Luogu P6967 LOJ #6071 [NEERC2016]Delight for a Cat (费用流)
题目链接(BZOJ) 大人,时代变了(Gym) https://codeforces.com/gym/101190(Luogu) https://www.luogu.com.cn/problem/P6967(LOJ) https://loj.ac/p/6079题解想了一晚上,终于有点理解了,好神仙啊。我只会纯网络流的做法,并不会线性规划。首先题意显然是有一个序列每个位置可...
2021-01-08 18:46:00 260
原创 NOI2020 前最后的日子
2020 年 8 月 10 日,省队集训 Day3,开此博客。每个 OIer 都从这名叫“菜”的泥潭里出生,尽力摆脱这里,飞向更高更远的天空。然而真正能展翅高飞的毕竟只是少数人,大多数则永远无法冲破束缚,最终被埋没在泥潭中。显然我没能摆脱这片绝望的泥潭,时间却已耗尽。尽管人生还很长,但 OI 生涯的主线已经到了终点。就用这片博客简单记录一下最后这几天吧。长短视心情,当然文笔还是一如...
2020-08-13 22:53:00 1720
原创 【学习笔记】Dilworth 定理的构造性证明
发现自己并不会 Dilworth 定理的构造性证明(原题要求输出方案),于是去 Wiki 上学习了一下。下文是我参照 Wiki 上的证明思路口胡的一个证明。附例题:Codeforces 590EDilworth 定理: DAG 的最长反链大小等于最小链覆盖大小。反链是指从图中的一个点的集合,使得集合内点两两不可达;链覆盖是指用若干条可以相交的链覆盖图中所有的点。证明:首先考...
2020-07-16 09:40:00 879
原创 Codeforces 1375H Set Merging (分块)
题目链接https://codeforces.com/contest/1375/problem/H题解首先注意到 \(2.2\times 10^6\approx 2n\sqrt q\),因此想到分块。考虑对值域进行分块,每块内值域连续,位置保持相对不变,大小为 \(B\),分成 \(\frac{n}{B}\) 块。那么我们可以对每个块内的 \(\frac{B(B+1)}{2}\...
2020-07-09 18:45:00 370 2
原创 SDOI2020游记
6.19 报到日上午到了东营。在车上看字符串没看明白,自闭了,感觉药丸。6.20 Day1上午开幕式。下午机试。打开T1顿时慌了,看上去不会做?瞎转化了一波,莫名其妙把题意转化错了,于是前一个小时就在自闭中度过了。到了1.5h的时候还不会做,心态渐崩,决定敲个暴力。敲完了,我怎么过不了样例???结果发现居然转化错题意了……gg没啥继续想下去的心态,于是\(21\)分走人了,...
2020-06-28 08:27:00 394 1
原创 Codeforces 1299 题解
鸽了一周的题解……我颓炸了。A考虑一下 \(f(x,y)\) 的意义,就是 \(x\) 具有且 \(y\) 不具有的位,那么 \(f(f(x,y),z)=f(x,y\ \text{or}\ z)\). 也就是只有重排后第一个位置是多少队最终的值有影响。于是可以维护前后缀 \(\text{or}\) 然后枚举第一个即可。时间复杂度 \(O(n)\).代码: 80183835B...
2020-05-21 21:20:00 220 1
原创 Codeforces 1344 题解
A假设所有的 \((i+a_i)\) 模 \(n\) 意义下构成排列则答案为 YES,否则为 NO.时间复杂度 \(O(n)\) 或 \(O(n\log n)\).代码: 79150268B由于每行每列必须有至少一个 S,所以每行每列为 # 的格子要么构成一个连续区间要么不存在。如果某行或列不存在 #,则该行或列的格子必须放在一个不存在 # 的列或行。于是得到了有解的必要条...
2020-05-12 12:19:00 218 1
原创 Codeforces 1344F Piet's Palette (线性代数、高斯消元)
题目链接https://codeforces.com/contest/1344/problem/F题解怎么又是神仙数学构造题。。观察题目中的操作,我们令\[\textbf{A}_W=\begin{bmatrix}0\\0\end{bmatrix},\ \textbf{A}_R=\begin{bmatrix}1\\0\end{bmatrix},\ \textbf{A}_Y=\be...
2020-05-11 21:42:00 297
原创 Codeforces 1314 题解
这场整体质量感觉可以算 2020 年度(目前为止)最垃圾。A按数值从小到大扫描,维护一个优先队列,每遇到一个数加入队列,每次数值发生 \(+1\) 时弹掉队列中价值最大元素,然后把此时队列中所有元素的价值和类加进答案。时间复杂度 \(O(n\log n)\).代码: 78541690B这题看起来最难以处理的就是编号问题,所以就从编号问题入手,可以发现当场上还剩下 \(2^i\...
2020-05-10 18:03:00 172
原创 Codeforces 1338E JYPnation (图论)
UPD 2020.04.30:本题解被发现存在严重错误,已更正。题目链接https://codeforces.com/contest/1338/problem/E题解这题太神了……这才是 div1E 啊,比什么 nim 积意义下的离散对数之类的高明到不知道哪里去了这篇题解主要复述一下官方题解并补充一下官方题解上省略的证明。所有证明都是蒟蒻口胡的,有问题敬请指出。下面把题目保证不存在的那...
2020-05-03 20:18:49 230
原创 UOJ #514 [UR #19]通用测评号 (容斥原理、DP)
题目链接http://uoj.ac/contest/51/problem/514题解神仙们都好强啊。本题有好多做法,但是第一步都是一样的:题目中的“每次选一个没有达到 \(a\) 的进行装填”其实没有用,可以等价成每次随机选任何一个位置 \(+1\),然后求 \(\ge a\) 的个数的期望。然后考虑计算 \(1\) 号位置最后达到 \(a\) 了的概率。不容斥做法考虑操...
2020-04-29 10:45:00 449
原创 UOJ #513 [UR #19]清扫银河 (图论、线性基)
题目链接http://uoj.ac/contest/51/problem/513题解好题。考虑简化操作:对于第二种操作,其实就可以等价于若干次单点操作,每次标记一个点,把和这个点相邻的边全部反转。即有用的操作只有 \(n\) 种。对于第一种操作,众所周知一个无向图中所有的环都可以由若干个非树边覆盖的环异或得到。即有用的操作只有 \((m-n+1)\) 种。这样我们可以得到一...
2020-04-28 14:58:00 202
原创 Codeforces 1326F Wise Men (容斥原理、状压 DP、划分数)
题目链接F1: https://codeforces.com/contest/1326/problem/F1F2: https://codeforces.com/contest/1326/problem/F2题解好题。考虑容斥,对每个 01 串求满足串中为 \(1\) 的位置必须为 \(1\)、串中为 \(0\) 的位置 \(0\) 或 \(1\) 均可的排列的个数。最后把超集...
2020-04-28 11:20:00 203
原创 Codeforces 1326F Wise Men (容斥原理、状压 DP、子集和变换、划分数)
题目链接F1: https://codeforces.com/contest/1326/problem/F1F2: https://codeforces.com/contest/1326/problem/F2题解好题。考虑容斥,对每个 01 串求满足串中为 \(1\) 的位置必须为 \(1\)、串中为 \(0\) 的位置 \(0\) 或 \(1\) 均可的排列的个数。最后把超集...
2020-04-28 11:20:00 136
原创 Codeforces 1329 题解
A先构造最左方案,然后能调整尽量调整即可。时间复杂度 \(O(m)\).代码: 75367082B显然每个二进制位是独立的,且只能有 \(0\) 个或 \(1\) 个数在该位上有值。乘起来即可。时间复杂度 \(O(\log n)\).代码: 75373134C贪心。每次删去能删的尽量大的(不亏)。比较好的实现方法是定义一个 solve(u) 函数,先不停地删 \(u\...
2020-04-27 18:58:00 195
原创 【学习笔记】关于正整数除法下取整和上取整的一些基本运算公式
您从来没有见过这么菜的东西对不对。没错我就是这么菜。实在对不起玷污了您的眼睛。OI 中经常遇到有关下取整和上取整的运算,这些公式手推很容易,但是对我这种菜鸡来说非常容易出错并且需要耗时,因此不如把他们记住。设 \(a,b,m\) 为正整数:\[\lfloor\frac{a}{b}\rfloor=\lceil\frac{a+1}{b}\rceil-1,\lceil\frac{a}{b...
2020-04-27 17:46:00 930
原创 Codeforces 1338 题解
A对于每个 \(i\) 我们求出 \(b_i\) 表示 \(i\) 这个数最少要增加多少(\(\max^i_{j=1}a_j-a_i\)),答案等于最小的 \(k\) 使得 \(2^k-1\ge \max^n_{i=1}b_i\).时间复杂度 \(O(n)\).代码: 76336034B最小:只要存在两个叶子距离为奇数,答案就是 \(3\),否则是 \(1\).最大:等于非叶...
2020-04-26 14:01:00 218
原创 Codeforces 1336E Chiori and Doll Picking (子集和变换、线性基、阈值算法、状压 DP、组合计数)...
题目链接https://codeforces.com/contest/1336/problem/E题解假设线性基大小是 \(L\),其异或值域记作 \(S\),则对于异或值域内每个数,显然有 \(2^{n-L}\) 种方案异或得到。因此只需要建一组线性基然后对这个线性基求答案即可,相当于 \(n\le m\).数据分治。算法一:暴力枚举每个元素选不选。时间复杂度 \(O(2...
2020-04-24 16:01:00 390
原创 Codeforces 1149 题解
A特判全是 \(2\),对于有 \(1\) 的情况把 \(1\) 放到第二个和最后。时间复杂度 \(O(n)\).代码: 76492031B考虑只有一次询问的情况,有一个 \(O(n^3)\) 的 DP,设 \(f[i][j][k]\) 表示三个串分别匹配到 \(i,j,k\),大串最短匹配到哪。转移形如 \((i,j,k)\rightarrow (i+1,j,k),(i,j+...
2020-04-14 23:32:00 177
原创 Codeforces 1025 题解
A若 \(n=1\) 则答案为 YES,否则答案为 YES 当且仅当存在两个相同的字符。时间复杂度 \(O(n)\).代码: 76484733B求出所有 \(\text{lcm}(a_i,b_i)\) 的 \(\gcd\),选一个整除它的质数即可。时间复杂度 \(O(n\log W)\).代码: 41863357C最后产生的串一定可以通过原串按照正向或反向轮换得到。而正...
2020-04-14 14:43:00 367
原创 Codeforces 1188 题解
A首先对于 A1 题,可以加减任意实数,结论是答案为 YES 当且仅当没有度数为 \(2\) 的点。必要性显然,充分性通过下面的构造来证明。A2 题的构造:考虑随便找一个叶子节点为根,记为 \(rt\)。则对于任何一个非根节点 \(u\),我们可以实现将根到该点的路径上的边权 \(+w\),其中 \(w\) 为任意偶数,其余边权不变。如果 \(u\) 是叶子,那么直接执行操作 \((...
2020-04-14 14:25:00 180
原创 Codeforces 1025F Disjoint Triangles (计算几何)
题目链接https://codeforces.com/contest/1025/problem/F题解一道挺有意思的计算几何题 qwq关键在于注意到任何一对不相交的三角形之间,一定有 \(2\) 条内公切线,而一对相交的三角形之间有 \(0\) 条。于是枚举两个点,求一下这两个点的连线两侧分别有多少点,就可以求出有多少对三角形以它为公切线,总和除以 \(2\) 就是答案。这个...
2020-04-13 20:55:00 143
原创 Codeforces 1025G Company Acquisitions (概率期望)
题目链接https://codeforces.com/contest/1025/problem/G题解什么神仙题……结论:定义一个有 \(k\) 个儿子的点的势能为 \(2^k-1\),一个状态的势能等于所有点的势能总和,答案等于终止状态的势能(\(2^{n-1}-1\))减去初始状态的势能(\(\sum^n_{i=1}2^{sonn_i}-1\))。证明:考虑每次操作后一个状...
2020-04-13 20:50:00 807
原创 Codeforces 997D Cycles in Product (点分治、DP计数)
题目链接https://codeforces.com/contest/997/problem/D题解点分治这个思路想不到==首先这两棵树的笛卡尔积并没有什么用处,因为笛卡尔积中的环就是两棵树中各找一个环按任意顺序归并起来(且不难证明不同的归并顺序对应不同的方案)。只需要对两棵树分别求出 \(ans_i\) 表示有多少个长度为 \(i\) 的环。注意由于 1213 这种环的存在,...
2020-04-07 23:38:00 209
原创 Codeforces 997E Good Subsegments (线段树)
题目链接https://codeforces.com/contest/997/problem/E题解经典题,鸽了 159 天终于看明白题解了。。考虑一个区间是连续的等价于这个区间内的 \((\max-\min)-(r-l)=0\),否则该值 \(\gt 0\).那么我们考虑从小到大枚举右端点 \(r\),当 \(r\) 变为 \((r+1)\) 时,对于每个 \(l\),上述值...
2020-04-07 16:27:00 213
原创 Codeforces 1004F Sonya and Bitwise OR (线段树)
题目链接https://codeforces.com/contest/1004/problem/F题解这种水题都不会做了怎么。。考虑一个序列的前缀 \(\text{or}\) 值只会变化 \(O(\log W)\) 次,于是线段树维护每个区间的前缀和后缀 \(\text{or}\) 值即可。时间复杂度 \(O(n\log n\log W)\).代码#include<b...
2020-04-03 20:42:00 151
原创 Codeforces 1188E Problem from Red Panda (计数)
题目链接https://codeforces.com/contest/1188/problem/E题解我们可以发现,题目要求数的目标状态的个数,实际上就是在数操作序列(指每个气球操作的次数构成的序列,第 \(i\) 个颜色操作 \(b_i\) 次)的个数。可以发现如果给定了操作序列,每次一定是操作那个剩下的 \(a_i\) 最小的。那么对于一个合法序列 \(b\),将其每个元素减去...
2020-03-29 11:51:00 159
原创 Codeforces 1284E New Year and Castle Building (计算几何)
题目链接https://codeforces.com/contest/1284/problem/E题解我们计算选出 \(3\) 个点构成三角形覆盖的点数之和,这个值乘以 \(\frac{(n-4)}{2}\) 就是答案。这是因为对于任意一个(凸或凹,根据题意凹的多种凹法只算一次)四边形,从 \(4\) 个顶点中选出 \(3\) 个构成三角形的 \(4\) 种方案中每个被四边形覆盖的...
2020-03-26 15:59:00 142
原创 Codeforces 1322D Reality Show (DP)
题目链接https://codeforces.com/contest/1322/problem/D题面写得非常模糊,很容易读错题,建议参考翻译:https://www.luogu.com.cn/problem/CF1322D题解(最大的难点是读题?读错题看了一天题解没看懂的蒟蒻枯了)考虑假设没有选出的 \(l_i\) 不增这个限制,那么答案是和顺序无关的,因为在选出的集合固定后...
2020-03-24 19:41:00 295
原创 AtCoder AGC043C Giant Graph (图论、SG函数、FWT)
题目链接https://atcoder.jp/contests/agc043/tasks/agc043_c题解场上感觉没啥思路就放弃了,场下想了十几分钟发现是水题,血亏。。。(只能怪自己计数水平太屑做不出 D)首先显然是按 \((i+j+k)\) 从大到小贪心,考虑图只有一维的情况,我们给无向边定向,从标号小的点连向标号大的点,设 \(u\) 点的出点集合为 \(adj[u]\)...
2020-03-24 00:37:00 400
原创 Codeforces 1305F Kuroni and the Punishment (随机化)
题目链接https://codeforces.com/contest/1305/problem/F题解真的想不出……然而大家都会考虑枚举最终所有数的 \(\gcd\),设为 \(g\). \(g=2\)时操作次数不超过 \(n\), 故答案不超过 \(n\).对于 \(g>2\), 只有操作次数小于 \(n\) 时才有贡献。那么考虑每个元素的操作次数,肯定存在至少一个元素...
2020-03-23 22:06:00 211
原创 AtCoder AGC022E Median Replace (字符串、自动机、贪心、计数)
题目链接https://atcoder.jp/contests/agc022/tasks/agc022_e题解感觉官方题解很神仙,听完另一种做法之后发现是自己太智障了考虑一个串怎么样可以缩成 \(1\), 可以采取如下贪心策略:从前往后扫描整个串,同时维护一个栈。每次把新元素压入栈顶,如果栈顶出现了 000 则消去两个 0,如果出现了 01 则直接消去。最后得到的串含有不超过 \...
2020-03-23 17:52:00 323
原创 AtCoder AGC043D Merge Triplets (DP、组合计数)
题目链接https://atcoder.jp/contests/agc043/tasks/agc043_d题解考场上想到正确做法,然后思考实现细节的时候做法逐渐扭曲,最后GG……考后睡了一觉冷静了一下才改对,我是屑……考虑序列归并的过程,可以发现每次会将某序列的相邻两个前缀最大值之间的部分依次加入。然后不难发现,最终产生的序列实际上和前缀最大值有某种神秘的关系。具体来讲,我们把每...
2020-03-22 16:34:00 238
原创 AtCoder AGC024F Simple Subsequence Problem (字符串、DP)
题目链接https://atcoder.jp/contests/agc024/tasks/agc024_f题解考虑对每个串都求出它是几个给定的串的子序列。在 \(O(4^n)\) 暴力的基础上考虑优化,状态可以进行如下的压缩:用有序 01 字符串对 \((S,T)\) 代表当前已有字符串 \(S\), 后面还需要加字符串 \(T\). 转移就枚举下一个选的是什么即可。可以发现转...
2020-03-20 20:26:00 239
原创 Codeforces 1110G Tree-Tac-Toe (博弈论)
题目链接https://codeforces.com/contest/1110/problem/G题解首先,若原树上 \(u\) 点有白子,有一个很妙的转化是可以新建 \(3\) 个新点 \(u_1,u_2,u_3\), 并连边 \((u,u_1)\), \((u_1,u_2)\), \((u_1,u_3)\), 并且去掉原有的这个白子,和原问题是等价的。然后考虑初始没有白子的情...
2020-03-18 09:06:00 153
原创 Luogu P5244 [USACO2019Feb Platinum] Mowing Mischief (动态规划、决策单调性)
题目链接https://www.luogu.com.cn/problem/P5244题解首先求出 LIS. 根据 LIS 的值我们可以对整个点集分层,每一层内进行 DP. 将每层的点按 \(x_i\) 从小到大排序,那么显然一层内的 \(y_i\) 是递减的。设第 \(d\) 层的点集为 \(L_d\).那么上一层某点能转移到的该层的点是一段区间,能转移到该层某点的上一层的点也是...
2020-03-11 22:31:00 231
原创 Codeforces 698D Limak and Shooting Points (搜索)
题目链接https://codeforces.com/contest/698/problem/D题解玄妙好题啊对于每个元素\(j\)判断\(j\)是否可被射中。假设我们要用第\(i\)个弓箭射中第\(j\)个目标,那么在射中之前有若干个目标是我们需要先射中的。但我们并不知道应该用哪些目标射中。于是我们可以枚举一个\(1\)至\(m\)的全排列\(P_k\), 然后进行BFS. ...
2020-02-22 23:46:00 154
原创 Codeforces 685C Optimal Point (二分、不同类型距离的相互转换)
题目链接https://codeforces.com/contest/685/problem/C题解我怎么又还差最后一步的时候放弃了然后往别的方向上想了一小时才发现这个思路能做……首先二分答案,转化为所有点半径为\(mid\)的曼哈顿距离区域内是否有交。考虑二维问题,显然可以用曼哈顿转切比雪夫来做,把\((x,y)\)变成\((x+y,x-y)\)那么原来两点的曼哈顿距离就等于...
2020-02-20 18:52:00 148
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人