10 2023 档案

摘要:Hard Version 的做法貌似是 DP,但是 Easy Version 的做法也十分有启发性。 Easy Version 中 k=2k=2k=2,即只进行两次操作。通常见到两次操作,大概的做法就是枚举其中一次操作,本题也是这样。 设 cic_ici​ 表示第 iii 个城市在这 mmm 天内下 阅读全文
posted @ 2023-10-31 19:33 HappyBobb 阅读(31) 评论(0) 推荐(0) 编辑
摘要:Day -1 颓,与 LA 的一起玩 gartic,很早就睡了。 Day 0 J 开场看 T1 没啥意思,随便写了写过了。 T2 想了一会,发现直接贪心就可以了,但正确性没证,过了大样例就走了。 T3 模拟,但不是很复杂,写了 30min 左右就一遍过了大样例。 T4 倒是想了比较久,直接分层图有些 阅读全文
posted @ 2023-10-23 09:20 HappyBobb 阅读(11) 评论(0) 推荐(0) 编辑
摘要:考虑这样一个做法: 从前往后将每一块砖推入栈顶,如果栈顶连续 k+1k+1k+1 个元素有 kkk 个白色,111 个黑色,就把这些捆绑作为一组。最后逆序输出这些组。 显然这是正确的,因为这不会导致经过消除过的砖。 考虑使用平衡树维护,开两个平衡树,分别维护黑色和白色的栈,每次相当于问黑色的第 kk 阅读全文
posted @ 2023-10-20 11:21 HappyBobb 阅读(3) 评论(0) 推荐(0) 编辑
摘要:考虑到 n,m≤1000n, m \leq 1000n,m≤1000,所以直接模拟是可行的。 一开始,预处理出以每个点为左上角的 a×ba \times ba×b 的矩形的答案。矩形和显然可以二维前缀和,最小值可以 ST 表配合 multiset 做到一只 log⁡\loglog,也可以单调队列把 阅读全文
posted @ 2023-10-19 12:54 HappyBobb 阅读(3) 评论(0) 推荐(0) 编辑
摘要:手玩一下发现,如果我们建一个二分图,对于点集 SSS 每个点 (xi,yi)(x_i,y_i)(xi​,yi​),连左部 xix_ixi​ 到右部 yiy_iyi​,那么拓展后 ∣S∣=|S| = ∣S∣= 每个连通块的左部点数乘以右部点数。 于是我们可以愉快地线段树分治,使用可撤销并查集动态更新答 阅读全文
posted @ 2023-10-16 18:33 HappyBobb 阅读(8) 评论(0) 推荐(0) 编辑
摘要:考虑线段树分治。 每一条边存在的时间是若干个区间,在线段树上将这些区间加入这条边,离线之后使用可撤销并查集按秩合并。如果 111 点的根所在集合大小为 nnn,则是连通,输出 r−l+1r-l+1r−l+1 个 Connected\texttt{Connected}Connected,否则递归往下即 阅读全文
posted @ 2023-10-14 17:56 HappyBobb 阅读(7) 评论(0) 推荐(0) 编辑
摘要:P5227 [AHOI2013] 连通图 考虑线段树分治。和模板题类似,只不过在模板题(二分图)中,如果一个区间加完之后已经不是二分图,那么每个子树内的点都不是二分图,因为奇环必然存在。 在这题中,如果一个区间加完已经是连通的,那么每个子树都是连通的。 注意可撤销并查集不能路径压缩。 #includ 阅读全文
posted @ 2023-10-14 13:42 HappyBobb 阅读(9) 评论(0) 推荐(0) 编辑
摘要:考虑维护 di,jd_{i,j}di,j​ 表示 (i,j)(i,j)(i,j) 往下连续 000 的数量,容易枚举每一行后处理出单调栈。枚举每一个 di,jd_{i,j}di,j​ 作为最小值时的答案取 max⁡\maxmax 即可。 阅读全文
posted @ 2023-10-12 22:01 HappyBobb 阅读(7) 评论(0) 推荐(0) 编辑
摘要:这不比 D 好写?这不比 D 好写?这不比 D 好写?这不比 D 好写? fa,b,c,d,ef_{a,b,c,d,e}fa,b,c,d,e​ 为五个属性的值的结果,显然的类似背包转移一下就好了。 #include <bits/stdc++.h> using namespace std; //#de 阅读全文
posted @ 2023-10-03 15:40 HappyBobb 阅读(2) 评论(0) 推荐(0) 编辑

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