摘要: 友链+鄙人账号 阅读全文
posted @ 2024-11-27 21:07 长安一片月_22 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 本文有着大量的感性理解。 一、置换 实际上可以理解为对集合的每个元素一个新的标号,满足这个标号集合与原集合一一对应。 如集合 \(X=\{x_1,x_2,\dots,x_n\}\),他的置换就可以表示为:\(\sigma=(_{x_{p_1}\ \ \ x_{p_2}\ \ \ \dots\ \ \ 阅读全文
posted @ 2024-12-08 19:59 长安一片月_22 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 模版题的升级了。 使用二分图经典判定方法(一个点拆成两个点 \(x,x+n\),连边 \((x,y)\) 就是连接 \((x,y+n),(x+n,y)\),那么是否是二分图就等价于判断 \(x,x+n\) 是否都不在一个集合内),预处理出每个操作的 \(e_i\) 下一次出现的位置 \(nx_i\) 阅读全文
posted @ 2024-12-08 16:59 长安一片月_22 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 注意力惊人的注意到我们可以将问题转化为所有联通块大小全部为偶数。 假如已经确认了所有加入的边,那么我们可以通过类似 \(K\) 算法的方式求解。 考虑到答案单调不升,所以每条边都有一个影响的区间。考虑线段树分治。 我们倒序枚举,遇到要加入的边,若当前时间为 \(t\),边的加入时间为 \(t'\), 阅读全文
posted @ 2024-12-01 17:15 长安一片月_22 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 密码:我的准考证号_姓名首字母+生日 阅读全文
posted @ 2024-12-01 15:11 长安一片月_22 阅读(0) 评论(0) 推荐(0) 编辑
摘要: \(NOIP\) 考前祈福。 实际上,每种伤害 \(d\) 打出的亵渎次数可以转化为: \[1+\max\limits_{i=0}^{\lceil\frac{n}{d}\rceil}(i[\sum\limits_{j=1}^{i}[sum(jd-d+1,jd)>0]=i]) \]其中 \(sum(i 阅读全文
posted @ 2024-11-29 17:45 长安一片月_22 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 一、线段树分裂 类似于 \(FHQ-Treap\) 的方式,下给出模板题代码。 //Luogu5494 #include<bits/stdc++.h> #define int long long using namespace std; const int N=2e5+5,M=5e6+5; int 阅读全文
posted @ 2024-11-29 13:26 长安一片月_22 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 100+50+65+45=260,rk3。 T1 【模板】分治FFT 题目名称很吓人,但是主要要找到关键性质。 考虑 \(c(a+b)+ab=b(a+c)+ac=a(b+c)+bc=ab+ac+bc\),相当于说合并方式对答案贡献无关。每种合并方式对答案贡献很好求,合并方式数量可以理解为每次从剩下的 阅读全文
posted @ 2024-11-28 20:14 长安一片月_22 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 100+0+50+0,rk10。 T1 简单树形 \(dp\) 带国王游戏经典贪心,时间复杂度 \(O(n\log n)\)。 #include<bits/stdc++.h> #define int long long using namespace std; const int N=5e5+5; 阅读全文
posted @ 2024-11-25 17:30 长安一片月_22 阅读(11) 评论(0) 推荐(0) 编辑
摘要: CF1763C 容易发现当 \(n\ge 4\) 时可以将左右两端变成 \(0\),随后用最大值覆盖全部,问题转化为 \(n=2\) 和 \(n=3\) 时的答案。 当 \(n=2\) 时,要么进行一次操作,要么不操作,\(ans=\max(a_1+a_2,2|a_1-a_2|)\)。 当 \(n= 阅读全文
posted @ 2024-11-24 11:28 长安一片月_22 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 1.什么是可持久化 对应的具体问题就是给你一个可以用普通数据结构(如线段树、平衡树等)解决的问题,但是操作可能会在历史版本上进行。 由于主席树笔者曾经写过,所以这里跳过。 2.可持久化平衡树 思想很简单。众所周知,\(FHQ-Treap\) 是个好东西,他就可以用来写可持久化平衡树。 考虑 \(sp 阅读全文
posted @ 2024-11-21 21:46 长安一片月_22 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 100+10+10+100,rk2。 T1 图 简单题,\(bitset\) 即可。时间复杂度 \(O(\frac{n^2m}{\omega})\)。 #include<bits/stdc++.h> #define int long long using namespace std; const i 阅读全文
posted @ 2024-11-21 21:36 长安一片月_22 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 好题好题,太棒了这题! 直接想是十分困难的,你连 \(dp\) 状态都想不出合理的,因此考虑二分答案,转化成一个判定问题。下文 \(d\) 表示二分出的答案。 设 \(sum_i\) 表示 \(i\) 子树内的合法路径数,那他就一共分为两部分: 来自于 \(sum_{son}\),直接累加即可。 经 阅读全文
posted @ 2024-11-10 19:59 长安一片月_22 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 考虑 \(i\) 排在 \(j\) 前的条件是 \(a_i+\max(a_j,b_i)+b_j\le a_j+\max(a_i,b_j)+b_i\),然后发现这一坨东西是皇后游戏中的倒数第三个式子,直接转化为 \(\min(a_j,b_i)\ge\min(a_i,b_j)\),然后就按皇后游戏中的排 阅读全文
posted @ 2024-11-10 17:16 长安一片月_22 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 最小值最大,考虑二分答案,问题转为判断最小值是否能 \(\ge x\)。 假如 \(a_i\ge x\),那我们肯定不管;假如 \(a_i<x\),那最好能让选择的区间 \(r\) 值更大,用优先队列维护即可。区间增幅可以用树状数组维护。 时间复杂度 \(O(n\log^2n)\)。 #includ 阅读全文
posted @ 2024-11-10 16:53 长安一片月_22 阅读(3) 评论(0) 推荐(0) 编辑