2024.4 总结 / 做你身后影子久了 都忘了真实自我
P2495
考虑建立虚树,先求出原树的欧拉序,然后对于输入序列,按照 dfn 排序后取出相邻位的 LCA。
对于这些关键点,拓展出右端点,然后按照欧拉序排序,再模拟 dfs 在上面做 dp 即可。
AGC056C
是谁不会差分约束?是谁不会差分约束?是谁不会差分约束?
首先套路的给
我们可以使用差分约束去写这个条件:
然后现在的问题是漏了一个
先思考字典序最小化的含义,意思是
对于差分约束系统,有定死一个值(
不等于号可以考虑约束过程,对于一条
P4323
捏一下树哈希直接过了,没取模啊啊啊?
CF839E
贪心的想,不难发现分配尽量给予团/平均更优,然后可以证明选团最优秀,如果不选团,当前代价分配进团会更优秀。
然后就变成了一个无向图最大团问题,这个东西我印象中不太做的了,上一次见这种还是随机化过掉了(?
那怎么做呢,由题解可得记忆化可过,怎么回事呢......?
转移枚举
前
后
事实上折半搜索或者使用科技也是不错的选择。
CF1725K
纯 ds 题我做起来真的很开心!我爱数据结构!(
先分析操作,值域
比较显然的想法是做一个集合的变换,然后要合并集合,将一个点从集合剥离,查询一个
如果没有修改一个启发式合并状物就可以通过了,分析一下,这个题目修改所新创建的节点数其实不是很多,所以暴力做应该还是可以对的......?
标签有一个 dsu,
-
对于
,直接在 set 中搜出合法值跟 并查集合并即可 -
对于
,直接新建一个节点 ,然后 即可 -
对于查询
,查询 集合的主,然后输出 即可
一个点加一次删一次,set 带个
CF1654F
打表不难发现对于一个
然后对于
那么不难得到的性质有
然后直接在上面倍增 SA 即可,奇形怪状 SA 题。
CF643E
诈骗题,因为不用 mod 所以只考虑深度 60 里面的影响即可。
现在考虑这个东西的转移
这个东西在
CF825G
傻逼题,byd 这个傻逼输入。
我们考虑一个树的性状,应该是一个边缘是黑点的树状物挂上一些白点。
对于外挂的白点,不能走到另一块外挂的白点,能走到任意树状物里的点 & 到树状物路径上的点。
对于树状物里的点,可以走到任意树状物里的点。
那么不妨令树状物里面的最小编号为
然后现在要动态维护这个树状物,首先不难发现第一个黑点永远在树状物里面,不妨以祂为根求出
对于加入黑点
对于查询,直接输出
CF838D
每个点不等价并且非常难以计算,我们考虑首尾用额外点
现在问题是随便选择一个点和方向,将当前唐龙放到第一个空的位置,如果
首先从
CF718C
数列有两个思路:等比数列的通项 / 矩阵乘法,发现公式直接线段树好像就能做,然后发现 ** 的这神笔玩意儿
我们考虑矩阵乘法,这个东西有结合律和交换律,那么我们可以在线段树上面套矩阵运算,然后没了。
P1829
随便反演构造一下这个数据范围整除分块乱套筛子随便过.......?
P3172
随便推推再反演一下,整除分块加个
P3768
反演一坨东西然后确实是简单数学题。
CF513E1/2
考虑最终的序列
对于三种不同的段
上述这样做其实与题面不完全相同,但是取
CF1446D1/2
考虑 D1 怎么做,首先有一个小结论,答案区间必然包含总区间的众数
假设一个小区间不包含
那么可以枚举一个数
再考虑 D2 怎么做,可以根号分治,对于数量超越
具体而言,枚举
P2481
考虑拆分成形如 1111+111+11 之类,算
P3286
首先不能每一个按照位考虑,因为那样子很困难,那么我们只能按位考虑。
对于任意一位,移动
P4377
不难发现二分之后是背包。
P3199
不难发现二分之后是判断负环。
4322
不难发现二分之后是树形 dp。
P3705
不难发现二分之后是网络流。
CF1442D
现在是乱搞时间!
如果没有这个
每一段肯定是一个凹包装物,不难发现对于
枚举非整段,然后发现伤心的发现对于整段的凹包不太能贪心,因为上文性质没有可以贪心的余地。
那我们直接考虑背包,然后发现不会做,事实上可以分治背包,具体而言:
-
对于一段
,取一个 -
插入
中的物品,递归处理 -
复原背包,插入
中的物品,递归处理
然后我们会发现
CF1592F1
首先
然后考虑一个点要不要操作?显然要考虑一个覆盖区间包含当前点的点个个数,事实上 a[i][j]^a[i+1][j]^a[i][j+1]^a[i+1][j+1]
。
然后考虑在
CF1592F2
沿用 F1 的做法,首先只有
-
用 :将 的 取反 -
用 :将 的 取反
但是这还不够!我们还需要一些性质才能做题。
- 对于同一行 / 列,
这种操作只会用一次 >w<
考虑用了两次,其实还是一个长方形的贡献嘛,完全可以用
- 对于
,只有当 的 都是 时才会用 的操作
假设这三位有一个是
然后我们就可以做题了,建立二分图,行/列 为 左/右 部分,对于符合性质的
然后再去考虑可怜的
P3288
不难发现搓一下建图,套个二分之后是判负环。
AT_joisc2019_j
首先分析后面那一堆绝对值,有一个下界
然后考虑按照
P5787/CF813F
把操作打在以时间为轴的线段树上面,这样一个时刻的答案其实是线段树上面对应的跟到叶子的路径的操作的答案。
那么可以考虑一个线段树分治,不难发现上面那个东西跟 stack 其实差不多喵,那么我们可以遍历这个线段树,到某一位加入点上的操作,然后继续遍历,遍历完之后撤回,需要一个可撤销的拓展域并查集,这样子到跟的时候就可以有对应的 dsu 和 可行性 答案。
P5227 / P10075
首先有一个显然的做法,可以线段树分治,就是处理一下出现区间,我不多说,因为也有哈希做法。
对于原图,求出一棵生成树,此时边可以区分为树边/非树边。
我们考虑用非树边去覆盖树边,具体而言,给非树边随机赋值 ^val
,这样子每个树边上面都对应的一个数
然后再考虑怎么判定?
-
一条树边被删除,需要两边有非树边连接,意思是要求
谢谢喵 -
两条树边被删除,会被拆成三个联通块,在考虑这两条边的
的情况下,只要保证去掉 的跨越部分,仍然有即可,意思是保证 -
三条树边被删除,考虑挑出一个叶子,可以归纳,那么就是
,如果不挑出叶子,两边分别做也能归纳 -
四条树边被删除,同 三,可以归纳
然后非树边的删除怎么做?这个是直接任意异或回去就能消除了吧 qwq
综上所述,可以枚举边集,算出 xor 和,合法的情况所有的 xor 和非 0。
P4219
怎么有人企图写一些表面上算法简单的做法然后写假了 /dk
查询的时候让边消失,直接线段树分治即可,需要一个 dsu 可撤销,一个边的答案其实就是左右两部分的大小
CF938G
也就一个离散化然后线段树分治加个可撤销的带权并查集和线性基罢了对不对???/fn
首先考虑一大堆的离线操作,这样子变成了很多个
我们按照最大 xor 路径的做法,我们是做任意生成树路径,然后在线性基里面放环。
这个路径因为 xor 性质较好可以直接算到根的,设
对于加边操作,非树边放环这个相对好做,判断如果在一个集合,在线性基中加入
但是怎么合并两个树呢,dsu on tree 什么的也太丑陋了吧 /wq
事实上我们可以直接对根进行合并,具体而言合并
这样子只需要一个带权并查集,比如合并
CF633H
首先有一个比较一眼的莫队套矩阵套线段树之类的做法,搞笑,暴力能过。。。。
考虑先对
CF83D
首先对题目进行转换,不难发现只有
考虑容斥,在
考虑时间复杂度,
P3792
一眼哈希,但是怎么有人要写这么久,怎么有人不会 st 表 /fad
先 rmq 一个区间 max/min,然后就知道理论要哪些数,哈希一下数的 平方和 & 异或和 即可。
CF1372E
平方题肯定卷在一起更优秀,不难发现第一列肯定可以给满,这启发我们可以这样子做一个最优解:给列放一个排列作为优先级,按照优先级填,每次尽量多填。
那么我们可以区间 dp,用
P8329
Lgx_Q:写这个题,容斥套容斥就秒了。
chelsy_qwq:??????然后感觉搞不明白。
我们考虑计数,设
然后我们考虑容斥,设
于是我们可以得到
然后我们可以考虑 dp 这个东西,不妨设
-
放进
: ,系数 -
放进
: ,系数 -
放进虚空:
,系数
答案是
P2480
说句鲜花写这题的时候跟 nft 去楼梯间快乐吃了桶泡面 /kel
题目要求
考虑拓展欧拉定理,那么就是要求一个
然后直接 exlucas 发现过不了,然后会发现这个东西的质因数指数都是
P5631
一个一眼的做法最大生成树做不了呜呜 /dk
观察到值域不大,考虑枚举不出现某个权值的边,那么就是线段树分治板子了。
P5278
没卡我平方哈希,直接哈希就好了。首先树状数组维护出区间平方和,取模可以使用自然溢出 >w<
线段树动态维护一个区间 rmq,这样子可以求出区间的正确范围是
CF1282E
简单观察 + stl 练手题,写一大堆 stl 可能是我太菜了 /kk
每次考虑一个二度点的三角形删除即可,但是那个边缘怎么做呢,可以数一下边的出现次数,选合法的连边。但是我写的时候比较唐,写的是什么按时间没出现的加入,也可以过。
CF1175F
一眼
我们可以从
注意写随机数的异或哈希,稍微强一点,平方和 & 异或和 过不掉。。。。
P5307
经典小结论
不难发现
CF79D/P3943
做了一天垃圾题终于碰到点正常东西了 /shui
题目等价于目标序列消成
将任意取反操作的
那么题目中的黑点一定可以是两两一起消除的,否则在图中成环,不优,现在变成了询问一个最小完美匹配、、、、
注意到数据范围并不大,我们可以考虑状压 dp,设
于是我们优化转移少掉一个
CF1097D
一个想法是对于
上面的质因数相对独立启发我们按照
设
那么
CF1182E
指数做加法,矩阵乘法优化即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】