二项式反演简单总结

摘要:简介 很早以前就想学了,正好今天上午考试T3考到了就赶紧滚来学习一下,增长一下自己本来就几乎没有的姿势水平。 说白了就是一个式子: $$f(n)=\sum_{i=0}^{n}C_n^i g(i)$$ 等价于: $$g(n)=\sum_{i=0}^{n}( 1)^{n i}C_n^i f(i)$$ 之 阅读全文
posted @ 2018-12-29 17:25 ErkkiErkko 阅读(107) 评论(0) 推荐(0) 编辑

[思路题][LOJ2290][THUWC2017]随机二分图:状压DP+期望DP

摘要:分析 考虑状压DP,令$f[sta]$表示已匹配状态是$sta$($0$代表已匹配)时完美匹配的期望数量,显然$f[0]=1$。 一条边出现了不代表它一定在完美匹配内,这也导致很难去直接利用题目中的边组来解决问题。 对于第二类边组,如果把两条边分开考虑(可以理解为把一个第二类的边组看成两个第一类的边 阅读全文
posted @ 2018-12-27 08:59 ErkkiErkko 阅读(93) 评论(0) 推荐(0) 编辑

[LOJ2289][THUWC2017]在美妙的数学王国中畅游:Link-Cut Tree+泰勒展开

摘要:分析 ~~又有毒瘤出题人把数学题出在树上了。~~ 根据泰勒展开,有: $$e^x=1+\frac{1}{1!}x+\frac{1}{2!}x^2+\frac{1}{3!}x^3+...$$ $$sin(x)=x \frac{1}{3!}x^3+\frac{1}{5!}x^5 ...$$ 然而题目里$ 阅读全文
posted @ 2018-12-27 08:28 ErkkiErkko 阅读(100) 评论(0) 推荐(0) 编辑

[LOJ2288][THUWC2017]大葱的神力:搜索+背包DP+费用流+随机化

摘要:分析 测试点1、2: 搜索+剪枝。 测试点3: 只有一个抽屉,直接01背包。 测试点4、5: 每个物品体积相同,说明每个抽屉能放下的物品个数固定,建图跑费用流。 测试点6: 每个物品体积相近,经过验证发现每个抽屉能放下的物品个数仍然固定,费用流。 测试点7: 除了第一个物品,其他物品体积相同。所以可 阅读全文
posted @ 2018-12-27 08:07 ErkkiErkko 阅读(178) 评论(0) 推荐(0) 编辑

[省选练习]S 密码保护

该文被密码保护。 阅读全文
posted @ 2018-12-26 16:49 ErkkiErkko 阅读(5) 评论(0) 推荐(0) 编辑

[省选练习]P 密码保护

该文被密码保护。 阅读全文
posted @ 2018-12-25 21:43 ErkkiErkko 阅读(14) 评论(0) 推荐(0) 编辑

动态淀粉质(划掉)题单&简要题解

摘要:简介 动态点分治的思想:还不太清楚诶怎么办。 大概是通过降低树高来降低每次修改和询问的复杂度吧,还可以把树上一个连通块的信息统计到一个点(重心)上。具体实现方式和普通的静态点分治没有太大的区别,只是把点分治时递归到的每层重心用边连起来(当然不是在原树中直接连),构成一个叫做点分树(VPT)的东西,它 阅读全文
posted @ 2018-12-24 22:08 ErkkiErkko 阅读(122) 评论(0) 推荐(0) 编辑

[CF1093G]Multidimensional Queries:线段树

摘要:分析 非常有趣的一道题。 式子中的绝对值很难处理,但是我们发现: $$\sum_{i=1}^{k}|a_{x,i} a_{y,i}|=\sum_{i=1}^{k}max(a_{x,i} a_{y,i},a_{y,i} a_{x,i})=max\{\sum_{i=1}^{k}c_ia_{x,i} \s 阅读全文
posted @ 2018-12-20 19:43 ErkkiErkko 阅读(151) 评论(2) 推荐(0) 编辑

[CF1093E]Intersection of Permutations:树套树+pbds

摘要:分析 裸的二维数点,博主用树状数组套平衡树写的,顺便pbds真好用。 Update on 2018/12/20: 再解释一下为什么是二维数点,第一维是$la \leq i \leq ra$,第二维是$lb \leq c_i \leq rb$,其中$c_i$表示$a$中第$i$个数在$b$中出现的位置 阅读全文
posted @ 2018-12-20 11:45 ErkkiErkko 阅读(126) 评论(0) 推荐(0) 编辑

[BZOJ3199][SDOI2013]escape:半平面交

摘要:分析 好像叫V图什么的。 容易发现,对于每个点,其监视的范围就是这个点与其它所有点的垂直平分线分割平面后的半平面交。由于数据范围很小,所以我们可以直接枚举每个点,使用双端队列求出其监视的范围。若两个点的监视范围有公共边,那么就在这两个点之间连一条边,边权为$1$。然后从起点bfs一遍即可。 这里重点 阅读全文
posted @ 2018-12-19 13:53 ErkkiErkko 阅读(89) 评论(0) 推荐(0) 编辑

计算几何模板

摘要:二维凸包 "洛谷P2742 【模板】二维凸包 / [USACO5.1]圈奶牛Fencing the Cows" 最小圆覆盖 "[BZOJ2823][AHOI2012]信号塔" 半平面交 "[BZOJ3199][Sdoi2013]escape" "题解" 旋转卡壳 "[POJ2187]Beauty C 阅读全文
posted @ 2018-12-18 11:09 ErkkiErkko 阅读(53) 评论(0) 推荐(0) 编辑

[洛谷P5106]dkw的lcm:欧拉函数+容斥原理+扩展欧拉定理

摘要:分析 考虑使用欧拉函数的计算公式化简原式,因为有: $$lcm(i_1,i_2,...,i_k)=p_1^{q_{1\ max}} \times p_2^{q_{2\ max}} \times ... \times p_m^{q_{m\ max}}$$ 其实就是分解质因数,丢到那个式子里: $$\v 阅读全文
posted @ 2018-12-18 08:55 ErkkiErkko 阅读(118) 评论(1) 推荐(0) 编辑

[POJ1637]Sightseeing tour:混合图欧拉回路

摘要:分析 混合图欧拉回路问题。 一个有向图有欧拉回路当且仅当图连通并且对于每个点,入度$=$出度。 入度和出度相等可以联想到(我也不知道是怎么联想到的)网络流除了源汇点均满足入流$=$出流。于是可以考虑先将无向边随意定向后,通过网络流来调整无向边的方向以达到每个点的入度和出度相等的目的。 建图方法如下: 阅读全文
posted @ 2018-12-16 01:22 ErkkiErkko 阅读(56) 评论(0) 推荐(0) 编辑

重复旋律:后缀数组+后缀自动机

摘要:后缀数组(SA) hihoCoder 1407 : 后缀数组二·重复旋律2 题意 一段旋律中出现次数至少为两次的不重叠旋律最长是多少? 分析 还是二分答案后挖去$height[i]=mid){ minpos=std::min(minpos,sa[i]); maxpos=std::max(maxpos 阅读全文
posted @ 2018-12-14 00:36 ErkkiErkko 阅读(172) 评论(0) 推荐(0) 编辑

[BZOJ3236][AHOI2013]作业:树套树/莫队+分块

摘要:分析 第一问随便搞,直接说第二问。 令原数列为$seq$,$pre_i$为$seq_i$这个值上一个出现的位置,于是可以简化询问条件为: 1. $l \leq i \leq r$ 2. $a \leq seq_i \leq b$ 3. $pre_i include include include i 阅读全文
posted @ 2018-12-12 12:01 ErkkiErkko 阅读(106) 评论(0) 推荐(0) 编辑

莫队算法的一些奇技淫巧

摘要:immortalCO优化 各种莫队能求的东西 记住$l,r$表示的不一定必须是一段区间就可以了。 只要是询问的两个参数,并且所有询问的这两个参数意义分别相同即可(貌似) 1. $\sum_{i=1}^{r}C_{l}^{i}$ 2. 区间$ "1,l]$和$[1,r]$的信息([[BZOJ5016] 阅读全文
posted @ 2018-12-09 12:28 ErkkiErkko 阅读(124) 评论(0) 推荐(0) 编辑

Paste Bin 密码保护

该文被密码保护。 阅读全文
posted @ 2018-12-07 22:25 ErkkiErkko 阅读(31) 评论(0) 推荐(0) 编辑

C++ STL bitset总结

摘要:基础用法 "C++ Reference" "神犇博客" 余下的就是例题了 "[BZOJ3687]简单题" 考虑$DP$,设$f[i][j]$表示前$i$个元素的算数和为$j$的子集个数,有: $$f[i][j]=f[i 1][j]+f[i 1][j a[i]]$$ 时间复杂度为$O(n\sum a_ 阅读全文
posted @ 2018-12-06 15:56 ErkkiErkko 阅读(117) 评论(0) 推荐(0) 编辑

[BZOJ1478&1488&1815][SGU282]Isomorphism:Polya定理

摘要:分析 三倍经验题,本文以 "[BZOJ1478][SGU282]Isomorphism" 为例展开叙述,主体思路与另外两题大(wan)致(quan)相(yi)同(zhi)。 这可能是博主目前写过最长也是最认真的题解了。 题目中规定“若两个已染色的图,其中一个图可以通过结点重新编号而与另一个图完全相同 阅读全文
posted @ 2018-12-05 11:56 ErkkiErkko 阅读(161) 评论(0) 推荐(0) 编辑

[BZOJ1547]周末晚会:Burnside引理+DP

摘要:分析 Attention!这道题的模数是$1e8+7$。 注意到 循环同构会被认为是同一种方案 ,我们可以把顺时针旋转每个人的位置作为置换,容易发现这些置换一定会形成一个置换群,于是题目所求的 所有合法的方案数 便是这个置换群下等价类的数目,可以使用Burnside引理解决。 考虑如何求在置换“顺时 阅读全文
posted @ 2018-12-04 22:19 ErkkiErkko 阅读(267) 评论(0) 推荐(1) 编辑

[BZOJ3140][HNOI2013]消毒:二分图匹配

摘要:分析 假如实验皿是二维的,那么这道题便是一个二分图最小点覆盖问题,可以转化为二分图最大匹配问题,使用匈牙利算法解决。 考虑如何扩展到三维,首先我们发现一次操作的代价为$min(x,y,z)$。不难想到($?$),每次操作的$x,y,z$中有一项为$1$,另外两项为相应的最大值,即每次操作这个长方体的 阅读全文
posted @ 2018-12-04 21:52 ErkkiErkko 阅读(63) 评论(0) 推荐(0) 编辑

[BZOJ1934][SHOI2007]Vote 善意的投票:最小割

摘要:分析 先讲一下连边方法: $S$向意愿同意的人,意愿反对的人向$T$,朋友之间互相连(其实好像意愿不同的朋友之间互相连就可以了,嘛,不管了),容量均为$1$。 最小割即为答案。 可以理解为,一个人要么背叛自己的意愿,要么背叛自己的友情,背叛可以理解为割掉对应的边。(QwQ) 在做这种“每个对象有两种 阅读全文
posted @ 2018-12-03 22:19 ErkkiErkko 阅读(52) 评论(0) 推荐(0) 编辑

[CF1082G]Petya and Graph:最小割

摘要:分析 发这篇博客的目的就是要让你们知道博主到底有多菜。 类似于 [NOI2006]最大获利 。(明明就是一模一样好吧!) 不知道怎么了,半秒就想到用网络流,却没想出怎么建图。 连这么简单的题都没做出来,我实在是太菜了。 反思反思! 简述一下建图方式: 把原图中的边看作点。 1. S向每条边对应的的点 阅读全文
posted @ 2018-11-29 15:59 ErkkiErkko 阅读(158) 评论(0) 推荐(0) 编辑

拆系数$FFT$($4$遍$DFT$)

摘要:```cpp include include include include include include include define rin(i,a,b) for(int i=(a);i=(b);i ) define trav(i,a) for(int i=head[(a)];i;i=e[i] 阅读全文
posted @ 2018-11-29 14:50 ErkkiErkko 阅读(83) 评论(0) 推荐(0) 编辑

多项式总结(unfinished)

摘要:试试以二级标题为主的格式。 多项式相关 注:本篇博客 不 包含$FFT$基础姿势。如果您想要阅读本篇博客,请确保自己对$FFT,NTT$有基本的认识并且能够独立写出代码。 多项式是什么? 左转数学七年级上册课本。 多项式的两种表示法 系数表示法和点值表示法,过于基础不多解释。 多项式的四则运算及扩展 阅读全文
posted @ 2018-11-28 22:07 ErkkiErkko 阅读(174) 评论(0) 推荐(0) 编辑

[BZOJ2225][SPOJ2371]LIS2 - Another Longest Increasing Subsequence Problem:CDQ分治+树状数组+DP

摘要:分析 这回试了一下三级标题,不知道效果怎么样? 回到正题,二维最长上升子序列......嗯,~~我会树套树~~。 考虑$CDQ$分治,算法流程: 1. 先递归进入左子区间。 2. 将左,右子区间按$x$排序。 3. 归并处理左右子区间,在过程中使用树状数组加速$DP$。 4. 还原右区间,清空树状数 阅读全文
posted @ 2018-11-27 00:40 ErkkiErkko 阅读(74) 评论(0) 推荐(0) 编辑

$FFT/NTT/FWT$题单&简要题解

摘要:打算写一个多项式总结。 虽然自己菜得太真实了。 好像四级标题太小了,下次写博客的时候再考虑一下。 模板 $FFT$模板 cpp include include include include include include include define rin(i,a,b) for(int i=(a 阅读全文
posted @ 2018-11-26 21:47 ErkkiErkko 阅读(224) 评论(0) 推荐(0) 编辑

侧边栏:内有友链,分类等等

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

普通型生成函数总结

摘要:普通型生成函数 什么是生成函数? 生成函数即母函数,是组合数学中尤其是计数方面的一个重要理论和工具。最早提出母函数的人是法国数学家$Laplace$($P.S.$在其1812年出版的《概率的分析理论》中明确提出)。 生成函数有普通型生成函数和指数型生成函数两种,其中普通型用的比较多。 生成函数的应用 阅读全文
posted @ 2018-11-23 22:27 ErkkiErkko 阅读(388) 评论(1) 推荐(0) 编辑

[BZOJ4817][SDOI2017]树点涂色:Link-Cut Tree+线段树

摘要:分析 与 "[BZOJ3779]重组病毒" 唯一的区别是多了一个链上求实链段数的操作。 因为每条实链的颜色必然不相同且一条实链上不会有两个深度相同的点(好像算法的正确性和第二个条件没什么关系,算了算了),画图分析可得,如果用$dis[x]$表示从$x$到根结点路径上的实链段数,则$x$到$y$路径上 阅读全文
posted @ 2018-11-23 11:41 ErkkiErkko 阅读(77) 评论(0) 推荐(0) 编辑

[BZOJ1964]hull 三维凸包:计算几何

摘要:分析 发现自己并不会计算几何。 所以先引用一下这位dalao的 "博客" 。 代码 阅读全文
posted @ 2018-11-23 09:31 ErkkiErkko 阅读(172) 评论(0) 推荐(0) 编辑

[BZOJ3527][ZJOI2014]力:FFT

摘要:分析 整理得下式: $$E_i=\sum_{ji}{\frac{q_i}{(i j)^2}}$$ 假设$n=5$,考虑这两个数组: $a:q_1 \quad q_2 \quad q_3 \quad q_4 \quad q_5$ $b: \frac{1}{16} \quad \frac{1}{9} \ 阅读全文
posted @ 2018-11-23 09:24 ErkkiErkko 阅读(60) 评论(0) 推荐(0) 编辑

长链剖分优化树形DP总结

摘要:长链剖分 规定若$x$为叶结点,则$len[x]=1$。 否则定义$preferredchild[x]$(以下简称$pc[x]$,称$pc[x]$为$x$的长儿子)为$x$的所有子结点$ver$中,$len[ver]$最大的一个。$len[x]=len[pc[x]]+1$。 这里的$pc[x]$相当 阅读全文
posted @ 2018-11-22 21:40 ErkkiErkko 阅读(393) 评论(0) 推荐(0) 编辑

Dsu on Tree总结

摘要:Dsu on Tree(树上启发式合并) 关于Dsu? 并查集(亦称Ufs)。 然而本算法和并查集并没有半毛钱关系。 有什么用? 可以在$O(nlogn)$的时间复杂度内解决大部分不带修改的子树信息查询问题。 算法过程? 一个dfs,可能还需要写一个辅助函数Add。 简述一下算法过程: 假设现在df 阅读全文
posted @ 2018-11-22 20:13 ErkkiErkko 阅读(76) 评论(0) 推荐(0) 编辑

[BZOJ3779]重组病毒:Link-Cut Tree+线段树

摘要:分析 其实其他的题解说的都很清楚了。 一个点出发感染到根结点所花费的时间是路径上虚边的条数+1。 RELEASE相当于$access()$。 RECENTER相当于$makeroot()$。(虽然换根和打通路径的先后顺序不同但仔细想想本质其实是一样的) 所以我们可以通过维护一棵LCT来快速知道哪些结 阅读全文
posted @ 2018-11-22 09:40 ErkkiErkko 阅读(98) 评论(0) 推荐(0) 编辑

动态DP总结

摘要:动态DP 何为动态DP? 将画风正常的DP加上修改操作。 举个例子? 给你一个长度为$n$的数列,从中选出一些数,要求选出的数互不相邻,最大化选出的数的和。 考虑DP,状态设计为$f[i][1/0]$表示考虑了前$i$个数,第$i$个数选/不选的最大和。 状态转移方程显然为: $$f[i][0]=m 阅读全文
posted @ 2018-11-22 00:20 ErkkiErkko 阅读(104) 评论(0) 推荐(0) 编辑

脑残错误记录

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

统计