自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 CF 472 G Design Tutorial: Increase the Constraints - bitset - 分块

题目大意:给定两个01字符串A和B,多次A和B的两个子串有多少位置不一样。 考虑分块,设ans(a, b)表示A的第a块和B从b开始的答案,用bitset优化即可。 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<bit...

2018-07-30 21:42:47 216

原创 bzoj 2839 集合计数 - 二项式反演

傻逼题 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #define lint long long #define mod 1000000007 #define N 1000010 #define debug(x) cerr<<#x...

2018-07-30 21:38:00 319

原创 [学习笔记] KthMax-Min - Min-Max容斥

有n个数字,每单位时间会出现一个数字,第i个数字有pimpim\frac{p_i}{m}的概率出现,并且∑ni=1pi=m∑i=1npi=m\sum_{i=1}^n p_i=m,求出现了k个数字的时间的期望。 n≤1000,m≤10000,n−k≤10n≤1000,m≤10000,n−k≤10n\le1000, m\le 10000,n-k\le10 这个玄学数据范围可海星,可以做到O(nm(...

2018-07-30 14:31:13 1126

原创 [学习笔记] SPOJ DIVCNTK - Min_25筛

这些各种乱七八糟的筛法真难懂…… 首先Min_25筛的基本思想就是在不停的枚举最小质因子。 zzt的论文根本看不懂。 过程是这样的,既然F是个低阶多项式,那么先要求: gk(n)=∑ni=1[i is a prime]ikgk(n)=∑i=1n[i&

2018-07-29 21:58:24 798

原创 [JLOI 2016] bzoj 4559 成绩比较 - 计数 - 容斥 - 拉格朗日插值

计数至少有k名学生被碾压 发现此时除了那一堆组合数,答案是每一门课程满足其人排名是r的方案数的乘积。 考虑这个怎么算,设f_i(x)表示第i门课程其人分数是x且排名是r_i的方案数,显然是一个n-1次多项式。要对这个求前缀和,变成了一个n次多项式。发现该多项式不算组合数的部分与k无关可以预处理。 #include<iostream> #include<cstring>...

2018-07-29 16:41:57 194

原创 [学习笔记] bzoj 3328 PYXFIB - 单位根反演

首先求出一个原根g,那么单位根w取g(p−1)/k)g(p−1)/k)g^{(p-1)/k)} 性质是这样的:w^n的0次到k-1次相加取平均数为1,当且仅当k整除n。 构造多项式F(x)=(I+xM)nF(x)=(I+xM)nF(x)=(I+xM)^n,I是单位矩阵,M是Fib数列的转移矩阵,那么其k次项系数显然就是(nk)(nk)\binom n k 。这样做完了。 #include...

2018-07-29 11:42:46 571

原创 HDU4372 Count the Buildings - 计数

首先考虑n这个数字把序列划分成了两端。 把每个数字及其遮住的东西看作一个集合。 发现这就是个第一类斯特林数,然后在组合数分配一下即可。 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #define mod 1000000007 #defin...

2018-07-29 09:15:03 208

原创 51Nod 1773 A国的贸易 - FWT

FWT入门题 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #define N 1100000 #define mod 1000000007 #define i2 500000004ll #define lint long long #define...

2018-07-29 09:12:46 237

原创 [学习笔记] 常系数线性递推

结论是,若$\sum_{i=0}^{k}a_ih_{n-i}=0$,那么$h_n=\sum_{i=0}^{k-1} b_i h_i$,其中$b$为$x^n$对$A^T(x)$取模后的结果。 实在不想写多项式取模了…… 所以写了个k<=2000的版本。

2018-07-29 09:11:15 406

原创 一道多项式exp模板题

多项式什么的真难写QwQ 题目大意:已知: f(x)=∏ni=1(1+aix)g(x)=∏mi=1(1+bix)h(x)=∏ni=1∏mj=1(1+aibjx)f(x)=∏i=1n(1+aix)g(x)=∏i=1m(1+bix)h(x)=∏i=1n∏j=1m(1+aibjx)f(x)=\prod_{i=1}^n(1+a_ix)\\g(x)=\prod_{i=1}^m(1+b_ix)\\h(x)...

