10 2024 档案

摘要:参考资料: Slope Trick - CCComfy - 博客园 Slope trick 学习笔记 - henrici3106 - 博客园 Slope Trick 总结 - rui_er - 博客园 定义 Slope Trick 是一类具有凸性的最优化 DP 的优化手段,其具有效率高,空间小,易于 阅读全文
posted @ 2024-10-29 22:15 spdarkle 阅读(49) 评论(0) 推荐(0)
摘要:F 还没来得及看,不想看了。 contest link A 显然你可以用一个堆直接贪心,将每组牛按照 \(s\) 分类,直接扫过去,当加入 \(s=i\) 的牛的时候,现在还在堆里的牛显然就有相同的起点,则其终点越近越优,所以加入牛 \((e,m)\) 的时候判断当前容量是否足够,如果不够是否需要弹 阅读全文
posted @ 2024-10-29 16:55 spdarkle 阅读(10) 评论(0) 推荐(0)
摘要:时隔两年,终于找到了做当年CSP-J的感觉 害,一到落笔之时竟无从起笔。 先复述一下考场过程吧。 Day 1 2:15 来到考场,进去了,亲切的lhy还在问我为啥这么慢。。。 不过一进考场就刚好能进机房还是不错的 2:20 拿着电脑,哎,为啥我这个电脑按 shift 切不了中英文?当时认为手动切英文 阅读全文
posted @ 2024-10-27 13:57 spdarkle 阅读(65) 评论(0) 推荐(0)
摘要:link A 显然只需要考虑质因子。 首先 \(k\) 只有一个质因子可以特判,有两个可以 exgcd 有三个及其以上那么最小的一个 \(\le 10^5\),同余最短路即可。 B 考虑一个序列 $\lbrace x|x=a_ib_i^t,t\in \mathbb{N}\rbrace $,对于一个质 阅读全文
posted @ 2024-10-24 19:13 spdarkle 阅读(13) 评论(0) 推荐(0)
摘要:参考:IOI2021 国家集训队论文 胡昊 以下表示字符串的下标都是 \([0,|S|-1]\),设 \(n\) 为最后一项下标也就是 \(|S|-1\) 定义 定义简单串 \(S\) 指 \(\forall i\in [1,|S|-1],S[i,n]>S\),也即 任意真后缀大于 \(S\) 定义 阅读全文
posted @ 2024-10-22 21:47 spdarkle 阅读(9) 评论(0) 推荐(0)
摘要:link A 显然可以分治计算,我们只需要计算跨过中点(含 \(t\) 也就是的匹配次数,就可以递归处理) 那么这就相当于是枚举匹配位置,查前面的后缀和后面的前缀能否匹配,可以暴力地贪心扩展若干轮直到 \(|s_i|\ge 10^6\),这时候直接利用哈希判断即可。 复杂度大概是 \(O(\sum 阅读全文
posted @ 2024-10-22 19:19 spdarkle 阅读(9) 评论(0) 推荐(0)
摘要:建议看到结论之后直接画图自己推 目前定义 \(s[l,r]\) 为字符串 \(s\) 的 \([l,r]\),定义 \(nxt_i\) 为 KMP 算法所得。 定义: \(s[1,i]=s[n-i+1,n]\),则称 \(s[1,i]\) 是 \(s\) 的一个 border 可能证明会比较浅显,但 阅读全文
posted @ 2024-10-22 19:18 spdarkle 阅读(40) 评论(0) 推荐(0)
摘要:E 这个最大分值显然是:设 \(c[i]\) 为元素 \(i\) 的出现次数,做前缀 \(min\),然后求和 考虑到我们只关心各个元素的出现次数,那么设原本序列是 \(cnt\),子序列的是 \(b\) 则需要乘上一个组合数 \(\prod {cnt[i] \choose b[i]}\) 设 \( 阅读全文
posted @ 2024-10-21 19:57 spdarkle 阅读(23) 评论(0) 推荐(0)
摘要:长链剖分 额,其实和树剖差不多,对于每个节点 \(u\) 维护 \(mxd_u\) 为子树内节点深度最大值。 那么令 \(Son(u)\) 里取到 \(mxd_v\) 最大的儿子 \(v\) 为长儿子,类似重链剖分处理即可。 同样令连接不同长链的两个点之间的边为虚边。 有如下性质: 从根到节点 \( 阅读全文
posted @ 2024-10-21 17:04 spdarkle 阅读(12) 评论(0) 推荐(0)
摘要:参考:link1,link2 定义 竞赛图是指一类对于任意两个点之间有且只有一条有向边的有向图,下面记 \(G=(V,E),n=|V|,m=|E|\),我们称一个 \(|V|=n\) 的竞赛图为 \(n\) 阶竞赛图。 性质 竞赛图缩点后是链状结构 考虑按照tarjan算法缩点后,对于 \(col_ 阅读全文
posted @ 2024-10-17 22:15 spdarkle 阅读(149) 评论(0) 推荐(0)
摘要:contest link A 与 cheap robot 是一个题,就是跑多元最短路之后 \(dis_u+dis_v+w(u,v)\) 赋权跑Kruskal重构树即可 B 注意到是网格图,那么 \(u,v\) 不连通也就是以其为源点/汇点存在一个割。转对偶图之后也就是判环,那么在删除 \((u,v) 阅读全文
posted @ 2024-10-15 15:03 spdarkle 阅读(27) 评论(0) 推荐(0)
摘要:一个相当厉害的东西啊。 参考原件:IOI 2008 国家集训队论文——周冬。 图片引自 OI-wiki 平面图 llmmkk ’s blog 论文原件 先给出结论: 平面图最小割等于其对偶图最短路 平面图 平面图,指可以通过画图方式将使得边两两不相交的图。(无向图) 例如: 事实上是: 一些概念: 阅读全文
posted @ 2024-10-14 16:04 spdarkle 阅读(203) 评论(0) 推荐(1)
摘要:一年之后再看好歹是会双log做法的84分的,虽然可能被卡常 首先显然有 \(x\oplus y\le x+y\)。 对于一个最优的方案 \(S,x\) 你显然如果不影响 $\oplus $ 部分的最值的话移走的最优的。 所以我们只会将会影响 $\oplus $ 部分最值的留在 \(S\)。 考虑二分 阅读全文
posted @ 2024-10-09 20:00 spdarkle 阅读(16) 评论(0) 推荐(0)
摘要:contests-link A 求最短路啊 那显然只需要看端点颜色不同的边即可 那么依次考虑每条边的贡献 一个想法是暴力修改,不过菊花就死了 一个想法是把颜色相同且相连的点缩在一起然后求剩下边的min,现在至少剩下两个连通块 那根据Boruvka知道,这剩下的最优边必然是MST上的边(对于n个点任意 阅读全文
posted @ 2024-10-08 18:48 spdarkle 阅读(12) 评论(0) 推荐(0)
摘要:link A -BZOJ3706 显然可以发现有解当且仅当仅保留所有黑色边时,每个连通块存在欧拉回路 最小操作次数可以考虑将黑色连通块缩成一个点,然后在原图里一个连通块拿出任意一颗生成树都可以将这里面的黑点全部消掉(走到黑点的时候走欧拉回路,树边都只会经过两次且都是白边)。 显然不存在比这个更小的解 阅读全文
posted @ 2024-10-05 16:46 spdarkle 阅读(16) 评论(0) 推荐(1)
摘要:ABC261Ex 显然有一个倒序DP \[\begin{cases} f_{i,0}=\min_{i\to j}f_{j,1}+w(i,j)\\ f_{i,1}=\max_{i\to j}f_{j,0}+w(i,j)\\ \end{cases} \]目标 \(f_{S,0}\) 可以看作用 dijk 阅读全文
posted @ 2024-10-04 21:25 spdarkle 阅读(10) 评论(0) 推荐(0)
摘要:主要是一些模型。 ICG的定义 双方轮流移动 不能行动者判负 所能进行的操作仅与当前局面有关,与操作者无关 一般而言发现 ICG 就可以考虑 SG 了。 SG 分清楚 后继状态 和 子游戏。 子游戏的和是 \(\oplus\),后继状态的和是 \(mex\)。 后继状态 指进行一次操作所能够达到的状 阅读全文
posted @ 2024-10-04 21:02 spdarkle 阅读(21) 评论(0) 推荐(0)
摘要:CF2018E2 Solution 先考虑E1的做法。 首先我们如果钦定一组 \(k\) 条线段的话,容易求出最大组数。 简单来讲就是将所有端点按照右端点排序,这样只需要考虑一个偏序,然后扫描,将区间 \([l_i,r_i]\) 加一,当发现某个点的值为 \(k\) 时,就说明分成了一组方案。 此时 阅读全文
posted @ 2024-10-03 19:37 spdarkle 阅读(11) 评论(0) 推荐(0)