[置顶] 侧边栏:内有友链,分类等等

摘要: 友链 学弟学妹们 "要AKIOI的dky" "将来要暴踩博主的Gekoo" 本校同级dalao们 "SYQ优化发明者Monster_Qi" "嘤嘤怪" "最fAKe的Labelray" "神上加神的Narh" "不能再神的Zinn" 外校dalao们 "最最最最强的yyb" "神仙yyf" "SGC 阅读全文
posted @ 2018-11-24 14:21 ErkkiErkko 阅读(662) 评论(0) 推荐(0) 编辑

[置顶] 脑残错误记录

摘要: 请自己原地升天! 1、区分清楚行列n,m,q!!! 0、快读一定记得负数, ! 1、定义结构体没敲最后的分号。 编译失败: 2、分治NTT每次计算len时没有先清零,导致rev数组错误。 3、回答询问输出Yes/No时,最好在每个询问结束时输出,以防止单个询问重复输出多次$Yes 阅读全文
posted @ 2018-09-25 15:47 ErkkiErkko 阅读(879) 评论(0) 推荐(0) 编辑

NOI2019游记

摘要: 7.10 离NOI只有不到一周了。。 其实自己还有好多不会的东西,比如常系数线性齐次递推,BM最短递推式,PAM回文自动机,支配树。。。 先把心态放好,不会的题大不了打暴力。把之前学的东西好好复习一遍,之后可能会尽量抽空学一下常系数线性齐次递推。 最近的几场模拟赛状态还可以?希望能继续保持下去。不要 阅读全文
posted @ 2019-07-10 20:16 ErkkiErkko 阅读(952) 评论(7) 推荐(1) 编辑

字符串算法小结

摘要: KMP 字符串单模匹配算法。 S是模板串,T是文本串,next(i)表示字符串T[1...i]的所有后缀中还是T的前缀的最长的长度,失配时利用next(i)转移即可。 时间复杂度为均摊O(|S|+|T|)。 Manacher 求一个字符串的所有回文子串。 记$maxrig 阅读全文
posted @ 2019-06-25 18:17 ErkkiErkko 阅读(191) 评论(0) 推荐(0) 编辑

[CF1172E]Nauuo and ODT:Link-Cut Tree

