摘要:##「JOISC 2020 Day1」扫除 题目链接 先不考虑加点. 那么一个$H$操作影响的范围是$(x,n - l]$ $x$是在这个$H$操作之前的$V$操作所影响的最大的横坐标 $V$操作类似 画个图理解一下大概就是: 红色部分为$H$可以影响的范围(黄色的部分灰尘被移出去了) 然后这个可以 阅读全文
posted @ 2020-05-31 22:40 zzy2005 阅读(6) 评论(0) 推荐(0) 编辑
摘要:灭虫 题目链接 【问题描述】 你需要在一条无限长的道路上喷洒杀虫剂。 在这条道路上,总共有 N 个投放点,其中第 i 个投放点在数轴上坐标 pi 处。在每一 个投放点,你可以选择往左喷洒或往右喷洒。但是由于风向和地理环境的影响,向左喷洒和 向右喷洒的效果不一定相同。具体来说,在一个位置向左喷洒,可以 阅读全文
posted @ 2019-09-21 22:43 zzy2005 阅读(75) 评论(0) 推荐(0) 编辑
摘要:二进制集合枚举子集 枚举一个二进制集合的子集,可以看做原集合忽略0之后不断 1 就有了这样一种算法: i 1使得末尾的0全部变成1,但是由于&s,原来是0的位无论如何也不会变成1,但是原来是1的位就形成了不断 1的模式 卡空间 mx占18位,ls和rs占23位 斐波拉契数列 $f[i] = f[i 阅读全文
posted @ 2018-12-30 16:25 zzy2005 阅读(103) 评论(3) 推荐(0) 编辑
摘要:LCA Tarjan代码: KMP模板 EXBSGS cpp include using namespace std; define LL long long const int Mod = 1e5 + 7; int gcd(int x, int y) { return !y ? x : gcd(y 阅读全文
posted @ 2018-12-29 17:26 zzy2005 阅读(151) 评论(1) 推荐(0) 编辑
摘要:首先有一个想法,就是建出一颗类似树的结构. 然后$i$个子树合并的方案设为$f[i]$ 实质上,$f[n]$就是$L:1,1,1,...,n$的方案 有$f[n]=(n-1)f[n-1]+\sum_^(n-i-1)f[i]f[n-i]$ 这个递推式的含义就是: 考虑从大到小(或从小到大)插入数 假设 阅读全文
posted @ 2020-06-02 20:01 zzy2005 阅读(22) 评论(0) 推荐(0) 编辑
摘要:因为某些原因被迫学习 我们回顾普通费用流的做法,通过每次spfa找到最小费用的流. 但是每次只松弛一条路径,效率低下. 于是就有了类似最大流多路增广的算法 zkw费用流 ##算法1 使用spfa把S到所有点的距离全部算出来 然后满足在最短路上的点一定满足$dis[u]+length(u,v)=dis 阅读全文
posted @ 2020-06-01 20:41 zzy2005 阅读(28) 评论(0) 推荐(0) 编辑
摘要:##「JOISC 2020 Day1」扫除 题目链接 先不考虑加点. 那么一个$H$操作影响的范围是$(x,n - l]$ $x$是在这个$H$操作之前的$V$操作所影响的最大的横坐标 $V$操作类似 画个图理解一下大概就是: 红色部分为$H$可以影响的范围(黄色的部分灰尘被移出去了) 然后这个可以 阅读全文
posted @ 2020-05-31 22:40 zzy2005 阅读(6) 评论(0) 推荐(0) 编辑
摘要:第二类斯特林数 定义: 第二类斯特林数$𝑆(𝑛,𝑚)$表示的是把$n$个 不同 的小球放在$m$个 相同 的盒子里方案数。 求法 递推式:$S(n,m)=S(n 1,m 1)+S(n 1,m) m$ 容斥原理: $S(n,m)=\frac{1}{m!}\sum_{k=0}^{m}( 1)^k( 阅读全文
posted @ 2020-01-11 22:16 zzy2005 阅读(44) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 题解 首先可以想到分组后,去掉两边都填了数的组。 然后就会剩下$( 1, 1)$和$( 1,x)$或$(x, 1)$这两种情况 因为是最小值序列的情况数,我们可以考虑从大到小填数,一个组填完了最小值就是当前填的数 设$f[i][j][k]$表示已经填到数$i$剩余$j+k$个填了一个数 阅读全文
posted @ 2019-12-08 13:48 zzy2005 阅读(37) 评论(0) 推荐(0) 编辑
摘要:令$f_n$表示$n$个点的二叉树个数;$g_n$表示$n$个点的所有$f_n$棵二叉树的叶节点总数。 我们发现一个规律:$g_n=nf_{n 1}$ 证明: 对于每棵$n$个点的二叉树,如果里面有$k$个叶节点,那么我们分别把这$k$个叶子删去会得到$k$棵$n 1$个点的二叉树,那么一颗$k$个 阅读全文
posted @ 2019-11-11 16:03 zzy2005 阅读(31) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 题解 设$b[i]=a[i]\ xor\ a[i+1]$ 我们可以发现,修改只会改变$b[l 1]$和$b[r]$ 然后发现$b[i]=1$的点最多$2 k$个 状压$dp$ Code 阅读全文
posted @ 2019-10-25 11:48 zzy2005 阅读(49) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 题解 一个数能被一些数整除,那么一定被这些数的$lcm$整除 那么我们容易想到根据$lcm$设状态 我们可以发现有用的$lcm$只有$48$个 那么按照一般的数位$dp$ 设出状态:$f_{i,j,k,0/1}$表示前$i$位,$lcm=j$,模$lcm$的余数是$k$,是否达到上界 阅读全文
posted @ 2019-10-21 21:58 zzy2005 阅读(36) 评论(0) 推荐(0) 编辑
摘要:灭虫 题目链接 【问题描述】 你需要在一条无限长的道路上喷洒杀虫剂。 在这条道路上,总共有 N 个投放点,其中第 i 个投放点在数轴上坐标 pi 处。在每一 个投放点,你可以选择往左喷洒或往右喷洒。但是由于风向和地理环境的影响,向左喷洒和 向右喷洒的效果不一定相同。具体来说,在一个位置向左喷洒,可以 阅读全文
posted @ 2019-09-21 22:43 zzy2005 阅读(75) 评论(0) 推荐(0) 编辑
摘要:费马小定理&欧拉定理 费马小定理: 如果$p$是一个质数,而整数$a$不是$p$的倍数,$a^{p 1}\equiv1\pmod p$ 欧拉定理: 当$a$与$n$互质时,$a^b \equiv a^{b\%\phi(n)} \pmod n$ 扩展欧拉定理: $$ a^b \equiv \begin 阅读全文
posted @ 2019-09-15 18:24 zzy2005 阅读(56) 评论(0) 推荐(0) 编辑
摘要:Lucas定理 当$p$是质数时,有$(^n_m)\equiv(^{n/p}_{m/p}) (^{n\%p}_{m\%p}) \pmod{p}$ 狄利克雷卷积 定义:$(f g)(n)=\sum_{d|n}f(d)g(\frac{n}{d})$ 然后满足交换律,结合律,分配律 单位元:$e=[n=1 阅读全文
posted @ 2019-09-15 09:04 zzy2005 阅读(94) 评论(0) 推荐(0) 编辑
摘要:floyd判圈算法又称龟兔赛跑算法 算法流程 两个指针$P1,P2$ $P1$每次向后跳一次 $P2$每次向后跳两次 显然,如果$P1,P2$相遇才有环 现在我们想求环长和环的起点. 设起点到环的距离为$len$ 环的起点离相遇点距离$rem$ 设两个指针分别走了$p,q$步 那么,$p=len+r 阅读全文
posted @ 2019-08-05 21:32 zzy2005 阅读(47) 评论(0) 推荐(0) 编辑
摘要:题目链接 题解 首先,答案肯定等于$\sum w_i$ 乘上一个系数$P$ 那么我们只要求这个系数是多少 注意到,\(W(S)=|S|\sum_{x∈S}w_x\) 那么等于$x$对集合中每个元素贡献了$1$次 那么系数$P$就等于一个数被贡献了多少次 显然,自己对自己的贡献是$S(n,k)$ 其它 阅读全文
posted @ 2019-07-28 22:17 zzy2005 阅读(37) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 题解 首先,对于每个$i$向$a[i]$连边. 这样会连出许多独立的环. 可以证明,交换操作不会跨越环. 每个环内的点到最终状态最少交换步数是 $环的大小 1$ 那么设$f[i]$表示环大小为$i$的方案数 则 $$ f[i] = \sum_{x+y=i}f[x] f[y] g(x,y 阅读全文
posted @ 2019-07-28 21:22 zzy2005 阅读(40) 评论(0) 推荐(0) 编辑
摘要:Step1: 首先定义一个点的权值为与其相连边的异或和。那么修改一条路径,权值改变的只有两个端点。边权都为0和点权都为0实质相同。 Step2: 那么现在和树的结构就没有什么关系了。每次选两个点,然后同时异或上一个值。求最小次数。 Step3: 首先权值为0的不用修改了,贪心先把权值一样的两两分组。 阅读全文
posted @ 2019-07-13 19:17 zzy2005 阅读(86) 评论(0) 推荐(0) 编辑