02 2021 档案

摘要:Count / 摩天大楼 题解 简单dp。 然而再想一遍又忘记怎么dp了,这种连续段dp确实很难想 首先发现这道题的贡献是绝对值,有点烦,考虑如何去掉绝对值。 我们可以对 h h h从大到小排序,这样加入 h i h_{i} 阅读全文
posted @ 2021-02-26 16:46 StaroForgin 阅读(12) 评论(0) 推荐(0)
摘要:A 题解 应该很容易联想到小球进洞的一个模型。 但是,很明显,如果两个球匹配的洞在同一方向上并且路径有相交的话它们是可以互换目的地的。 考虑通过前缀和判断。 我们先将奇偶与其对应的位置分开来考虑,相当于我们要显然奇数在奇数位,再让其在偶数位。 设小球为 + 1 +1 +1,洞为 − 1 -1 −1。 阅读全文
posted @ 2021-02-25 16:50 StaroForgin 阅读(16) 评论(0) 推荐(0)
摘要:Cow and Vacation 题解 挺简单的一道题。 首先,我们考虑将每条边拆成两条边,建一个一个虚点,这样方便我们对 k k k的处理。 因为 k k k不一定为偶数,但我们对每个点单独处理最后再合在一起明显是方便许多的。 考虑拆了边之后先将离关键点 x x x距离不超过 k k k的用并查集 阅读全文
posted @ 2021-02-24 18:53 StaroForgin 阅读(17) 评论(0) 推荐(0)
摘要:希望 题解 两年前做的题现在才写完,唉… 先简化一下题意,当时我竟然理解错题了: 给出一棵树,问有多少种选择 k k k个有序联通子图的方案,满足存在一个点 u u 阅读全文
posted @ 2021-02-23 20:30 StaroForgin 阅读(8) 评论(0) 推荐(0)
摘要:货币兑换 题解 忽然发现以前写过一篇的,但这次的做法与以前有所不同,常数也优秀了许多。 首先明确一个结论,最优的做法股票一定是一次买完一次卖完的,毕竟它又不收税。 如果我只卖一部分或只买一部分就能够赚钱的话,那我全部买完卖完就一定能赚更多。 有了上面的结论,我们可以考虑dp。 设在第 i i i天最 阅读全文
posted @ 2021-02-23 10:50 StaroForgin 阅读(12) 评论(0) 推荐(0)
摘要:林克卡特树 题解 挺简单的一道题。 原题断 k k k条边连 k k k条边权为 0 0 0的边相当于寻去 k + 1 k+1 k+1条不相交链出来,将它们连上得到的结果。 所以我们要从原树中选取 k + 1 k+1 k+1条链出来,使得它们的权值和最大。 我们发现恰好 k + 1 k+1 k+1条 阅读全文
posted @ 2021-02-23 08:44 StaroForgin 阅读(18) 评论(0) 推荐(0)
摘要:Forest Game 题解 首先,由于每个点会被选当且仅当它到根上的所有点都没被选。 它到根上的点总共有 d e p i dep_{i} depi​个,故它给期望的贡献为 1 d e p i \frac{1}{dep_{i}} depi​1​。 这棵树又是无根树,所以答案为 ∑ i = 1 n ∑ 阅读全文
posted @ 2021-02-22 17:12 StaroForgin 阅读(38) 评论(0) 推荐(0)
摘要:Expected Square Beauty 题解 首先对于 B ( x ) B(x) B(x),我们应该是很好求的,贪心一下,遇到不同就分段。 令 I 阅读全文
posted @ 2021-02-22 11:32 StaroForgin 阅读(9) 评论(0) 推荐(0)
摘要:事情的相似度 题解 挺好想的一道题。 相当于要求一个区间的前缀的最长公共后缀。应该很容易就能想到后缀自动机。貌似有人用LCT做 我们可以先将SAM建出来,而两段后缀的lcs就是它们的lca的深度。 我们要求的相当于编号在一个区间中的点的lca的最大深度。 考虑启发式合并,对于点 u u u的子树集合 阅读全文
posted @ 2021-02-20 21:15 StaroForgin 阅读(18) 评论(0) 推荐(0)
摘要:字符串 题解 挺好想的一道题。 很明显,对于一个询问,我们是可以去二分最长公共前缀的最大值的。 当长度 l l l满足是,长度 l − 1 l-1 l−1显然也满足条件,是具有单调性的。 至于如何判断长度 m i d mid mid合不合法,考虑SA。 显然, m i d mid mid合法时, c 阅读全文
posted @ 2021-02-20 19:24 StaroForgin 阅读(19) 评论(0) 推荐(0)
摘要:[JSOI2019]节日庆典 题解 挺简单的一道题。 题目相当要求每个前缀的最小表示法。 我们将可能成为下一个前缀最小表示法的开头的位置的集合记为 S S S。 容易发现,后一个前缀所对应的 S S 阅读全文
posted @ 2021-02-20 16:42 StaroForgin 阅读(13) 评论(0) 推荐(0)
摘要:String 题解 还是因为某些原因,这里用英文名。 首先一看到找最长公共子串,我们就想到了后缀自动机。 我们先对每个字符串,建一棵SAM。 对于每个询问,就将两棵SAM进行匹配,由于每次匹配实际上是将两个DAG匹配,由于是DAG,我们最好记忆化一下。 每次匹配的时间复杂度大概是 O ( α s i 阅读全文
posted @ 2021-02-19 20:44 StaroForgin 阅读(21) 评论(0) 推荐(0)
摘要:Token generation 题解 由于某些原因就采用英文名了 看到这道题,我们很快就发现使得 F ( Q ) F(Q) F(Q)增加的值,存在这样的构造 1...10...0 1...10...0 阅读全文
posted @ 2021-02-19 17:53 StaroForgin 阅读(8) 评论(0) 推荐(0)
摘要:概率论 题解 结论题 看到期望,首先想到了我们那个很著名的式子 A n s = g n f n Ans=\frac{g_{n}}{f_{n}} Ans 阅读全文
posted @ 2021-02-18 21:47 StaroForgin 阅读(10) 评论(0) 推荐(0)
摘要:硬币游戏 笔者由于找不到原题就自己造了数据 题目描述 给定 n n n 组硬币,每组有3个,第 i i i组从上到下价值依次为 a i , b i , a i a_{i},b_{i},a_{i} ai​,bi​,ai​. 对于每个 k ∈ [ 1 , 3 n ] k\in [1,3n] k∈[1,3 阅读全文
posted @ 2021-02-17 22:13 StaroForgin 阅读(32) 评论(0) 推荐(0)
摘要:Exhausted? 题解 挺简单的一道贪心。 我们先考虑如果只有 l l l的限制条件我们应该怎么做。 我们可以先将所有的需求按 l l l的大小从小到大排序,再依次加进去,如果此时 [ 1 , l i ] [1,l_{i}] [1,li​]还有空位就占空位,否则就将其舍弃。 这样贪心明显是正确的 阅读全文
posted @ 2021-02-17 20:29 StaroForgin 阅读(13) 评论(0) 推荐(0)
摘要:Two Trees 题解 首先,我们要说明一点,如果该题有解,那么我们用 { − 1 , 0 , 1 } \{-1,0,1\} { −1,0, 阅读全文
posted @ 2021-02-17 19:42 StaroForgin 阅读(17) 评论(0) 推荐(0)
摘要:Prime Flip 题解 挺简单的 很容易发现,如果要将一个点 i i i翻转的话,需要进行 [ 1 , i ] [1,i] < 阅读全文
posted @ 2021-02-17 17:12 StaroForgin 阅读(15) 评论(0) 推荐(0)
摘要:K大数查询 题解 整体二分板子题。 其实看到题目应该很容易想到整体二分的。 我们可以先二分答案,对于权值区间 [ l , r ] [l,r] [l,r],我们的询问区间为 [ L , R ] [L,R] [L,R]。 我们可以用一个树状数组维护前缀和,维护大于 m i d mid mid的数的数量的 阅读全文
posted @ 2021-02-16 22:14 StaroForgin 阅读(19) 评论(0) 推荐(0)
摘要:Factor-Free Tree 题解 挺有趣的一道题。 我们首先应该很容易发现,对于一段区间,这段区间中任意一个与区间中其他数互质的数都可以作为这段区间的根。 因为如果这个数做根时会使其子区间无解,即使其他数做了根这个子区间无解的地方依旧会被传递下去,最后也一定会产生无解的状况。 所以,对于一段区 阅读全文
posted @ 2021-02-16 21:10 StaroForgin 阅读(34) 评论(0) 推荐(0)
摘要:重建计划 题解 看到这道题首先应该是很容易想到0/1分数规划的。毕竟那里明摆着一个 ∑ i = 1 k − 1 v a l i ∣ S ∣ \frac{\sum_{i=1}^{k-1}val_{i}}{|S|} ∣S∣∑i=1k−1​vali​​。 我们只需要将下面的分母当做 1 1 1即可,所以当 阅读全文
posted @ 2021-02-16 18:41 StaroForgin 阅读(26) 评论(0) 推荐(0)
摘要:不等关系 题解 感觉有点麻烦,可能还是我太差了。 首先我们先考虑不管">“的情况,我们得到的就是一串断断续续的的”<"序列。 很容易发现,连在一起的部分就是要求出一个这么长的递增序列。 我们令这些递增序列的长度为 { a 1 , . . . , a k } \{a_{1},...,a_{k} \} 阅读全文
posted @ 2021-02-15 21:14 StaroForgin 阅读(12) 评论(0) 推荐(0)
摘要:吉夫特 题解 挺水的一道题。 既然题面已经明示了这一串组合数相乘必须为奇数,我们考虑如何判断一个组合数为奇数。 因为 C x y ≡ 1 ( m o d 2 ) C_{x}^{y}\equiv 1\,(mod\,2) Cxy​≡1(mod2),根据卢卡斯定理有, 设 b i t x , i bit_ 阅读全文
posted @ 2021-02-15 19:15 StaroForgin 阅读(29) 评论(0) 推荐(0)
摘要:保密 题解 还是蛮简单的一道题。 其实我们完全可以将原题拆分成两个部分,分别是求出起点到每个点的距离与最后的路径规划。 因为这两个部分的做法是基本没有什么联系的。 首先对于第一部分,它涉及到两个量的比值的计算,我们用 ( p 1 , p 2 , . . . , p k ) (p_{1},p_{2}, 阅读全文
posted @ 2021-02-07 21:50 StaroForgin 阅读(10) 评论(0) 推荐(0)
摘要:通信 题解 一道很简单的分块。 这道题网络流的思路应该是很好想的。 我们可以先建 n n n个点表示这 n n n个哨所,我们要求的是能让这 阅读全文
posted @ 2021-02-06 19:29 StaroForgin 阅读(6) 评论(0) 推荐(0)
摘要:Kakuro 题解 多水的一道题呀 其实看到题目应该是很容易想到网络流的。 由于它要求的是每列或每行的总和一定,我们可以先找出一组可行解,再来再这组解上修改。 观察到对于一个数,它无论增加还是减少它的单位花费都是一定的,所以我们可以先找出一组最小的可行解,这样之后就处理增加多少。 而最小的可行解明显 阅读全文
posted @ 2021-02-06 16:11 StaroForgin 阅读(18) 评论(0) 推荐(0)
摘要:上下界网络流 其实之前也写过博客介绍过的,但还没有完整地讲过一遍,这里就来总结一下。 无源汇有上下界可行流 针对任何的有上下界的网络流的边,我们考虑将它转化一下,将流量为 l i / r i l_{i}/r_{i} l 阅读全文
posted @ 2021-02-06 11:26 StaroForgin 阅读(17) 评论(0) 推荐(0)
摘要:美食节 题解 其实还是很简单的。 看到这道题应该很容易想到费用流。 由于做菜有时间顺序,我们考虑将每个厨师的每一道菜单独建点。对于 i i i号厨师的导师第 j j j号 阅读全文
posted @ 2021-02-05 22:22 StaroForgin 阅读(10) 评论(0) 推荐(0)
摘要:航班安排 题解 很简单的一道网络流 看到这道题应该是十分容易想起费用流。 很明显,如果我们将每个单位的时间的机场分别建点再出来连的话是明显会T的,因为这样边的数量达到了 n ( T + m ) n(T+m) n(T+m)的级别。 考虑不通过机场来建点,通过询问来建点。 将每个询问拆成入点与出点,两者 阅读全文
posted @ 2021-02-05 20:13 StaroForgin 阅读(22) 评论(0) 推荐(0)
摘要:a + b Problem 题解 分块板子题 这道题主要还是建图跑网络流,其实建图的方法还是很常见的。 我们先观察 p i p_{i} p 阅读全文
posted @ 2021-02-05 18:16 StaroForgin 阅读(17) 评论(0) 推荐(0)
摘要:Misaka Network 与测试 题解 其实是很简单的一道二分图匹配,是谁拿着网络流在哪里瞎想 应该很容易发现,对于任何为 2 2 2的妹妹,拿出来单独作矩阵都一定是最优的。因为如果有任何一种选择方法包含了这个妹妹,都不会超过将其拿出来的贡献。 同理,对于任何一对相邻的 1 , 3 1,3 1, 阅读全文
posted @ 2021-02-05 15:33 StaroForgin 阅读(51) 评论(0) 推荐(0)
摘要:劈配 题解 多简单的一道网络流呀 应该是很容易想到网络流的。 先考虑第一问,由于后面的所有人的选择都是在前面的人做出最优选择的情况下做出的,所以后面人的选择是不会干涉到前面的选择的,而前面的人的选择会决定后面人的选择。 所以考虑先处理前面人的决定,再依次向后处理。 考虑用网络流进行判断。 图应该是非 阅读全文
posted @ 2021-02-05 14:38 StaroForgin 阅读(5) 评论(0) 推荐(0)
摘要:集邮比赛 题解 很容易发现,这题是一个区间dp,由于显然不能用这两者作为dp的状态。 所以我们定义为在已经经过区间为,其中得到的邮票有张,现在在左/右侧,所用的时间最短的值。 dp转移方程式也很好得到,这里就不列举出来了。 时间复杂度,可以过。 源码 #include<cstdio> #includ 阅读全文
posted @ 2021-02-05 14:19 StaroForgin 阅读(28) 评论(0) 推荐(0)
摘要:文理分科 题解 多简单的一道网络流呀 首先考虑如何在没有组合的情况下得到最大值。 很明显,如果直接最大流的话明显是不行的。至少我没有想出来。 考虑最大流最小割定理,我们可以通过最大流最小割来对原问题进行转换。 我们可以对于每一个学生向起点连一条流量为 a r t i art_{i} arti​的边, 阅读全文
posted @ 2021-02-05 10:27 StaroForgin 阅读(21) 评论(0) 推荐(0)
摘要:画框 题解 多简单的一道题呀! 看到这道题,我们应该很容易·想到要把 ∑ A i , p i \sum A_{i,p_{i}} ∑A 阅读全文
posted @ 2021-02-04 22:14 StaroForgin 阅读(6) 评论(0) 推荐(0)
摘要:智力竞赛 题解 挺水的一道题。 题目相当于给出一个DAG,而你每次可以覆盖一条链,总共 n + 1 n+1 n+1条链。应该不会有人跟我一样想成覆盖它能到达的所有点 一看到最低奖励值最大,应该是很容易想到二分的。我们可以先将小于我们二分值的点的子图建出来,再求出 n + 1 n+1 n+1条链是否可 阅读全文
posted @ 2021-02-04 19:30 StaroForgin 阅读(15) 评论(0) 推荐(0)
摘要:变换序列 题解 相当简单的一道题 容易发现,对于每个 i i i能够匹配的 T i T_{i} Ti​一共就两个,而 T i T_{i} Ti​之间有不能重复,明显是二分图匹配的板子题。 将 i i i与他们能够匹配到的位置在二分图上连边,跑一遍二分图匹配即可。 至于字典序的问题,改一改枚举顺序,使 阅读全文
posted @ 2021-02-04 16:41 StaroForgin 阅读(17) 评论(0) 推荐(0)
摘要:消毒 题解 忽然感觉宋队跑得好快呀,还是我常数太大了 其实应该是很容易想到二分图匹配的,但这有三维,怎么匹配呢?三分图匹配? 首先,不要求染色的格子是可以被染色的,所以我们不需要考虑哪些点不染。 又因为染一个 ( a , b , c ) (a,b,c) (a,b,c)的立方体的花费为 min ⁡ ( 阅读全文
posted @ 2021-02-04 16:13 StaroForgin 阅读(9) 评论(0) 推荐(0)
摘要:小凸玩矩阵 题解 又一道二分图板子题 其实看到第 k k k大值最小应该很容易想到二分的。 我们可以先二分它的第 k k k大值,判断在当前二分的值下,只选不超过二分值的数是否可得到一种选 n − k + 1 n-k+1 n−k+1个数的选法,如果可以,就一定有种方法使得第 k k k大值不超过当前 阅读全文
posted @ 2021-02-04 15:24 StaroForgin 阅读(19) 评论(0) 推荐(0)
摘要:游戏 题解 二分图匹配板子题。 由于它的一个炸弹只影响当前行与当前列,故我们需要找出最多的行与列的匹配。 将由硬石头隔断的一行算作两列,再将空地的行与列相连接。 跑一遍匈牙利的板子,就可以算出最大的匹配数,匹配的行与列都是不会互相影响的。 于是,这就是一道二分图匹配的板子题了。 源码 #includ 阅读全文
posted @ 2021-02-04 14:54 StaroForgin 阅读(8) 评论(0) 推荐(0)
摘要:Kanade’s convolution 题解 多简单的一道题呀 我们可以考虑子集求和。毕竟这种又是位运算又是相乘的很容易想到FWT。 由于 ( x x o r y ) + ( x a n d y ) = ( x o r y ) (x\,\,xor\,\,y)+(x\,\,and\,\,y)=(x\ 阅读全文
posted @ 2021-02-03 21:25 StaroForgin 阅读(9) 评论(0) 推荐(0)
摘要:毒蛇越狱 题解 其实是一道很简单的暴力。 如果我们直接枚举"?“处选择"1"还是选择"0”,时间复杂度达到了 O ( q 2 ∣ ? ∣ ) O(q2^{|?|}) O(q2∣?∣)的级别。 显然,当一个串大部分都是"?"的情况下明显是会T掉的。 于是我们考虑能否通过"0"与"1"来求出答案。 我们 阅读全文
posted @ 2021-02-03 19:41 StaroForgin 阅读(17) 评论(0) 推荐(0)
摘要:遗失的答案 题解 其实这题挺水的。 显然,当 G ∤ L G\not | \,\,\,L G< 阅读全文
posted @ 2021-02-03 16:33 StaroForgin 阅读(9) 评论(0) 推荐(0)
摘要:礼物 题解 多简单的一道FFT板题呀! 我们发现,增加的亮度 c c c的值为正还是为负都是没有关系的,只是对不同手环操作的问题,所以下面不会考虑 c c c的正负。 有 ∑ i = 1 n ( x i − y i + c ) 2 = ∑ i = 1 n ( x i 2 + y i 2 ) + 2 阅读全文
posted @ 2021-02-02 16:00 StaroForgin 阅读(19) 评论(0) 推荐(0)
摘要:快速傅里叶变化 忽然发现自己FFT的博客都已经鸽了一年了,恰好又讲FFT就补了一篇。 关于多项式 多项式是什么垃圾玩意就不用我多说了吧 在平常解决各类数学问题中,我们都很容易发现多项式乘法的影子。 我们现在有两个多项式, f ( x ) = ∑ i = 0 n a i x i , g ( x ) 阅读全文
posted @ 2021-02-02 11:41 StaroForgin 阅读(14) 评论(0) 推荐(0)
摘要:Misaka Network 与求和 题解 敢信,笔者第一眼把misaka看出了mikasa,如果不是后面还有个network 一看到这道题就知道是一道很烦人的数学题。 先应该很容易想到莫比乌斯反演。 原式可化为 = ∑ d = 1 n f ( d ) k ∑ i = 1 ⌊ 阅读全文
posted @ 2021-02-01 17:43 StaroForgin 阅读(22) 评论(0) 推荐(0)