随笔分类 -  数据结构

摘要:XXXIV.[九省联考2018]IIIDX 首先,一个非常naive的想法是,建出通关的树出来,然后dfs它,在访问到一个节点时,将现有最小的值赋给它,然后从大到小遍历每个子节点。 这个算法会被 d 相同的情形叉掉,因为它可以构造出这样一组数据:若某个节点的子树为 1,且它的兄长(指 阅读全文
posted @ 2021-04-02 17:11 Troverld 阅读(166) 评论(0) 推荐(0) 编辑
摘要:XXXIII.[APIO2019]路灯 实际上本来是在刷CDQ分治的题来着的,但是CDQ分治是众所周知地抽象,所以在碰到三维数点问题时,除非卡空间,否则一律请选择树套树…… 我们可以用 set 来维护连通性。显然,若 [l,r] 这一段的路灯全亮,则所有 a,b[l,r+1] 阅读全文
posted @ 2021-04-02 17:09 Troverld 阅读(101) 评论(0) 推荐(0) 编辑
摘要:XXXII.CF1491H Yuezheng Ling and Dynamic Tree 首先,相信大家都做过[HNOI2010]弹飞绵羊这道经典原题,而这题显然是那题的增强版。 众所周知,该原题有两种常见解法:LCT或分块。凭直觉发现LCT不可能处理这种区间修改问题,于是我们考虑分块。 分块的话, 阅读全文
posted @ 2021-04-02 17:08 Troverld 阅读(80) 评论(0) 推荐(0) 编辑
摘要:XXXI.CF626G Raffles 首先,我们列出“往一个奖池内多投一张彩票”,在奖项为 c、初始有 a 张、当前已经又投了 r 张时的额外收益: c×(r+1a+r+1ra+r) 稍微化简一下就 阅读全文
posted @ 2021-04-02 17:06 Troverld 阅读(61) 评论(0) 推荐(0) 编辑
摘要:XXX.CF505E Mr. Kitayuta vs. Bamboos “最大值最小”,条件反射套个二分上去。 于是现在问题转变成判定型问题。 正着搞不好处理 max(hip,0) 这种套了 max 的限制,干脆正难则反,考虑倒着处理。 于是问题转变为 第 i 天开头 阅读全文
posted @ 2021-04-02 17:03 Troverld 阅读(57) 评论(0) 推荐(0) 编辑
摘要:XXIX.CF576E Painting Edges 首先,这个trick很常见,应该默认就能想到线段树分治的做法。但是,同样可以实现该trick的LCT维护关于删除时间的最大生成树的做法,因为我们并不知道删除时间是什么,所以不太好写(但是是能写的)。故我们只考虑线段树分治做法。 线段树分治,只需要 阅读全文
posted @ 2021-04-02 17:01 Troverld 阅读(75) 评论(0) 推荐(0) 编辑
摘要:XXVIII.[UOJ#576][ULR#1]服务器调度 非常可怕的大数据结构题,原版代码整整码了9K,就算稍微合并合并也剩下7K…… 首先,我们考虑对每种颜色,建出一棵虚树。考虑求出虚树的一条直径。则有个结论是原树上到任意一点最远的点肯定是此直径的端点之一。 例如,我们考虑下方的这棵树: O / 阅读全文
posted @ 2021-04-02 16:59 Troverld 阅读(142) 评论(0) 推荐(0) 编辑
摘要:XXVII.CF573E Bear and Bowling 考虑暴力的DP。设 fi,j 表示前 i 个元素中选择长度为 j 的子序列所能得到的最大收益。 考虑由 fi 转移到 fi+1。明显,一共有两种转移方式:\(f_{i,j}\righta 阅读全文
posted @ 2021-04-02 16:57 Troverld 阅读(74) 评论(0) 推荐(0) 编辑
摘要:XXVI.CF1458C Latin Square 实际上此题使用的数据结构不很高级,甚至可以说很不高级——因为全程只用了数组。但是本题的思想绝对是非常高级的。 我们考虑上数据结构维护该操作。上下左右移动显然是没问题的;但是行中列中轮换应该咋办呢? 我们先考虑如果只有行上轮换应该怎么办。这玩意没什么 阅读全文
posted @ 2021-04-02 16:54 Troverld 阅读(53) 评论(0) 推荐(0) 编辑
摘要:XXV.CF702F T-Shirts 一句没有输出的调试语句忘删了,然后浪费了半小时debug\kk…… 首先观察到我们可以将所有物品按照quality为第一关键字递减排序,然后再关于price为第二关键字排序,这样所有人购买的东西就都必定是按照其一个子序列的顺序购买的。 于是把询问离线下来,然后 阅读全文
posted @ 2021-04-02 16:51 Troverld 阅读(34) 评论(0) 推荐(0) 编辑
摘要:XXIV.[Code+#1]Yazid 的新生舞会 关于众数,我们通常是对于每个数求出它作为众数的区间数。 考虑某个数 x。我们可以发现,如果令 ai=x 的所有位置有 bi=1,其余位置有 bi=1,则如果某个区间 [l,r] 关于 b 的区 阅读全文
posted @ 2021-04-02 16:49 Troverld 阅读(60) 评论(0) 推荐(0) 编辑
摘要:XXIII.[JOI 2020 Final] 火事 题解 阅读全文
posted @ 2021-04-02 16:48 Troverld 阅读(83) 评论(0) 推荐(0) 编辑
摘要:XXII.CF477E Dreamoon and Notepad 题解 阅读全文
posted @ 2021-04-02 16:45 Troverld 阅读(47) 评论(0) 推荐(0) 编辑
摘要:XXI.[APIO2015]八邻旁之桥 首先先忽略所有在同侧的人,考虑异侧的人。 则明显,如果我们只在p位置修一座桥,则一个从某侧的x到另一侧的y的人,其一共要走的距离就是 |px|+|py| (忽略了桥长,因为桥长可以被统一计算) 于是我们发现,此时xy是独立的。 阅读全文
posted @ 2021-04-02 16:43 Troverld 阅读(49) 评论(0) 推荐(0) 编辑
摘要:XX.[APIO2018] New Home 新家 题解 阅读全文
posted @ 2021-04-02 16:41 Troverld 阅读(16) 评论(0) 推荐(0) 编辑
摘要:XIX.「JOI 2013 Final」バブルソート 冒泡排序 首先,有一个常识性结论,就是冒泡排序的次数等于逆序对数。所以本题等价于交换两个数使得减少的逆序对数最多。 于是我们翻出VIII.CF785E Anton and Permutation中给出的结论——当i<jai>aj时, 阅读全文
posted @ 2021-04-02 16:39 Troverld 阅读(123) 评论(0) 推荐(1) 编辑
摘要:XVIII.CF679E Bear and Bad Powers of 42 一个显然的想法是,观察到可能的值域(1014)内不会有很多(准确地说,一共11个)42的整数次幂。于是我们考虑每次暴力修改,则每个数最多被处理11次,复杂度显然是可以承受的。 于是我们现在问题就转 阅读全文
posted @ 2021-04-02 16:38 Troverld 阅读(87) 评论(0) 推荐(0) 编辑
摘要:XVII.CF1413F Roads and Ramen 首先,注意到本题等价于求路径上所有边权的异或和为0的路径长度的最大值。 然后,我们要猜/证明出一个结论,即任意一条极长合法路径,其必有一个端点是直径端点。 证明: 我们设有一条直径(S,T)。我们再设coli表示从i节点到根 阅读全文
posted @ 2021-04-02 16:36 Troverld 阅读(52) 评论(0) 推荐(0) 编辑
摘要:XVI.CF360B Levko and Array 明显可以二分答案为x。二分之后,我们考虑DP验证。 我们设fi表示ai强制保留时,最多可以保留多少个数。则我们显然有转移方程 \(\Large f_i=\max\limits_{j\in[1,i),|a_i-a_j|\leq(i- 阅读全文
posted @ 2021-04-02 16:24 Troverld 阅读(60) 评论(0) 推荐(0) 编辑
摘要:XV.CF319E Ping-Pong 好题。 首先,离线下来离散化显然是不用说的。 然后观察这里“可以移动”的定义,发现明显可以类比图论中的连边。发现边只有有向边(两区间包含)和无向边(两区间相交)两种,又因为我们只管连通性,所以无向边可以直接使用并查集维护。而包含关系又具有可传递性,故我们最终会 阅读全文
posted @ 2021-04-02 16:22 Troverld 阅读(66) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示