09 2021 档案

摘要:Fibonotci 题解 不知道哪种 ** 出题人会将这种难调至死的 **题放到 A A A题的位置上。 我相信这种题的做法的做法大家基本上都是很容易想到的,不如说已经很板了。 很明显,我们可以通过矩阵乘法来维护每次转移,就跟普通的,由于它的所有转移式循环的,我们显然只需要维护它 n n 阅读全文
posted @ 2021-09-29 22:10 StaroForgin 阅读(23) 评论(0) 推荐(0)
摘要:Parking Lot 题解 如果只看求出最大正方形的条件的话是很容易联想到使用笛卡尔树的,然而这道题完全没必要这样写,出题人也想复杂了。 首先看到这种不断让点从能停变成不能停的条件,很容易联想到离线下来反着来,不断让点从不能停变成能停。 我们先对最后的情况求出最大的正方形,很明显,求一次是 O ( 阅读全文
posted @ 2021-09-28 17:56 StaroForgin 阅读(28) 评论(0) 推荐(0)
摘要:Nauuo and Binary Tree 题解 忽然发现loj竟然还支持题面中英双语 首先我们看到询问次数 ⩽ 30000 \leqslant 30000 ⩽30000的限制,这个限制是在 阅读全文
posted @ 2021-09-27 22:45 StaroForgin 阅读(25) 评论(0) 推荐(0)
摘要:复读数组 题解 我们可以枚举所有区间,再依次枚举所有不含x的区间,将其减去即可。我们可以依次枚举x在整个数组。 设x在这个的数组中出现的位置为。那么x的每一次相邻的出现之间的所有区间都是满足条件的。设,那么不包含x的区间个数就为。我们再枚举n的区间,加上它所重复的即可。 源码 #include<cs 阅读全文
posted @ 2021-09-25 18:58 StaroForgin 阅读(40) 评论(0) 推荐(0)
摘要:Hunting Monsters 题解 实际上两道题的做法没什么区别,只是问的方式不大一样 不过hdu上的数据好像不完整,scanf可以过,read就过不了了 首先如果我们得确定我们以怎样的顺序选择我们的计划,如果是暴力枚举的 n ! n! n!的话,明显只有 10 p t s 阅读全文
posted @ 2021-09-23 22:36 StaroForgin 阅读(50) 评论(0) 推荐(0)
摘要:Infinite Operations 题解 题目要求的是进行无数次操作后的最大的分,很明显,这时所有的点的权值都是相等的,否则我们肯定可以进一步的扩大我们的答案。 我们记 F ( A ) = ∑ i , j ∣ A i − A j ∣ F(A)=\sum_ 阅读全文
posted @ 2021-09-22 21:11 StaroForgin 阅读(36) 评论(0) 推荐(0)
摘要:Pure Straight 题解 首先看到范围 K ⩽ 16 K\leqslant 16 K⩽16,很明显就是一个状压了吧。 我们考虑我们会怎么找到这样一个排序的区间。 很容易想到我们会将 [ 1 , K ] [1,K] [1,K]内的所有数都聚集在一个区间内,再将这个区间内部排序。 那么我们就可以 阅读全文
posted @ 2021-09-21 22:44 StaroForgin 阅读(38) 评论(0) 推荐(0)
摘要:Maximize GCD 题解 首先,如果我们可以直接将所有数都补得比最大的数大,那肯定就会让它们全部相等,求出这个最大值即可。 否则,我们一定会找到 [ 1 , m a x x ] [1,maxx] [1,m 阅读全文
posted @ 2021-09-21 22:28 StaroForgin 阅读(37) 评论(0) 推荐(0)
摘要:Candles 题解 首先看到这道题,我们容易联想到甲虫,将不断减小的权值转化为我们 d p dp dp值的不断减少。 但这道题每个点的权值是不一样的,我们又必须保证我们选取的所有点的权值都是大于 0 0 0的,这就很难办了。这道题相当于甲虫拿到题的加强版。 但我们不妨将原题改改,改变一下两点: 一 阅读全文
posted @ 2021-09-19 20:56 StaroForgin 阅读(38) 评论(0) 推荐(0)
摘要:Cleaning Robot 题解 首先看到 ∣ S ∣ ⩽ 2 × 1 0 5 , k ⩽ 1 0 12 |S|\leqslant 2\times 10^5,k\leqslant 10^{12} 阅读全文
posted @ 2021-09-19 19:04 StaroForgin 阅读(33) 评论(0) 推荐(0)
摘要:Mr. Kitayuta vs. Bamboos 迷途竹林事实上就是经 T i w A i r O A O \color{red}{TiwAirOAO} TiwAirOAO巨佬扩大数据范围强化后的版本。真的是强化了吗 不过做了两遍都不会做的我还是埋了吧 题解 很明显,由于我们每次砍树是让树高从 h 阅读全文
posted @ 2021-09-18 18:54 StaroForgin 阅读(38) 评论(0) 推荐(0)
摘要:二进制的世界 题解 有趣的做法,准确说是我太菜了, S Y D e v i l SYDevil SYDevil大佬秒切了 我们可以考虑对于每个数二进制分段。 由于 a i < 2 16 a_{i}< 2^{16} ai​<216,所以我们可以记录下 d p i , j dp_{i,j} dpi,j​ 阅读全文
posted @ 2021-09-15 22:10 StaroForgin 阅读(49) 评论(0) 推荐(0)
摘要:MAXOR 题解 分块板子 首先看到它的数据范围限制与询问,应该很容易联想到分块。 很显然,我们可以先处理出来每个整块到每个位置所形成的区间内的最大异或和,询问时只需要匹配以散块边界的异或和即可。 如何快速求出区间的异或和呢?很明显,差分即可。 所以我们求出区间内最大异或和即为我们将区间内的数全部作 阅读全文
posted @ 2021-09-14 22:44 StaroForgin 阅读(25) 评论(0) 推荐(0)
摘要:抑郁刀法 题面 题解 当我们看到条件 m ⩽ n + 5 m\leqslant n+5 m⩽n+5大概就可以猜到这题的做法与这多出来的几条边有关,否则大概就只能用 2 n 2^n 2n的状压了。 首先我们可以考虑对于一棵树,我们可以怎么染色。 显然,树上的染色要求只有每个节点不能与自己的父亲同色,所 阅读全文
posted @ 2021-09-12 15:21 StaroForgin 阅读(52) 评论(0) 推荐(0)
摘要:万猪拱塔 题面 题解 很巧妙的想法,但卡常也就忒离谱了点。不过说这么简单的东西为什么我考场上没想到呀 首先,我们发现条件 max ⁡ ( i , j , i ′ , j ′ ) − min ⁡ 阅读全文
posted @ 2021-09-12 10:03 StaroForgin 阅读(45) 评论(0) 推荐(0)
摘要:DIY Tree 题解 卡退火的概率就很离谱 首先,官方题解给的是一种拟阵交的做法,然而某蒟蒻看半天都没能看懂,于是就去尝试了一个退火的做法。 好吧,既然是退火,我们想想我们怎样才能随机改变图。 显然,在确定了与前 k k k个点相关的边后,我们的连边方法是固定的,都是按照最小生成树的方法来连边,而 阅读全文
posted @ 2021-09-10 17:15 StaroForgin 阅读(26) 评论(0) 推荐(0)
摘要:Buy One, Get One Free 题解 首先如果它没有要求只能选择严格小于的作为礼物,我想我们应该很容易想到一种排序后各一个选一个的贪心策略。 但很显然,在严格小于的要求下我们并不能这样去做,考虑反悔贪心。 我们可以先将价格相同的礼物都缩成一类,一类一类的处理下来,很明显,同一类中的礼物不 阅读全文
posted @ 2021-09-10 12:13 StaroForgin 阅读(39) 评论(0) 推荐(0)
摘要:秘密探头 题面 题解 首先,我们很容易将此题转化成一个二分图的模型。 很明显,一次进肯定要与一次出相匹配,而没有与其它操作相匹配的进与出,就相当于是让一开始就留在据点里或者最后都没能走出据点。 我们想让最少的人留在据点里面,相当于就是让没匹配的进操作最少,换言之也就是匹配的数量最多。 而一个操作能够 阅读全文
posted @ 2021-09-09 22:53 StaroForgin 阅读(24) 评论(0) 推荐(0)
摘要:序列 题面 题解 首先我们看到我们的数据范围 k ⩽ 10 k\leqslant 10 k⩽10基本就可以猜到这是一个状压的题目了,而且状态还是 2 k 2k 2k的。然而笔者场上并没想出怎么做,不过怎么这么多人都 A A A了,太离谱了 首先,对于这种区间异或值的,而且还只有 0 , 1 0,1 阅读全文
posted @ 2021-09-09 22:23 StaroForgin 阅读(31) 评论(0) 推荐(0)
摘要:快递 题面 题解 首先当我们看到 n , k ⩽ 300 n,k\leqslant 300 n,k⩽300的数据范围与按顺序执行订单的要求,我们很容易联想到通过动态规划来解决我们遇到的问题。 先定义 d p i , j , k , l dp_{i,j,k,l} dpi,j,k,l​表示我们已经完成了 阅读全文
posted @ 2021-09-08 16:53 StaroForgin 阅读(37) 评论(0) 推荐(0)
摘要:排序 题解 这里将提供一种 O ( n log ⁡ n ) O\left(n\log\,n\right) O(n 阅读全文
posted @ 2021-09-07 18:27 StaroForgin 阅读(11) 评论(0) 推荐(0)
摘要:拯救小矮人 题解 虽说是拯救小矮人这道题,但在模拟赛做的时候数据范围实际上开到了 n ⩽ 2 × 1 0 5 n\leqslant 2\times 10^5 n⩽2×105,也就只能用贪心了。 首先对于一个人,如果它需要拉过来垫背的人的高度越高,那他肯定就越难走,如果他现在走不出去,那他以后也甭想走 阅读全文
posted @ 2021-09-07 16:40 StaroForgin 阅读(37) 评论(0) 推荐(0)
摘要:简单题 题面 题解 一般取这种标题的都不是什么好题。 看到这种题,我们首先很容易考虑到 d p dp dp。 我们定义 d p i , j , k dp_{i,j,k} dpi,j,k​表示选了 i i i个数, a a a的和为 j j j, b b b的和为 k k k时的答案。 容易得到递推式 阅读全文
posted @ 2021-09-07 16:05 StaroForgin 阅读(42) 评论(0) 推荐(0)
摘要:文本编辑器 恶心人的大模拟(?or 平衡树),发现我两年前就一直卡着没过,今天写过了发一发题解 我们明显维护一个可以动态插入删除字符,并查询一段区间字符的数据结构,这不就是平衡树吗。 所以打FHQ_Treap! 既然教练叫用 S p l a y Splay Spla 阅读全文
posted @ 2021-09-03 22:34 StaroForgin 阅读(19) 评论(0) 推荐(0)
摘要:我永远喜欢珂朵莉~ 题解 首先,除去 x = 1 x=1 x=1的情况,我们的一个数最多进行 l o g a i log\,a_{i} logai​次除法,所以事实上我们是可以对每个数暴力进行除法的,通过树状数组来维护区间和。 所以对于数进行修改方面我们的时间复杂度是 O ( n log ⁡ 2 n 阅读全文
posted @ 2021-09-02 22:51 StaroForgin 阅读(26) 评论(0) 推荐(0)
摘要:Tree Depth P 题解 我们先考虑一个点的深度可以以怎样的方式表达出来,很明显,任意一个点的深度就是该点的祖先的个数, 即 d e p u = ∑ v = 1 n [ l c a ( u , v ) 阅读全文
posted @ 2021-09-02 17:34 StaroForgin 阅读(27) 评论(0) 推荐(0)
摘要:Scaffolding 题解 考虑我们怎样放才是最优的放法。 很明显,当我们上楼后是不能带着材料下来的,所以我们带上楼的材料最多也只是刚好够放完上面一层,剩下的材料我们都在下一层中分完后再拿到上面去。 但我们该怎么分层呢? 很明显,对于一个完整的矩形我们是可以将它完整地分为一层的,我们对于这种完整的 阅读全文
posted @ 2021-09-01 19:58 StaroForgin 阅读(64) 评论(0) 推荐(0)