摘要: Intro 简单整理了一些关于 C++ STL 的注意点。欢迎各路神仙在评论区提出意见。 虽然大多数东西可以手写不过某些东西最好少造轮子,善用 STL 可以节约很多考场时间,简化实现。 当然是时空限制和功能足够的前提下。 Tips 容易忽略的 C11/17 可用但 C98/14 不可用的特性: 关联 阅读全文
posted @ 2020-12-03 15:19 -Wallace- 阅读(861) 评论(3) 推荐(1) 编辑
摘要: ### 最长公共子序列(LCS)问题 > 你有两个字符串 $A,B$,字符集为 $\Sigma$,求 $A, B$ 的最长公共子序列。 ### 简单动态规划 首先有一个广为人知的 dp:$f_{i,j}$ 为 $A$ 的长度为 $j$ 的前缀与 $B$ 长度为 $i$ 的前缀的 LCS。(注意 $i 阅读全文
posted @ 2020-11-28 16:13 -Wallace- 阅读(5462) 评论(3) 推荐(8) 编辑
摘要: Description 给定一颗 \(n\) 个顶点的树 \(\text T\),共 \(n-1\) 次断边操作,每次将树分为两部分 \(\text T_1, \text T_2\),求: \[ \sum_{(u, v)\in\text E}\left( \sum_{x \text{为} \text 阅读全文
posted @ 2020-11-26 22:03 -Wallace- 阅读(393) 评论(0) 推荐(1) 编辑
摘要: Intro 众所周知原题没写过是很吃亏的,突然发现自己许多联赛题未补,故开此坑。 在基本补完前会持续更新,希望在 NOIp2020 前填完。 虽然是“联赛题”,但不少题目还是富有思维含量的,值得一做。 关于为什么选 UOJ 测:UOJ 上有 Hack 机制,一些在官方数据下能过的错解会被卡掉,为了严 阅读全文
posted @ 2020-11-18 21:32 -Wallace- 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 考场经历 吐槽:为什么这个 Enter 的位置怎么诡异啊老是打错。要是考挂了就怪你 开场当然先看了 T1,发现是个日期转换,果然是个百出不厌的模拟题类型,估价细节多到爆炸。看了几分钟题目,对这些规则云里雾里。估记药丸,T1 都怎么鬼畜。 考虑了一下不妨先扔一边看看 T2。感觉挺水,五六分钟就切掉了。 阅读全文
posted @ 2020-11-16 18:11 -Wallace- 阅读(378) 评论(1) 推荐(1) 编辑
摘要: Description \(n\) 个正整数排成一列,每个位置 \(i\) 有一个初始值 \(A_i\) 以及目标值 \(B_i\)。 一次操作可以选定一个区间 \([l, r]\),并将区间内所有数赋值为 \(\max_{i\in[l, r]} A_i\)。 你可以进行任意次操作,每次操作基于上次 阅读全文
posted @ 2020-11-10 20:21 -Wallace- 阅读(406) 评论(1) 推荐(1) 编辑
摘要: 维护可重集的合并 一般手法 权值线段树: 均摊时间 \(O(n\log n)\),还可以支持分裂,但空间开销巨大 平衡树启发式合并:空间 \(O(n)\) 但总时间高达两个 \(\log\)。 非旋 Treap 合并 这个科技的时间复杂度为均摊 \(O(n\log n)\),但我不会证(带分裂应该是 阅读全文
posted @ 2020-10-23 19:44 -Wallace- 阅读(2038) 评论(1) 推荐(5) 编辑
摘要: Description \(n\) 个点 \(m\) 条边的带边权无向图。\(q\) 次操作,每次修改一条边的权值。 求每次修改后的最小生成树的边权和。 Hint \(1\le n\le 2\times 10^4, 1\le m, q\le 5\times 10^4, 1\le \text{边权}\ 阅读全文
posted @ 2020-10-19 20:54 -Wallace- 阅读(247) 评论(0) 推荐(0) 编辑
摘要: \(k\) 短路问题简介 所谓“\(k\) 短路”问题,即给定一张 \(n\) 个点,\(m\) 条边的有向图,给定起点 \(s\) 和终点 \(t\),求出所有 \(s\to t\) 的简单路径中第 \(k\) 短的。而且一般来说 \(n, m, k\) 的范围在 \(10^5\) 级别,于是爆搜 阅读全文
posted @ 2020-09-18 20:18 -Wallace- 阅读(2166) 评论(0) 推荐(3) 编辑
摘要: Description 给定平面上的 \(n\) 个圆,用三个参数 \((x, y, R)\) 表示圆心坐标和半径。 每次选取最大的一个尚未被删除的圆删除,并同时删除所有与其相切或相交的圆。 最后输出每个圆分别是被那个圆所删除的。 Hint \(1\le n\le 3\times 10^5\) \( 阅读全文
posted @ 2020-08-19 12:29 -Wallace- 阅读(491) 评论(0) 推荐(0) 编辑