摘要:
Codeforces Round #706 (Div. 2) 题解 题目链接 A. Split it! 大模拟,耐下心看懂题意。 B. Max and Mex 不难观察到:当$mex(S)<max(S)$的时候最多只可能只增加一个“新数”。 这是因为:\(⌈\dfrac{a+b}{2}⌉\geq \ 阅读全文
摘要:
省选退役 省选前的一个晚上,我就已经清楚了这次省选意味着什么。晚上,看着窗外没有星光的夜空,记忆仿佛回到了初一的时候—— 初一上学期,大致受我的堂哥的影响,我学习了C语言。不过学了半年,由于没有任何人指导,我连函数都不知道怎么写。当时,学校有信息学竞赛课,可是和我的语文冲突了。为了我的文化课,我显然 阅读全文
摘要:
E. Dead Ends 这种状态压缩题目见得比较少。考前来一道。 容易观察到,这道题$n$过于小,这让我们联想到——状态压缩。 不妨定义$dp(S)$代表生成树点集为$S$的方案数。那么,容易观察到,这个状态难以转移。 具体来说,当我们枚举$S$的子集时,我们不知道应该怎么做才能避免不重复地计算。 阅读全文
摘要:
[NOIP2018 提高组] 保卫王国 深受启发的题解; DP的集大成者 倍增:\(O((n+m)\ log\ n)\) 首先,这道题最原始的问题是经典的最大独立集问题。没有上司的舞会: 设$dp(u,0)$代表节点$u$没被选上,$dp(u,1)$代表结点$u$被选上。 时间复杂度为$O(n)$; 阅读全文
摘要:
F. Cutlet 第一次接触这样的动规设计。有收获 首先,我们先简化一下问题: \(k\)(\(k\leq100\))个给定区间,给这$2n$个区间染色($0$或$1$),规定相邻颜色断点必须在给定区间内,问是否有合法的方案使两种颜色格子数均为$n$,以及最少的断点。 考虑可行性: 不妨设计DP: 阅读全文
摘要:
[USACO15JAN]Moovie Mooving G 状压难题。不过也好理解。 首先我们根据题意: she does not want to ever visit the same movie twice. 这句话以及$n$的取值范围给了我们足够多的提醒:可能是状态压缩。 那么,当我们真正尝试用 阅读全文
摘要:
[NOIP2017 提高组] 宝藏 状态压缩好题。下面我们来一一分析一下这道题的总体想法。 容易发现,$n\leq12$暗示这道题时间复杂度为指数级别的。 由于题目表明 两个已经被挖掘过的宝藏屋之间的道路无需再开发。 所以,我们开发的路径构成的只能是一棵树,不能是有环的图。 因此,我们可以将题目抽象 阅读全文
摘要:
花园 也是一道不错的状压练习题,梳理一遍思路。 首先,很明显,我们并不能够用一个简洁组合式子表示原问题答案。我们想到了递推计数。 不难想到,由于这个是一个环,我们拆环,将其转化成序列上的问题。同时,我们枚举该序列上最后$m$个数,分别对枚举的这些情况一一统计答案。 具体来讲,我们可以令$dp(i,S 阅读全文
摘要:
[清华集训2012]串珠子 接下来我们把整道题的主要思路简要地梳理开来。 首先,我们先考虑最经典的问题(这经典吗???): 旅行商问题 不,是与之类似的一类问题:给一堆点(有顺序要求),要求有多少种方案数使这 \(n\) 个点构成一张连通图(无自环、重边)。 该问题可以通过一下方法解决: 考虑补集转 阅读全文
摘要:
帮助 这道题好题,接下来我们从头到尾详细地分析一遍这道题的做法以及给我们以后做题目的启发。 考虑到$25$到$32$这一值域很小,并且可以整体平移到$0$到$7$,这是原始想法。 接下来积累一个比较好的想法:将一个数抽出来再放回去相当于仅仅把抽出来的数一股脑取出来,最后再进行插入操作。 该转化有何好 阅读全文