摘要: 分析 ~~lxl大毒瘤。~~ 感谢 "Ouuan" 等CNOIER提供了这么好的比赛。 这里只是把官方题解复述一遍,可以直接去看官方题解: "点我" 。 考虑将问题转化为对于每个颜色,求出没有经过这个颜色的节点的路径有多少条,这问题的答案是: $$\sum_{i=1}^{n}(n^2 \sum_{G 阅读全文
posted @ 2019-06-09 18:22 ErkkiErkko 阅读(400) 评论(0) 推荐(0) 编辑

学军中学6月培训第二次模拟赛

摘要: cly big duliu ZOJ4112 河道 小N,小A,小T开学啦。这次,三个好朋友要去学农T_T。 学农,众所周知,有很多好玩的东西。 这次,三个人看到了一条名叫“逢坂”的大河。与此同时,有一位老农民姓高,名须龙,外号龙儿的老农民向三位介绍了这条河对于庄家灌溉的作用。 这里的庄稼可以抽象成M 阅读全文
posted @ 2019-06-08 13:10 ErkkiErkko 阅读(92) 评论(0) 推荐(0) 编辑

学军中学6月培训第一次模拟赛

摘要: 这篇博客是什么呢? 是学军中学培训比赛记录哒! Problem A 给出N个不同的点的坐标 求一个N-1次的多项式函数 经过这些点 输出其表达式 为了使题目更简便 所有运算在 Mod 1,000,000,007下进行 输入格式: 一个整数 N 以后N行 每行两个整数 Xi,Yi 表示这个函数经过 ( 阅读全文
posted @ 2019-06-05 20:59 ErkkiErkko 阅读(72) 评论(0) 推荐(0) 编辑

[AGC034D]Manhattan Max Matching:费用流

摘要: 前置姿势 k维空间内两点曼哈顿距离中绝对值的处理 戳这里: "[CF1093G]Multidimensional Queries" 多路增广的费用流 据说这个东西叫做ZKW费用流? 流程其实很简单,就是把EK中的单路回溯改成利用DFS多路增广,类似Dinic那样,可以看作是EK的一个优化。需要注 阅读全文
posted @ 2019-06-05 19:15 ErkkiErkko 阅读(203) 评论(0) 推荐(0) 编辑

APIO2019简要题解

摘要: 桥梁(bridges) 分析 对时间轴分块,把每条边的存在时间分成O()个整块挂在对应的块上,和O()个单点挂在对应的询问上。每个块内单独处理,把所有挂在这个块上的边和所有询问按w从大到小排序,离线处理块内所有询问,使用并查集在加边维护连通性的同时将连通块缩点。对于每 阅读全文
posted @ 2019-05-22 09:39 ErkkiErkko 阅读(133) 评论(0) 推荐(0) 编辑

[LOJ3120][CTS2019|CTSC2019]珍珠:生成函数+NTT

摘要: 分析 容易发现Dn2m时,任意数列都满足要求,直接判掉,下文所讨论的均为Dn2m的情况。 考虑把两个数列合并,显然可以认为是两个带标号对象的合并,可以使用EGF相乘。 我们可以枚举有k个数出现了奇数次,答案即为: $$ \begin{aligned} ans=&n!\s 阅读全文
posted @ 2019-05-22 08:52 ErkkiErkko 阅读(261) 评论(0) 推荐(0) 编辑

[LOJ3124][CTS2019|CTSC2019]氪金手游:树形DP+概率DP+容斥原理

摘要: 分析 首先容易得出这样一个事实,在若干物品中最先被选出的是编号为i的物品的概率为Wij=1cntWj。 假设树是一棵外向树,即父亲比儿子先选(一个点比它的子树中的所有其他的点先选),我们可以令f(i,j)表示以i为根的子树,子树内的总权值为$ 阅读全文
posted @ 2019-05-22 08:13 ErkkiErkko 阅读(208) 评论(0) 推荐(0) 编辑

[LOJ3119][CTS2019|CTSC2019]随机立方体:组合数学+二项式反演

摘要: 分析 感觉这道题的计数方法好厉害。。 一个直观的思路是,把题目转化为求至少有k个极大的数的概率。 考虑这样一个事实,如果钦定(1,1,1),(2,2,2),...,(k,k,k)是那k个极大值的位置,并且$val(1,1,1) define rin(i,a,b) for(int i=(a 阅读全文
posted @ 2019-05-21 22:30 ErkkiErkko 阅读(157) 评论(0) 推荐(0) 编辑

奇数与偶数的指数生成函数

摘要: 首先我们可以写出奇数和偶数的EGF: ODD(x)=x+x33!+x55!+... EVEN(x)=1+x22!+x44!+... 所以有: $$ODD(x)+EVEN(x)=\sum_{i=0}^{+\ 阅读全文
posted @ 2019-05-17 15:59 ErkkiErkko 阅读(478) 评论(0) 推荐(0) 编辑

[LOJ6433][PKUSC2018]最大前缀和:状压DP

摘要: 分析 我们让每个数列在第一个取到最大前缀和的位置被统计到。 假设一个数列在pos处第一次取到最大前缀和,分析性质,有: 1. 下标在[1,pos]之间的数形成的数列的每个后缀和(不包括整个数列,因为要求非空)都大于0。 2. 下标在[pos+1,n]之间的数形成的数列的每个前缀和(包 阅读全文
posted @ 2019-05-09 21:31 ErkkiErkko 阅读(140) 评论(0) 推荐(0) 编辑

生成函数的背包计数问题

摘要: 鏼爷的冬令营课件 核猩公式 ln(1+x)=x12x2+13x314x4+... 版本1 $$ \begin{aligned} \prod_{i=1}^{n}(1+x^i+x^{2i}+...)^{a_i}=&\prod_{ 阅读全文
posted @ 2019-05-09 15:25 ErkkiErkko 阅读(420) 评论(0) 推荐(0) 编辑

[LOJ2538][PKUWC2018]Slay the Spire:DP

摘要: 分析 学会新姿势!我们可以通过调整DP顺序来体现选取物品的优先顺序! 显然选取强化牌的最优策略是倍数从高到低,能选就选,最多选k1张,选取攻击牌的最优策略是伤害从高到低,尽量少选,但最少选1张。 我们可以把强化牌从大到小排序,把攻击牌从小到大排序,令f[i][j]表示考虑了最大的i 阅读全文
posted @ 2019-05-09 09:56 ErkkiErkko 阅读(250) 评论(0) 推荐(0) 编辑

[洛谷P5361][SDOI2019]热闹又尴尬的聚会:构造题

摘要: 分析 构造方法 (截图自UOJ群) 可以使用 维护这个过程,不过据说可以做到O(n+m)。。 正确性证明 题目中的要求等价于(p+1)(q+1)n 设每次找出地度数最小的点的被删除时的度数分别为d1,d2,...,dq,显然用这些点可以构造出一个尴尬度为q的方案。 并且,我们 阅读全文
posted @ 2019-05-09 08:15 ErkkiErkko 阅读(346) 评论(0) 推荐(0) 编辑

[VIJOS2053][SDOI2019]世界地图:最小生成树+虚树

摘要: 分析 可以发现第一列和最后一列永远不会被删除,于是我们可以想到维护前后缀最小生成树,但是直接维护的话显然时间空间两爆炸。(通过上网找题解)可以发现我们关心的只是最左边和最右边两列,而不关心内部的连边情况。所以我们可以仅维护这两列的节点在最小生成树上形成的虚树,边权是对应链上最大的边权,合并时对两棵虚 阅读全文
posted @ 2019-05-08 18:00 ErkkiErkko 阅读(482) 评论(0) 推荐(0) 编辑

[VIJOS2055][SDOI2019]移动金币:DP+组合数学

摘要: 分析 显然可以转化为阶梯nim。 于是问题转化为了对于所有i[0,nm],求长度为m+12,和为i,异或和非0的非负整数序列的个数。 直接DP看似不太可行,然而UOJ群的dalao们告诉博主可以按位DP。 令$f[i][j][ 阅读全文
posted @ 2019-05-08 08:46 ErkkiErkko 阅读(338) 评论(0) 推荐(0) 编辑

[LOJ3046][ZJOI2019]语言:树链的并+线段树合并

摘要: 分析 问题显然可以转化为对于每个节点询问所有这个节点的所有链的链并的大小。 考场上我直接通过树剖打标记+树剖线段树维护以O(nlog3n)的时间复杂度暴力实现了这个过程。(使用LCT或者全局平衡二叉树可以实现O(nlog2n)的时间复杂度) 考虑如何快速求出链并的大小,有这样 阅读全文
posted @ 2019-05-08 08:16 ErkkiErkko 阅读(331) 评论(0) 推荐(0) 编辑

[LOJ3109][TJOI2019]甲苯先生的线段树:DP

摘要: 分析 首先,请允许我 orz HN队长zsy。 "链接" 我们发现树上的链有两种类,一类是直上直下的,一类不是直上直下的(废话)。并且,如果我们确定了左侧和右侧的链的长度和整条链上所有节点的编号之和,那么这个链的深度最浅的的节点的编号也是可以唯一地确定的。(也有可能不存在这样的节点,判掉就好) 以第 阅读全文
posted @ 2019-05-08 07:48 ErkkiErkko 阅读(341) 评论(0) 推荐(0) 编辑

[LOJ3106][TJOI2019]唱、跳、rap和篮球:DP+生成函数+NTT+容斥原理

摘要: 分析 令f(i)表示共i组同学讨论cxk的位置的方案数(不考虑其他位置上的人的爱好),这个数组可以很容易地通过依次考虑每个位置是否是四个人中最后一个人的位置来递推求解,时间复杂度O(n2)。 令g(i)表示共i组同学讨论cxk,剩下的n4i个位置上的人的爱好的方案数。这个 阅读全文
posted @ 2019-05-05 11:12 ErkkiErkko 阅读(294) 评论(0) 推荐(0) 编辑

[十二省联考2019]字符串问题:后缀数组+主席树优化建图

摘要: 分析 蒟蒻不会SAM,只好来一发主席树优化建图的题解。 令N为原字符串的长度。首先我们考虑一个最基本的思路,我们发现Aj能接在Ai后面当且仅当存在一个BkAi支配且是Aj的前缀。考虑建图,如果Ai支配Bj,那么从AiBj连一条单向边, 阅读全文
posted @ 2019-04-08 10:11 ErkkiErkko 阅读(397) 评论(0) 推荐(0) 编辑

使用单调队列维护决策三元组实现决策单调性优化DP的一些细节

摘要: 以 [BZOJ2687]交与并 为例给出代码。 cpp include define rin(i,a,b) for(register int i=(a);i=(b); i) define trav(i,a) for(register int i=head[a];i;i=e[i].nxt) defin 阅读全文
posted @ 2019-04-02 18:29 ErkkiErkko 阅读(156) 评论(0) 推荐(0) 编辑

杜教筛&min_25筛复习

摘要: 杜教筛 适用条件 1. 你要能构造出g(x),h(x),使得h=fg。 2. G(x),H(x)的值可以快速计算。 过程 我们要求的是F(n)=i=1nf(i),现在有h=fgG(x),H(x)分别为g(x),h(x)的前缀和。 $$ \begi 阅读全文
posted @ 2019-04-01 22:30 ErkkiErkko 阅读(249) 评论(0) 推荐(0) 编辑

分治NTT:我 卷 我 自 己

摘要: 感觉这种东西每次重推一遍怪麻烦的,就写在这里了。 说白了就是根据分治区间左端点是否为0分类讨论一下,一般是如果不是0就要乘2,不过还是需要具体问题具体分析一下才好(就比如下面的例子)。 以下面这个东西为例给出代码: f[0]=0,g[0]=0,f[1]=0,g[1]=1 $$f[ 阅读全文
posted @ 2019-03-26 22:02 ErkkiErkko 阅读(740) 评论(0) 推荐(0) 编辑

高级(并不)多项式算法总结

摘要: 牛顿迭代 说白了就是给你一个F(x),你需要求出一个G(x),使得F(G(x))0modxn。 假设我们已经求出了H(x)满足F(H(x))0modxn,我们需要推出F(G(x))0modx2n。我们 阅读全文
posted @ 2019-03-23 09:18 ErkkiErkko 阅读(275) 评论(2) 推荐(0) 编辑

导数与微分简单总结(updated)

摘要: 只讲一些导数在OI中的简单应用,特别基础的东西,不会很详细也不会很全面。 导数的定义 设函数y=f(x)在点x0的某个邻域内有定义,当自变量xx0处有增量Δx(x0+Δx)也在该邻域内时,相应地函数取得增量Δy=f(x0+Δx)f(x0),如果Δy与$Δx 阅读全文
posted @ 2019-03-19 22:20 ErkkiErkko 阅读(2565) 评论(0) 推荐(0) 编辑

退役前的做题记录

摘要: [BZOJ5197][CERC2017]Gambling Guide:期望DP+Dijkstra 令dis[x]表示从x出发到终点的期望距离,显然每个点只能从期望值比它小的点转移,也就是我们希望从小到大计算出所有点的期望值,可以发现这个过程类似于Dijkstra,所以直接开个优先队列像Dij 阅读全文
posted @ 2019-03-16 12:57 ErkkiErkko 阅读(290) 评论(0) 推荐(0) 编辑

USACO2018DEC PLATINUM

摘要: 就按(博主认为的)难度顺序排吧。 Sort It Out 分析 容易发现选出的集合一定是所有逆序对的一个最小覆盖集,那么剩下的就一定是一个LIS。仔细想想还可以发现字典序第k小的最小覆盖集的补集一定是字典序第k大的LIS,所以找到这个序列字典序第k大的LIS就好了。 代码 The Cow 阅读全文
posted @ 2019-03-07 20:37 ErkkiErkko 阅读(251) 评论(2) 推荐(0) 编辑

[BZOJ5249][九省联考2018]IIIDX:线段树+贪心

摘要: 分析 GXZlegend orz 构造出一组合法的解并不是难事,但是我们需要输出的是字典序最大的解。 字典序最大有另一种理解方式,就是让越小的数尽量越靠后。 我们从树的根结点出发,从1开始填数,构造出来的一定是一组合法的解。 对于每种相同的数,可以通过线段树上二分逐个确定他们的最优位置,具体细节可以 阅读全文
posted @ 2019-02-27 22:33 ErkkiErkko 阅读(176) 评论(0) 推荐(0) 编辑

[CF666E]Forensic Examination:后缀自动机+线段树合并

摘要: 分析 用到了两个小套路: 1. 使用线段树合并维护广义后缀自动机的right集合。 2. 查询S[L,R]T中的出现次数:给T建SAM,在上面跑S,跑到R的时候先判匹配长度是否RL+1,如果是则跳parent使maxlen(x)RL+1的前 阅读全文
posted @ 2019-02-27 22:27 ErkkiErkko 阅读(176) 评论(0) 推荐(0) 编辑

二分图上的博弈

摘要: 描述 RT 先手必胜条件 起点是二分图最大匹配的必需点。 证明 ~~懒得写了。~~ "链接" 阅读全文
posted @ 2019-02-26 17:37 ErkkiErkko 阅读(189) 评论(0) 推荐(0) 编辑

[BZOJ4305]数列的GCD:莫比乌斯反演+组合数学

摘要: 分析 一开始想的是对恰好k个位置容斥,结果发现对gcd有些无从下手,想了想发现自己又sb了。 考虑对gcd进行容斥处理,弱化条件,现在我们要求的是使gcdd的倍数的方案数,k个位置的限制可以用组合数算,最后莫比乌斯反演一下就好了。 时间复杂度为调和级数($O(n \l 阅读全文
posted @ 2019-02-25 11:39 ErkkiErkko 阅读(202) 评论(0) 推荐(0) 编辑

[BZOJ2669][CQOI2012]局部极小值:DP+容斥原理

摘要: 分析 题目要求有且只有一些位置是局部极小值。有的限制很好处理,但是只有嘛,嗯...... 考虑子集反演(话说这个其实已经算是超集反演了吧还叫子集反演是不是有点不太合适),枚举题目给出位置集合的所有超集,计算让这些位置成为局部极小值,而其他位置随意的方案数,这个可以通过DP,从小到大插入每个数解决。 阅读全文
posted @ 2019-02-25 11:09 ErkkiErkko 阅读(177) 评论(0) 推荐(0) 编辑

两类特殊的Nim游戏:Nim-K游戏与反Nim游戏

摘要: Nim K游戏 描述 有n堆石子,每次可从k堆石子中拿走任意数量的石子。 两个人轮流拿,谁不能拿谁输。 先手必胜条件 把n堆石子的石子数用二进制表示,统计每一个二进制位上1的个数。 若每一位上1的个数mod(k+1)全为0,则先手必败,否则先手必胜。 证明 类比: 一 阅读全文
posted @ 2019-02-25 09:14 ErkkiErkko 阅读(2330) 评论(0) 推荐(5) 编辑

[BZOJ3622]已经没有什么好害怕的了:DP+容斥原理

摘要: 分析 说白了就是一道先DP再二项式反演的水题,然后被脑残博主把“多k组”看成了“糖果比药片能量大的组数恰好为k组”,还改了各种奇怪的地方,最后看了别人的题解才突然意识到这一点。 看来博主离退役不远了,快把我拖走吧没救了没救了。 代码 cpp include define rin(i,a,b) 阅读全文
posted @ 2019-02-24 16:01 ErkkiErkko 阅读(190) 评论(0) 推荐(0) 编辑

[BZOJ3812]主旋律:状压DP+容斥原理

摘要: 分析 "Miskcoo orz" 令f[S]表示使得S这个点集强连通的方案数。 然后呢?~~不会了~~ 考虑到将一个有向图SCC缩点后,得到的新图是一个DAG,所以我们可以类比带标号DAG计数的解法来寻找这道题的突破口。 我们可以枚举哪些点所构成的SCC在缩点后入度为0,然后令$g[S] 阅读全文
posted @ 2019-02-21 07:37 ErkkiErkko 阅读(235) 评论(0) 推荐(0) 编辑

[BZOJ2560]串珠子:状压DP+容斥原理

摘要: 分析 为什么我去年6月做过这道题啊,估计当时抄的题解。 具体做法就是令f[S]表示保证连通点集S的方案数,g[S]表示不保证连通点集S的方案数。 容易想到: g[S]=f[ST]×g[T] 这里的TS去掉一个点后得到的集合的所有非空子集。 阅读全文
posted @ 2019-02-20 20:23 ErkkiErkko 阅读(145) 评论(0) 推荐(0) 编辑

有标号的DAG计数I~IV

摘要: 有标号的DAG计数I 题目链接 COGS RIP "个人题库" 分析 感觉一下做不完,就四道题分开发博客(希望这不是个flag)。 问题很简单,就是求n个结点的带标号DAG的个数,要求时间复杂度为O(n2)。 令f[n]n个结点的带标号DAG的个数。 一个思路是枚举入度为0阅读全文
posted @ 2019-02-18 17:20 ErkkiErkko 阅读(420) 评论(0) 推荐(0) 编辑

组合容斥计数技巧

摘要: 小学奥数容斥 如果有: f(m)=i=mn(im)×g(i) 那么: i=1ng(i)=f(1)f(2)+f(3)f(4)+...=i=1n(1)i+1×f(i) 适用 阅读全文
posted @ 2019-02-18 17:12 ErkkiErkko 阅读(264) 评论(0) 推荐(0) 编辑

[BZOJ3456]城市规划:DP+NTT+多项式求逆

摘要: 写在前面的话 昨天听吕老板讲课,数数题感觉十分的神仙。 于是,ErkkiErkko这个小蒟蒻也要去学数数题了。 分析 "Miskcoo orz" 带标号无向连通图计数。 f(x)表示x个点的带标号无向连通图的个数。弱化限制条件,令g(x)表示x个点的带标号无向图的个数(不要求连通)。 阅读全文
posted @ 2019-02-18 11:54 ErkkiErkko 阅读(217) 评论(0) 推荐(0) 编辑

统计

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