随笔分类 -  题解

摘要:CF445D | DS | *2700 阅读全文
posted @ 2022-11-18 21:09 AIskeleton 阅读(52) 评论(0) 推荐(0)
摘要:CF1481E | *2500 | DP 阅读全文
posted @ 2022-10-29 11:59 AIskeleton 阅读(22) 评论(0) 推荐(0)
摘要:ABC262G | 区间 DP 阅读全文
posted @ 2022-10-27 11:27 AIskeleton 阅读(56) 评论(0) 推荐(0)
摘要:CF1062E | LCA | 线段树 | dfs 序 阅读全文
posted @ 2022-10-25 18:19 AIskeleton 阅读(31) 评论(0) 推荐(0)
摘要:提供一种 DP 做法。 可以发现,$a_i$ 的值域不大,可以在复杂度中出现。 设 $f_{i,j}$ 为 当前选择段尾为 $i$,最大值为 $j$ 时的最优答案。 那么不难推出状态转移方程: $\begin{cases} f_{i,a_i} = f_{i-1,j} + j & j\le a_i \ 阅读全文
posted @ 2022-09-11 12:36 AIskeleton 阅读(15) 评论(0) 推荐(0)
摘要:P4048 冷冻波 给定 $n$ 个巫妖,$m$ 个精灵,$k$ 棵树。 三者都可看做二维平面上的点,由坐标表示。 第 $i$ 棵树的半径为 $R_i$。 第 $i$ 个巫妖每隔时间 $t_i$ 可以杀死范围 $r_i$ 内的一个精灵,且两者的连线不穿过任意一棵树。 求杀死所有精灵最短时间,无解输出 阅读全文
posted @ 2022-07-05 10:06 AIskeleton 阅读(30) 评论(0) 推荐(0)
摘要:P3179 排序 给定有 \(n\) 个数的序列,\(m\) 次操作。 每次操作选择位置 \(k\) 上的数,将序列中小于等于 \(k\) 的数排序后放回。 求每次操作后序列的逆序对个数。 不进行操作的答案就是初始序列逆序对数。 可以发现,对于某个选择位置 \(k\) 的操作,只会影响到序列中只由小 阅读全文
posted @ 2022-06-27 12:34 AIskeleton 阅读(46) 评论(0) 推荐(0)
摘要:网络流,但是大模拟。 P6517 [CEOI2010 day1] alliances 题面有点长,不放了。 首先,题目给出的是一个方格图,而且连边是在相邻四个方向(上下左右)之间。 所以可以对方格图进行黑白染色,这样相同颜色的点之间就不会连边。 先考虑没有人类连边的限制,则直接跑二分图多重匹配即可。 阅读全文
posted @ 2022-06-01 12:49 AIskeleton 阅读(28) 评论(0) 推荐(0)
摘要:题意 CF546E Soldier and Traveling 有 \(n\) 个点,\(m\) 条无向边,人只能在有边相连的点之间移动。 给定每个点的初始人数 \(a_i\) 和目标人数 \(b_i\),询问是否可以使每个点的人数变换到目标人数,若可行输出方案。 \(1\le n\le 100,0 阅读全文
posted @ 2022-05-29 10:44 AIskeleton 阅读(36) 评论(0) 推荐(0)
摘要:P2402 奶牛隐藏 有 \(n\) 个点和 \(m\) 条有边权无向边,对于每个点有牛的数量 \(s_i\) 和牛棚容量 \(p_i\)。 求问所有牛全部进入牛棚所需的最小时间,无解输出 -1。 \(1\le n\le 200,1\le m\le 1500,1\le w\le 10^{15},1\ 阅读全文
posted @ 2022-05-27 20:01 AIskeleton 阅读(43) 评论(0) 推荐(0)
摘要:P5029 T'ill It's Over 给定 \(n\) 个 1,用要求的操作使得其中尽可能多的数变成 \(k\)。 \(m\) 个不同操作,其中每个操作有限定次数 \(l\)。 操作分为四种类型: 给出 \(a,b\),把一个值为 \(a\) 的数变成 \(b\)。 给出 \(a_1,a_2, 阅读全文
posted @ 2022-05-26 13:20 AIskeleton 阅读(52) 评论(0) 推荐(0)
摘要:P6348 [PA2011]Journeys 有 \(n\) 个点,\(m\) 次连边,每次在两区间 \([a,b],[c,d]\) 的每两个点之间连一条无向边。 求问点 \(p\) 到达其余的每个点所需经过的最少路径数。 \(1\le n\le 5\times 10^5,1\le m\le 10^ 阅读全文
posted @ 2022-05-25 13:08 AIskeleton 阅读(86) 评论(0) 推荐(0)
摘要:题目 CF1313D Happy New Year 给定 \(n,m,k\) 和 \(n\) 个区间 \(\left[ l_i,r_i \right]\)。 对于一个长为 \(m\) 的初始值为 \(0\) 的序列 \(a\),在给定的 \(n\) 个区间中选择若干个,使序列 \(a\) 在区间 \ 阅读全文
posted @ 2022-05-18 13:16 AIskeleton 阅读(56) 评论(0) 推荐(1)
摘要:P2350 [HAOI2012]外星人 给定一个表示为 \(\prod_{i=1}^m p_i^{q_i}\) 的数 \(N\)。 对于 \(N\),求出 \(x\) 满足 \(\begin{matrix}\underbrace{\varphi(\varphi(\varphi(\varphi(\do 阅读全文
posted @ 2022-05-09 13:22 AIskeleton 阅读(56) 评论(0) 推荐(0)
摘要:SP10628 COT - Count on a tree 给定一棵有 \(n\) 个节点的数,每个点有权值,每次操作输出节点 \(u,v\) 之间的第 \(k\) 小值。 因为有静态区间第 \(k\) 小,所以考虑主席树。 因为题目要求在树上操作,所以考虑树上差分。 建树的过程就是跑一个 dfs, 阅读全文
posted @ 2022-05-07 13:13 AIskeleton 阅读(45) 评论(0) 推荐(0)
摘要:CF159D Palindrome pairs 给定一个长度为 \(n\) 的字符串 \(S\),求有多少四元组 \(l_1,r_1,l_2,r_2\) 满足 \(1 \le l_1 \le r_1 < l_2 \le r_2 \le n\) 且 \(S \left[ l_1 \dots r_1 \ 阅读全文
posted @ 2022-04-09 09:31 AIskeleton 阅读(52) 评论(0) 推荐(0)
摘要:P5768 [CQOI2016]路由表 对于每个字符串,将其转换成二进制串的形式,每 \(8\) 位表示一个数,且每个串都有一个长度数值 \(L_i\),表示需匹配的位数。 给定 \(n\) 次操作, 操作有两种: 插入操作:添加题目给出的掩码长度为 \(L_i\) 的串 \(S\)。 查询操作:询 阅读全文
posted @ 2022-04-02 16:44 AIskeleton 阅读(68) 评论(0) 推荐(0)
摘要:trie 树好题,题面差评。 题意和思路 P3294 [SCOI2016]背单词 给定 \(n\) 个字符串,要求对其进行排序,使得总贡献最小。 假设插入某个排序后编号为 \(x\) 的字符串 \(s\),产生的贡献规则为: 1.如果在 \(s\) 后的字符串中有 \(s\) 的后缀,贡献为 \(n 阅读全文
posted @ 2022-03-29 21:00 AIskeleton 阅读(48) 评论(0) 推荐(0)
摘要:problem 给定 \(n\) 个点的坐标,求能够覆盖所有点的最小面积的矩形,输出所求矩形的面积和四个顶点坐标。 solution 感性理解可知最小覆盖矩形的一条边肯定与凸包的一条边重合。很明显是先跑出凸包然后旋转卡壳维护每个向量最上、最左、最右的点,并更新答案。 但是维护的过程很繁琐。 假设每个 阅读全文
posted @ 2022-03-16 21:30 AIskeleton 阅读(58) 评论(0) 推荐(0)
摘要:我们充分发扬人类智慧: 将所有点按 \(x\) 坐标排序。 根据数学直觉,在排序后,最近的两个点在数组中肯定不会离得太远,最远的两个点在数组中肯定不会离得太近。 所以只取每个点向后的 3 个点更新最近距离,并取最后向前的 13 个点更新最远距离。 这样速度快得飞起,直接拿到了此题的最优解。 阅读全文
posted @ 2022-03-16 10:48 AIskeleton 阅读(33) 评论(0) 推荐(0)