摘要:
胡策题,迫使懒得点技能树选手学算法。。。 至少杜教和min_25会了 不想写小结啊啊啊啊 那么对于这个题先上个莫反套路 然后用杜教乘个I把f*u给消掉,发现h就是f,这个可以用类似min_25的思想搞。。。 阅读全文
摘要:
很久没有打比赛了,内部模拟赛天天垫底,第一次vp之旅又是和**一样,这样下去GDOI之后直接退役算了 整场都在忘开LL A. Lorenzo Von Matterhorn 这个题一看我就想直接虚树+树剖强行搞,但是这个是A题啊。。。写着中途看榜已经100+的人A了,冷静思考发现可以暴力计算每个修改对 阅读全文
摘要:
这题直接随机化+贪心就可以爆踩过去,我加了个退火增加容错率而已。。。。其实你随机的次数够多根本不需要。。。 然后来自肉丝哥哥的正经做法: 先钦定D(A)>D(B),那么可以枚举D(A),然后再去二分D(B),强行2-sat判就可以做到O(n^4logn)了 再考虑优化,把边按大到小排序,对于当前枚举 阅读全文
摘要:
肉丝哥哥钦定好题 话说我的blog现在为什么到处都是肉丝哥哥 先来想一个弱化版,假如能够n整除K怎么做? 把每个数字看成一个字符串,按字典序排名,这个可以后缀数组解决,然后暴力枚举每种情况,O(1)判两个长度为n/K的数字大小即可 然后不能整除一定是有n-n/K*K个长度为n/K+1的数字 先二分答 阅读全文
摘要:
还是很强的一个题 ORZ肉丝哥哥 对于两个相交区间,假如他们两个都是可行的,那么他们的交也可行,不然没可能两边都把它缺的补上 那么对于答案区间,向右找到第一个可行区间右端点覆盖询问区间,就是最优的 考虑扫描线,枚举右端点,对于当前还没有找到答案的询问,取左端点最大的去找答案 问题在于怎么快速判断一个 阅读全文
摘要:
思维僵化选手在线被虐 其实应该是不难的,题目明显分成两个集合,要求是不同集合的点不能联通 先假设全选了,然后二分图最小割,相邻两个点直接连墙的费用就可以了 阅读全文
摘要:
隔壁Rose爷爷:这个随便容斥一下写完就过了 我:。。。 我的做法很菜鸡,首先颜色给它变成最多用多少,然后再容斥 然后搞二维你设f[i][j]为i行为0j列为0的数量,再考虑容斥会发现一个很像二维二项式反演的东西。。。 我不知道能不能直接用啊(捂脸,那就设了个类似前缀和带上组合数的东西,先反演出这个 阅读全文
摘要:
考虑二分答案 对于一个区间一定是一边最大一边最小是最优的,还有不够补足L的情况,这个RMQ就好 枚举右端点是最大/最小,单调队列搞搞就完了 阅读全文
摘要:
这可能是全场最长的一份代码 问的其实是对于关键点的斯坦纳树大小 考虑补集转化,不合法的点就是它的子树中没有关键点的点和斯坦纳树根的祖先 树根不难求,关键点中dfs序最大最小点的LCA就是了 问题在前者 假如我们把子树中的点拿出来排序,这个点不合法的条件就是存在ax,ax+1满足ax<=l-1且r+1 阅读全文
摘要:
这简直就是一个!@#¥%……&*(sb题我都~!@#$%T^&* 随便枚举gcd乱推柿子完事,我还想了贼久怎么加速自然数幂和 结果告诉我直接暴力搞完事,sigema(min/d)约等于ln(n) !!!???? 阅读全文