2018-07-28 20:57:16 489

原创 [学习笔记] 多项式求逆、带余除法、取模、求对数、求指数

一晚上写完求逆取模求ln求exp真酸爽 明天再顺手把求值插值写了人生就圆满了 求逆: #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #define gc getchar() #define lint long long #d

2018-07-23 21:42:38 634

原创 贝尔级数在构造杜教筛卷积中的应用

学了一发贝尔级数 (划掉)人赢(划掉)zzs好强啊,rqy好巨啊 群里神仙讨论…… 贝尔级数只针对积性函数,如无特殊说明下文函数均为积性函数。 定义f模p的贝尔级数为: fp(x)=∑0≤if(pi)xifp(x)=∑0≤if(pi)xif_p(x)=\sum_{0\le i}f(p^i)x^i 特别的,对于完全积性函数来说: fp(x)=11−f(p)xfp(x)=11−f(p)x...

2018-07-23 15:40:08 979

原创 bzoj 4502 串 - 广义后缀自动机 - AC自动机

又是愣把串总长复杂度的题写成了给Trie大小的题 (我又可以造题啦!开森 做法是这样的,考虑一个串会有很多种拼接办法,我们取第二个前缀最短的办法。 对应到AC自动机上就是,你先枚举第二个前缀,假设在AC自动机上的节点是x,那么你不能选择一个y,存在一个从y出发的(从x跳到fail[x]丢失的那个前缀)的转移。考虑补集转化,就是统计有多少节点存在这样的转移(根除外,因为第一个串非空),换言之,...

2018-07-21 22:44:14 455

原创 UOJ #207 共价大爷游长沙 - LCT

(为啥我傻了吧唧的拆了点) 集合中的每一对点随即一个权值,然后再树上两个点分别异或这个权值,最后每次询问统计其中一边的子树的异或和是不是所有点对的权值的异或和即可。 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<cli...

2018-07-21 09:32:02 208

原创 bzoj 4699 树上最短路 - 最短路 - 线段树 - 并查集

过了这么长时间都快忘了怎么做了…… 考虑修改一下dijkstra算法的过程,我们不是每次把一个点的dist放到堆里,而是把所有每条边的起点的dist+边权放到堆里,这样的好处是,在这种出边边权相同的情况下,可以保证每个点只会被更新一次。 这个题的性质是,一个下水道只会在第一次访问的时候用到,因此先预处理一个点被哪些下水道覆盖,然后每次更新一个点就把所有这样的区间拿出来,然后更新这些区间能够到达...

2018-07-21 09:28:58 900

原创 [NOI2018]归程 - 最小生成树 - 最短路 - kruskal重构树

做法是这样的,考虑kruskal的过程,每次合并两个联通块就新建一个点连向这个点并且边权是合并的时刻,这样时刻从下到上是递增的,每次询问的时候二分即可求出一个点在某个时刻所在的联通块的信息。 // luogu-judger-enable-o2 #include<iostream> #include<cstring> #include<cstdio> #in...

2018-07-21 09:11:52 324

原创 子串(非NOIP的子串) - NTT - 哈希

题目大意:给两个字符串S和T,和一个置换p,问有多少S的子串,经过置换之后可以和T匹配。1e5 题解:考虑哈希,原来第i为的权值从BAS^i变成了根置换有关的东西,因此把BAS^p[i]倒过来和S做一个卷积即可,细节自行处理。 代码: // luogu-judger-enable-o2 #include<iostream> #include<cstring> #i...

2018-07-21 09:08:48 192

原创 AtCoder 2000 Leftmost Ball - dp

考虑从后往前就是放第i个白球的时候至少要放j个k-1,那么每次放k-1的时候钦定有一个放在最前面即可,特判k=1即可。 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #define rep(i,a,b) for(int i=a;i<=b;i+...

2018-07-02 11:50:20 237

原创 AtCoder Regular Contest 100

C.傻逼题 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #define gc getchar() #define lint long long #define debug(x) cerr<<#x<<"="&

2018-07-02 11:43:10 283

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除