07 2021 档案

摘要:Crime Management 题解 简单dp 首先,我们看到 n ⩽ 1 0 18 n\leqslant 10^{18} n⩽ 阅读全文
posted @ 2021-07-31 11:14 StaroForgin 阅读(28) 评论(0) 推荐(0)
摘要:路径交点 题解 首先看到这个魔鬼题面,我们可以猜测暴力很难打,事实上确实。 考虑它说的有交点有什么实际意义, ( P j − Q j ) ( P j + 1 − Q j + 1 阅读全文
posted @ 2021-07-30 21:42 StaroForgin 阅读(27) 评论(0) 推荐(0)
摘要:最 简 单 题 \color{red}{最简单题} 最简单题 题解 魔鬼删除线 做对这道题,首先我们要正确理解它的题意。 它是想要我们找到在 所有 的叶子节点匹配法方中最优的一种使其割边得到的无环, 1 1 1与 1 ′ 1' 1′不连通的森林需要割的边的最小边权和最小。 后面一部分显然可以理解成整 阅读全文
posted @ 2021-07-30 21:01 StaroForgin 阅读(37) 评论(0) 推荐(0)
摘要:庆典 题解 大概是整场比赛中唯一一道一看就有思路的,但并没有调出来,不如说我太菜了 很明显,在同一个联通块内部的点一定是可以互相走到的,所以我们可以先缩个点。 缩完点后得到的图明显是个可以拓扑的有向图,由于有性质: 若 x ⇒ z x\Rightarrow z x⇒ 阅读全文
posted @ 2021-07-29 21:46 StaroForgin 阅读(26) 评论(0) 推荐(0)
摘要:量子通信 题解 对于比较两个数之间的翻转位数差,我们可以直接通过对其进行异或得到。 但很明显,如果我们直接暴力查询明显是不可取的,即使你要压位也不免会进行 O ( n m ) O\left(nm\right) O(nm 阅读全文
posted @ 2021-07-29 20:31 StaroForgin 阅读(17) 评论(0) 推荐(0)
摘要:123 Triangle 题解 最开始的序列是含有 1 , 2 , 3 1,2,3 1,2,3的,但当我们进行一次操作后,原序列就会变成只含 0 , 1 , 2 0,1,2 0,1,2的序列,因为 3 3 3一定会被消掉。 如果 3 3 3与 3 3 3进行相减,那么一定会得到 0 0 0,如果与 阅读全文
posted @ 2021-07-29 20:08 StaroForgin 阅读(35) 评论(0) 推荐(0)
摘要:卡农 题解 我们可以发现,一个合法的序列应当满足下面 3 3 3个条件: 没有空集的存在。所有集合都不会重复出现。每个音阶的出现次数为偶。 由于要保证每个音阶的出现次数为偶,所以当选择的前 m − 1 m-1 m−1个音阶确定后,我们会选择的第 m m m个音阶也就确定了,此时选择的音阶就是选择前 阅读全文
posted @ 2021-07-29 17:18 StaroForgin 阅读(48) 评论(0) 推荐(0)
摘要:密码箱 题解 **平衡树,贞难调二世 由于题目要求答案必须是分数的最简,而在取模的意义下求 g c d gcd gcd又不大现实,我们先可以猜测我们直接求出来的答案一定是最简分数。 很容易发现,我们求答案的式子都是 a + y 阅读全文
posted @ 2021-07-29 09:57 StaroForgin 阅读(29) 评论(0) 推荐(0)
摘要:Intranet of Buses 题解 计算几何出乎意料地好调,只调了一个小时,但卡精度二分 50 50 50 次还是太离谱了。 首先,原题相当于给了我们一个奇怪 n n n 边形,让我们取该多边形的周长上 m m m 个等分点,使得它们中与相邻两个点的连线的最大长度最小。 与相邻连线的最大长度最 阅读全文
posted @ 2021-07-23 16:24 StaroForgin 阅读(26) 评论(0) 推荐(0)
摘要:Insert Addition 题解 前置芝士:Stern-Brocot 树与 Farey 序列 只是简要叙述,没啥用,建议跳过 Stern-Brocot树是一种维护分数的数据结构,树上的节点都是最简形式的分数,且像二叉查找树一样是有序的,在这棵树上我们可以 O ( log ⁡ n ) O\left 阅读全文
posted @ 2021-07-22 22:55 StaroForgin 阅读(27) 评论(0) 推荐(0)
摘要:Graph Coloring 题解 一个晚上又没了。。。 我们考虑什么情况下 ∑ v ∈ V ∣ r ( v ) − b ( v ) ∣ \sum_{v\in V}\left|r(v)-b(v)\right| ∑v∈V​∣r(v)−b(v)∣最小。 很明显,这个值不可能小于 ∑ v ∈ V ∣ d 阅读全文
posted @ 2021-07-21 22:43 StaroForgin 阅读(30) 评论(0) 推荐(0)
摘要:等级 题目大意 题解 实际上 n 2 n^2 n2暴力就可以过 由于题目要求某一区间是不是等级为 k k k的等差数列,我们可以考虑将其放在树上去判断。 对于一个等差数列,如果我们知道了它的首项与长度和公差,那么我们必定能将其表示出来。 设其首项为 a a a,长度为 n n n,公差为 d d d 阅读全文
posted @ 2021-07-19 20:41 StaroForgin 阅读(33) 评论(0) 推荐(0)
摘要:矩阵 总所周知, N O I P = N I P O = N a v a l I n t e r n a t i o n a l P r o g r a m O f f i c e NOIP=NIPO=Naval\,International\,Program\,Office NOIP=NIPO=N 阅读全文
posted @ 2021-07-19 19:56 StaroForgin 阅读(51) 评论(0) 推荐(0)
摘要:Jumping Around 题解 很明显,当参数为 k k k时,如果我们可以走到一个节点 x x x,参数大于 阅读全文
posted @ 2021-07-16 21:55 StaroForgin 阅读(16) 评论(0) 推荐(0)
摘要:Cactus to Tree 题解 换根dp板子 首先看到这种求出每个节点到叶节点上的最大距离值最小,很容易想到换根。 我们考虑对于一个节点,他什么时候在图上可以使得叶节点与它的距离最小。 很明显对于任意节点,它到其他节点的最短路是不冲突的,我们在这个图上建出它的 b f s bfs bfs树时一定 阅读全文
posted @ 2021-07-16 11:36 StaroForgin 阅读(38) 评论(0) 推荐(0)
摘要:机器人 题解 **卡常题 首先,由于一个机械人只能往 4 4 4个方向走,而每个点往一个方向走最终停留下来的点是固定的,我们可以考虑每个点往每个方向走走到的点先预处理出来,建个新图。 由于它要求只有编号连续的机械人在同一个节点上是才能够合并,所以我们可以考虑区间 d p dp 阅读全文
posted @ 2021-07-16 08:32 StaroForgin 阅读(21) 评论(0) 推荐(0)
摘要:Chips on a Board 题解 r i s u j i r o h \color{red}risujiroh ri 阅读全文
posted @ 2021-07-14 21:37 StaroForgin 阅读(14) 评论(0) 推荐(0)
摘要:Communism 题解 状压板子题。 首先观察到字符集数量 ⩽ 20 \leqslant 20 ⩽20,很容易考虑到状态dp。 我们定义 d p i dp_{i} dpi​表示字符集 i i i在原序列中是否可以 被替换成出现过的其它任意字符。 很容易想到 d p dp dp转移: 对于 x ∈ 阅读全文
posted @ 2021-07-13 09:46 StaroForgin 阅读(47) 评论(0) 推荐(0)
摘要:Shiritori 题解 我们很容易想到建图,讲一个串的前 3 3 3个点与后 3 3 3个点连边。 对于一个点,当它能到的所有点都是必胜态或者它没有能到的点时,它是必败态。 当它能到一个必败态的点时,它是必胜态。 而在这之外的点,都是平局态。 因为这样的点必然不能到任何一个必败态,且能到一个与它状 阅读全文
posted @ 2021-07-12 22:08 StaroForgin 阅读(38) 评论(0) 推荐(0)
摘要:小奇取石子 题解 本题需要根据数据范围的不同来考虑。 对于第一个30%的数据,打个暴力即可。 对于第二个30%的数据,一看,就是状压dp,将每一堆石子压个状态就行了。 对于第三个40%的数据,打个朴素dp就行了,表示表示i个石子选择的最少堆数。 源码 #include<cstdio> #includ 阅读全文
posted @ 2021-07-09 02:12 StaroForgin 阅读(26) 评论(0) 推荐(0)