11 2024 档案

摘要:没有固定解法,主要是积累思路 Sergey's problem 先弱化,考虑DAG,发现直接贪心可以做到只走一步 考虑有环图,DAG的做法会出现选点集有连边,探究选点集的关系,发现yx一定有x先于y选取,存在偏序关系,则选点集会形成DAG 这就变成了弱化问题,再做一遍 阅读全文
posted @ 2024-11-11 11:25 Zhone_lb 阅读(23) 评论(0) 推荐(0) 编辑
摘要:K-D Tree 细节 KDT和树套树并非等价,树套树一般是时间O(nlog2n),空间O(nlogn)的,KDT是时间O(nlogn+nn)(修改+查询),空间O(n) 子树递归时,值域越界判断不要像线段树一样写\(L<=mid,R>mid\ 阅读全文
posted @ 2024-11-11 11:21 Zhone_lb 阅读(7) 评论(0) 推荐(0) 编辑
摘要:交互题是通过程序与交互库进行交互,来解决问题的题型,大体上分为3类: 1、假的交互,把从文件读入数据变成从交互库读入 2、IO交互, 3、看不到输入数据,只能通过有限次调用交互库的函数,来找到数据的性质并解决问题(有点像猜谜 linux环境下交互题编译 采用双编译:g++ -o prog.exe p 阅读全文
posted @ 2024-11-11 11:20 Zhone_lb 阅读(18) 评论(0) 推荐(0) 编辑
摘要:常用于图论计数 Matrix-Tree定理 BEST定理 LGV引理 P7736 [NOI2021] 路径交点 说是LGV引理的模板 LGV引理 DAG上,从长度为n的集合AB的不交路径数,发现和LGV很像(注意这里的不交是指不过同一结点) 又看到“偶数个交点的方案数-奇数 阅读全文
posted @ 2024-11-11 11:18 Zhone_lb 阅读(17) 评论(0) 推荐(0) 编辑
摘要:平面向量 凸包 旋转卡壳 半平面交 半平面:一条直线分开一个平面成两半,其中一半就是半平面 算法:按辐角大小排序,插入半平面是用双端队列维护 p.s. O2会有精度误差,真的奇怪 随机增量法 最小圆覆盖 题目 P2603 [ZJOI2008] 无序运动 发现相同的轨迹可以用相邻两向量的旋转角 阅读全文
posted @ 2024-11-11 11:16 Zhone_lb 阅读(6) 评论(0) 推荐(0) 编辑
摘要:如题,这是数学推式子中很重要的思想 容斥 常规容斥 常用容斥统计方法为:设f(S),g(S)两组相反的概念(一定选--可以选,全部合法--钦定不合法等),有: \[g(S)=\sum_{T\subseteq S}f(T)\iff f(S)=\sum_{T\subseteq S}(-1)^{| 阅读全文
posted @ 2024-11-11 11:14 Zhone_lb 阅读(15) 评论(0) 推荐(0) 编辑
摘要:注意事项 关于spj 具体格式在说明书里 注意自定义比较器为.exe文件,路径是从\data开始的(如b题的spj为b\spj_cpp.exe) 交互 交互库为.h文件,实现接口为grader.cpp,有一些把grader.cpp的内容写进.h文件的,创建一个空的grader.cpp一起双编译即可 阅读全文
posted @ 2024-11-11 11:10 Zhone_lb 阅读(8) 评论(0) 推荐(0) 编辑
摘要:P6772 [NOI2020] 美食家 很简单的一道题,但是实现的时候需要一些优化 我最初的想法是,压入今后5天的状态,然后矩乘转移,对于不同美食节,断开特判即可 写的时候非常sb地把活动前5天的转移矩阵拿出来修改,后面发现只需要活动结束后改ans即可 时间复杂度\(O(k( 阅读全文
posted @ 2024-11-11 11:09 Zhone_lb 阅读(3) 评论(0) 推荐(0) 编辑
摘要:静态维护凸包 动态维护凸包 Splay平衡树 维护每个点向左、向右的线段的斜率lp,rp(初始为INFINF方便插入) 插入一个点时,先加入Splay,再向左右找到最接近的,可与新点形成新的凸包的点,把中间点删掉,更新lp,rp即可 具体实现:code cdq分治 阅读全文
posted @ 2024-11-11 11:08 Zhone_lb 阅读(6) 评论(0) 推荐(0) 编辑
摘要:P3813 [FJOI2017]矩阵填数 常见思路:最大值为v方案数=最大值v的方案数最大值<v的方案数 但是在这里有多个矩形,直接做会有问题,因为非法方案应该是存在一个矩形最大值<v,看n的范围想到容斥 上公式:\(\display 阅读全文
posted @ 2024-11-11 11:07 Zhone_lb 阅读(3) 评论(0) 推荐(0) 编辑
摘要:背包k优解 题目链接 类似次短路算法,记录前k优解,转移即可 由于一个状态只会有2个来源(j,jw[i]),问题变成了两个单调序列的前k大问题,直接不断取队头比较即可 时间复杂度O(nkV),我是直接暴力排序+卡常过的(别用STL,好慢) 练习 #6 阅读全文
posted @ 2024-11-11 10:56 Zhone_lb 阅读(2) 评论(0) 推荐(0) 编辑
摘要:KMP AC自动机 用于解决多模式串匹配的状态机,本质上为trie+KMPtrie上匹配,失配时,利用KMP的思想,尝试跳到能匹配的最长后缀,这样可以尽可能使其产生贡献 使用失配数组fail[]记录该最长后缀的对应节点 失配指针 性质1:x最长后缀为\(f 阅读全文
posted @ 2024-11-11 10:54 Zhone_lb 阅读(6) 评论(0) 推荐(0) 编辑
摘要:后缀排序 即对字符串S的所有后缀根据字典序排序 实现 算法1:暴力排序 直接O(n)比较,时间复杂度O(n2logn) 算法2:倍增优化 我们考虑长为2k的串的比较,该串可以分为前后均长2k1的串,那么只要知道这两个串的排名,就可以对所有\(2 阅读全文
posted @ 2024-11-11 10:53 Zhone_lb 阅读(35) 评论(0) 推荐(0) 编辑
摘要:快读 & 快写 快读 常用型: inline int read() { int x=0,op=1; char ch=getchar(); while(ch<'0'||ch>'9') { if(ch=='-') op=-1; ch=getchar(); } while(ch>='0'&&ch<='9' 阅读全文
posted @ 2024-11-11 10:51 Zhone_lb 阅读(3) 评论(0) 推荐(0) 编辑
摘要:排列数 Anm=n!(nm)!组合数 Cnm=n!m! (nm)!性质: Cnm=Cnnm Cn+1m=Cnm+Cnm1 \(C^k_ 阅读全文
posted @ 2024-11-11 10:49 Zhone_lb 阅读(10) 评论(0) 推荐(0) 编辑
摘要:建立虚树 先把关键点按dfn升序排序,单调栈维护树上一条链(dfn单增),初始为根节点1 逐个考虑关键点x: 设lca=LCA(x,st[top]),分类讨论: ①若lca=st[top],表明x和\(st[ 阅读全文
posted @ 2024-11-11 10:48 Zhone_lb 阅读(5) 评论(0) 推荐(0) 编辑
摘要:E - Mod Sigma Problem 技巧:拆模数(a%p=aa/pp) \(\displaystyle S_{l,r}=(S_r-S_{l-1})\%M=S_r-S_{l-1}+\begin{cases}0, \ \ \ \ \ \ S_r\ge S_{l-1}\M, \ \ 阅读全文
posted @ 2024-11-02 21:50 Zhone_lb 阅读(38) 评论(0) 推荐(0) 编辑
摘要:前置知识:Splay和文艺平衡树 介绍 Link Cut Tree,简称LCT, 时间复杂度分析 细节 原splay函数 Rotate()中,注意son[z][]的赋值要有限制语句isroot(y),因为z可能是“认父亲不认儿子”的splay根节点的父亲(Splay()中的限制管不到,因为Splay 阅读全文
posted @ 2024-11-02 17:26 Zhone_lb 阅读(7) 评论(0) 推荐(0) 编辑
摘要:前置知识:点双连通分量 定义 圆方树:对于一个点双内的点,拆除点之间所有相连的边,并和一个代表该点双的点连边 圆点为原图中的点,方点代表一个点双 圆方树有狭义和广义两种 狭义圆方树不把“杠铃形”当作点双,有圆圆边 广义圆方树把“杠铃形”当作点双,只有圆方边 狭义圆方树是解决仙人掌问题的利器,详见li 阅读全文
posted @ 2024-11-02 17:24 Zhone_lb 阅读(8) 评论(0) 推荐(0) 编辑
摘要:欧拉路径 代码 细节较多 link 欧拉回路 中国邮递员问题 求从点s出发,遍历所有边,最后回到s的最短路线 考虑回路的性质:每个点的度都为偶数 那么只需要求将奇度点两两配对的最小代价即可 (算法? P6628 [省选联考 2020 B 卷] 丁香之路 把起点和终点连一条边,则转化为 阅读全文
posted @ 2024-11-02 17:23 Zhone_lb 阅读(16) 评论(0) 推荐(0) 编辑
摘要:积性函数 定义&性质 对于所有互质的a,b,满足f(ab)=f(a)f(b),则f为积性函数 对于所有的a,b,满足f(ab)=f(a)f(b),则f为完全积性函数 对于积性函数,有f(1)=1 常见积性函数 1、1(n)=1 恒等函数 阅读全文
posted @ 2024-11-02 17:23 Zhone_lb 阅读(51) 评论(0) 推荐(0) 编辑
摘要:定义 对于集合G和二元运算,若满足以下四个性质,则(G,)为群 1、封闭性:a,bG,abG 2、结合律:a,b,cG,(ab)c=a(bc) 3、单位元:存在 $ e\in G,\fora 阅读全文
posted @ 2024-11-02 17:21 Zhone_lb 阅读(43) 评论(0) 推荐(0) 编辑
摘要:网络最大流 EK Dinic+当前弧+剪枝 Dinic:BFS分层,每次只向下一层流 当前弧:流完的边删掉 剪枝:流完的点删掉 细节 加反边时反边容量为0,价值取反,不要搞混了(已经搞错3次了) 剪枝优化尽量不用,如果一定要用的话,注意uv 阅读全文
posted @ 2024-11-02 17:19 Zhone_lb 阅读(10) 评论(0) 推荐(0) 编辑
摘要:轮廓线 球盒模型 题目 【3.14省选测试】计数 仔细分析发现一定至少有一个方向的箭头被另一个截断,形成两个凸包 用两条轮廓线描述凸包,发现可以转化为球盒模型,直接上就行了 然而会有特殊情况:凸包顶到同一行,但是错开(类似对勾函数),特殊处理即可,注意对顶的情况会算重 Group Projects 阅读全文
posted @ 2024-11-02 17:18 Zhone_lb 阅读(2) 评论(0) 推荐(0) 编辑
摘要:种类并查集 P2024 [NOI2001] 食物链 类似于超级源点,把x+n丢进集合里,相当于x对这个集合作了标记,方便维护 细节 注意xy,对于yz,会有zx 这里会出现自己和自己连边的情况,用fa[rt]=0的写法需要特判 阅读全文
posted @ 2024-11-02 17:18 Zhone_lb 阅读(8) 评论(0) 推荐(0) 编辑
摘要:Splay 技巧/记忆点: 1、Rotate()中,使用变量记录位置关系和下标; 2、Find()(找元素x所在位置)减少重复代码; 3、求前驱/后继时先把这个数插进去再删掉; 4、Splay()父子同侧先翻父亲,再翻儿子,否则翻两边儿子; 5、siz[]在Splay()前先Pushup() 阅读全文
posted @ 2024-11-02 17:16 Zhone_lb 阅读(5) 评论(0) 推荐(0) 编辑
摘要:类似于单调队列优化,根据转移方程的性质选择合适的优化方案 线段树 应用场景:方程转移为一个区间且无单调性 [ARC085F] NRE 先按左端点排序,考虑前i个区间对答案的贡献,很容易写出O(n2)的方程 考虑到只会有两类转移点:r[j]<l[i]或\(l[i]\le r[ 阅读全文
posted @ 2024-11-02 17:16 Zhone_lb 阅读(13) 评论(0) 推荐(0) 编辑
摘要:7574 -- 【6.05模拟】数据结构 分块 二次离线回滚莫队 cdq分治+扫描线 题目限制太多,考虑先消去y的限制,很容易想到将点分成ymidy>mid两部分,此时上下两部分可以分开统计最大值 但是如果直接将询问扔进去又会变成O(nQlogn)的,考虑这 阅读全文
posted @ 2024-11-02 17:15 Zhone_lb 阅读(4) 评论(0) 推荐(0) 编辑
摘要:2-SAT 拓扑逆序的正确性 反证:设(x,¬x)tpn[x]>tpn[¬x](y,¬y)tpn[y]<tpn[¬y]x,yscc[k],取x与之前取¬y决策矛盾 即\(x \leftr 阅读全文
posted @ 2024-11-02 17:15 Zhone_lb 阅读(3) 评论(0) 推荐(0) 编辑
摘要:强连通分量 细节 对于多点跑tarjan来说,可能会有先访问uv中的v,这导致dfn[v]<dfn[x],后面x跑tarjan时会误把v当成祖先,要加判断 割点 & 割边 删去后使图不连通的点/边 找割边和强连通分量求法大差不差,这里不再赘述 找割点不 阅读全文
posted @ 2024-11-02 17:12 Zhone_lb 阅读(12) 评论(0) 推荐(0) 编辑
摘要:多项式的表示 系数表示法 即F(x)=a0x0+a1x1+...+anxn 点值表示法 一个n次多项式可以被n+1个点唯一确定 可以用这n+1个点表示该多项式 多项式卷积 \[(f*g)(x)=\sum_{i=0}^{n}\sum^n_{j=0}a_ib_ 阅读全文
posted @ 2024-11-02 17:10 Zhone_lb 阅读(13) 评论(0) 推荐(0) 编辑
摘要:3n枚举子集 状压DP中相当重要的技巧(虽然后位有FWT,FMT替代,但不是都能代) for(int i = x; i; i = (i - 1) & x) { // i 就是 x 的子集 } 题目 P6622 [省选联考 2020 A/B 卷] 信号传递 看数据范围,\(m \le 23\ 阅读全文
posted @ 2024-11-02 17:10 Zhone_lb 阅读(8) 评论(0) 推荐(0) 编辑
摘要:点分治 思想 回想序列分治的做法:递归统计两个区间,在统计跨两个区间的贡献 对应到树上也类似:找一个分割点,统计子树的贡献,再统计跨子树的贡献 由于路径都可以被某一级重心统计到,所以点分治长于做路径统计问题 找树的中心 树的中心:以它为根时的最大子树最小的点 处理方式:开全局变量maxsiz 阅读全文
posted @ 2024-11-02 17:09 Zhone_lb 阅读(3) 评论(0) 推荐(0) 编辑
摘要:求区间第k小值 静态 分块 排序 划分树 动态 主席树 平衡树 子树求交 树上颜色问题 统计颜色数量 对于子树x,子树内同种颜色的点只有深度最浅的对子树外有贡献 #3628. 「2021 集训队互测」树上的孤独 贡献上传:对于x,设它同颜色祖先为p,则x对路径\(p\ 阅读全文
posted @ 2024-11-02 17:04 Zhone_lb 阅读(2) 评论(0) 推荐(0) 编辑
摘要:概率与期望 定义 期望:对于一个离散随机变量X,自变量的取值范围为{x1,x2,x3,...,xn}P(xi)X=xi的概率。其期望被定义为: E(X)=i=1nxiP(xi)简单理解就是加权平均。 公式 贝叶斯 阅读全文
posted @ 2024-11-02 17:03 Zhone_lb 阅读(19) 评论(0) 推荐(0) 编辑
摘要:待办 阅读全文
posted @ 2024-11-02 17:02 Zhone_lb 阅读(1) 评论(0) 推荐(0) 编辑
摘要:二分图染色判定 二分图最大匹配 性质 匹配必须点:即所有最大匹配中都匹配的点(删除该点最大匹配数有变) 非匹配必须点:同理 关于必须点与非必须点的性质: 1、与非必须点相连的点一定是必须点 易证,若为非必须点,则这两点可以相配,不符合最大匹配定义 2、未匹配点一定是非必须点 通过DFS可以在已知最大 阅读全文
posted @ 2024-11-02 17:01 Zhone_lb 阅读(11) 评论(0) 推荐(0) 编辑
摘要:四边形不等式 决策单调 即对于dp方程f[i]=min/max(f[j]+w(j+1,i)),设f[i]pre[i]转移,有 i>j,pre[i]pre[j] 写出pre[]就是大概这种效果: 11111122444444444666 阅读全文
posted @ 2024-11-02 16:59 Zhone_lb 阅读(4) 评论(0) 推荐(0) 编辑
摘要:在二维动态规划中,往往会有两个维度上的限制,此时,可以通过加维、换状态、改变枚举顺序来实现消除这两个维度的限制,但有时,往往需要分析 [P5664] Emiya 家今天的饭 分析题目,易知烹饪方法可以通过顺序枚举取消后效性,而主要食材加维、换序都不行,考虑别的道路 反向考虑,容斥原理 当正向思路受到 阅读全文
posted @ 2024-11-02 16:56 Zhone_lb 阅读(4) 评论(0) 推荐(0) 编辑

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