随笔分类 - 日常总结
竞赛学习
摘要:有关数学的均摊 比较trivial。但也不是那么trivial。 大概是观察到有那么一个东西在操作中持续变小,然后使用势能分析发现复杂度是正确的。 大概率会有一部分是打暴力,这就是均摊( 颜色段均摊 ODT珂朵莉树/颜色段均摊。 ODT总结 很好的ODT。 势能分析 强而有力的分析复杂度手段。 首先
阅读全文
摘要:是很强大的东西。 难点是精确地刻画出限制。就是要找到限制的一个充要条件,然后放到二维平面上去用扫描线+DS维护。 常见构造二维平面的方式:以询问 作为 ;以需要维护的信息 作为 etc. 正难则反 正着刻画限制不太行,就尝试刻画出
阅读全文
摘要:#include<bits/stdc++.h> using namespace std; const int mo=998244353; const int maxn=1<<20; int add(int x,int y){ return (x+y>=mo)?x+y-mo:x+y; } int su
阅读全文
摘要:微积分 早该学了 微积分包含微分(求导)和积分,二者为互逆运算。 微分(求导) 导数的定义 式子: 导数描述了一个函数的变化趋势,是某一点附近的变化率
阅读全文
摘要:基本原理 三个条件: 最优子结构:能将大问题分解成小问题,并且大问题的最优解能通过小问题的最优解构成。 无后效性:已经求解的子问题,不会再受到后续决策的影响。 子问题重叠:可以用数组存下重叠的子问题来提升效率。 基本思路: 将原问题分解成若干个阶段,找出每个阶段对应的子问题的特征(称为状态) 找每个
阅读全文
摘要:常常用于维护颜色段。随机数据下表现优秀,但构造数据随便卡。一定要看是否保证了数据随机。 前置 STL之set。年少不学STL,学珂朵莉树两行泪。 set内部是红黑树,内部不会出现值相同的元素。可重集使用multiset,用法基本与set一致。 插入删除 以下简写set<type>::iterator
阅读全文
摘要:简单的是真简单,难的几乎到天花板。 约定一般 表示原串长度, 为字符集。 定义 字符串的一段前缀能和一段后缀完全匹配(非原串),则称这个前缀/后缀为原串的一个Border。 对任意合法 , ,则称 为原串的一个周期。\(p\mid
阅读全文
摘要:菜就多练。 贪心和构造有一定相似性(都不会做),放在一起做吧。 1. [ABC123D] Cake 123 link 热身简单题。利用堆进行贪心。 发现排序后都取端点一定是最值,然后随便一个序列中向后挪一个位置都有可能是次大值。 于是用堆维护,每次弹出最大的,然后向后拓展三个状态塞到堆里面。注意可能
阅读全文
摘要:做题。太菜了只会一些水的qwq。 1. P5020 [NOIP2018 提高组] 货币系统 link 就是从给的一组基里面去掉几个,使得剩下的线性无关。 直接完全背包跑一遍,如果一个数能被多于一种方案表示出来(除了自己表示自己),那么就可以去掉。 ,勉强过。 2.
阅读全文
摘要:朴素DP都写不出来怎么办捏qwq 纵观各种优化方式,可以发现DP的优化在于两个方面:转移和状态数。 转移的优化很多,大多数的优化都关注于转移。而状态数的优化大多是针对状态的设计。 一类特殊的DP:整体DP,试图兼顾这两个方面,利用DS囊括各种DP的状态时,同样利用DS的结构将具有相同转移的状态一起转
阅读全文
摘要:各种图的计数 有标号无根树 Prüfer序列 引入强而有力的Prüfer序列。 将一棵 个节点从 到 标号的无根树用 中的 个整数表示。可以理解为完全图的生成树与数列之间的双射关系。 其建立 每次选编号最小的叶子,记录它连向的点的编号,并删除这个叶
阅读全文
摘要:有各种分治:CDQ分治,树上分治,数据结构上分治,根号分治,etc. 普通分治 求逆序对 用归并排序求逆序对。 Sol: 其实逆序对是在归并排序时顺带求的,主要是归并排序。 我们要对区间 从小到大排序,先对 排序(这一步体现分治思想)。 现在考
阅读全文
摘要:每次都选当下的最优解,一步步得到全局的最优。 菜就多练 贪心练习 方法 邻项交换法 反悔贪心 拟阵 典中典 邻项交换例子 luogu国王游戏 恰逢 H 国国庆,国王邀请 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让
阅读全文
摘要:一些数具有特殊的意义,或是特殊的性质。 错排数 记作 。 如何求? 容斥做法 \[d_n=n!-\sum\limits_{1\le k\le n}(-1)^{k-1}\dbinom{n}{k}(n-k)!=n!\sum\limits_{0\le k\le n}(-1)^k\dfrac{1
阅读全文