自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZigZagK的博客

Never give up fighting!

  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

原创 【线性基】HDU3949[XOR]题解

题目概述给出 n" role="presentation">nnn 个数,求选出的非空集合中异或和第 k" role="presentation">kkk 小的异或和(异或和相同算一次),没有 k" role="presentation">kkk 个输出 −1" role="presentation">−1−1-1 。解题报告如果构造线性基时将矩阵消成对角矩阵,得到的线性

2018-01-25 20:28:27 974 2

原创 线性基

一些线性代数前置知识口胡我是蒟蒻,可能(一定)不严谨,dalao们可以去啃书QAQ。线性空间:在一个域(比如实数域,复数域)内有加法和数乘,加法和数乘都封闭。线性相关&无关:若 n" role="presentation" style="position: relative;">nnn 个向量能组成 0" role="presentation" style="position: rel

2018-01-25 20:23:56 428

原创 【FWT】51Nod1773[A国的贸易]题解

题目概述有 2n" role="presentation" style="position: relative;">2n2n2^n 个点,每次 i" role="presentation" style="position: relative;">iii 点会使 count(i xor j)=1" role="presentation" style="position: re

2018-01-24 10:38:15 495

原创 【LCT+并查集】BZOJ2959[长跑]题解

题目概述CHNJZ可以在 nn 个地方虐场,每次虐场可以踩若干个人。一个地方的人被踩后就不能再踩了(心态已爆炸)。有 mm 个事件:1.地点 xx 到地点 yy 新建了一条边。2.地点 xx 能踩的人变成了 yy 。3.询问从 xx 到 yy 最多能踩多少人。解题报告显然是动态树问题,可以用LCT解决。由于图中会出现边双,不能重复计算,所以需要将边双缩点。考虑合并 xx 到

2018-01-17 16:24:28 495

原创 【FWT】BZOJ4589[Hard Nim]题解

题目概述有 nn 堆石子,石子数都是不超过 mm 的素数。进行Nim游戏,求先手必败的方案数。解题报告就是求异或和为 00 的方案数。先构造向量 Pi=[i是素数]P_i=[i是素数] ,然后可以看作 nn 个 PP 求异或卷积。所以先DWT,然后用快速幂求出卷积,最后IDWT就行了。示例程序#include#includeusing namespace std

2018-01-15 14:09:38 546

原创 【树形DP+FWT】HDU5909[Tree Cutting]题解

题目概述定义一棵树 {vn}\{v_n\} 的权值为 v1 xor v2 xor v3 xor⋯vnv_1\ xor\ v_2\ xor\ v_3\ xor\cdots v_n 。给出一棵树,统计权值 [0,m)[0,m) 在这棵树子图(子图显然也是树)中的出现情况。解题报告定义 f[i][j]f[i][j] 表示以 ii 为根异或权值为 jj 的方案数,对于 ii 的儿子 son

2018-01-15 13:25:27 617

原创 FWT

另一种卷积多项式乘法的卷积是这样的: Ci=∑j+k=iAjBkC_i=\sum_{j+k=i}A_jB_k 然而还有种神奇的卷积( ⊕\oplus 是位运算): Ci=∑j⊕k=iAjBkC_i=\sum_{j\oplus k=i}A_jB_k FWT可以快速求这种卷积。快速沃尔什变换因为FFT用了系数 →\to 点值,用点值快速求卷积,再点值 →\to 系数的方

2018-01-15 11:14:01 2108 1

原创 【欧拉回路】UOJ117[欧拉回路]题解

题目概述判断无向图和有向图是不是欧拉回路。如果是,求出任意一条欧拉回路。解题报告判断欧拉回路:无向图:每个点的度数都是偶数。有向图:每个点的出度都等于入度。证明?我不会啊!怎么求欧拉回路呢?因为已经确定了是欧拉回路,所以我们可以直接DFS瞎搞。随便从一个点开始DFS,一条边走过后就删除。回溯时将其入队。最后的队列反过来就是答案。原理:最后的队列是返回路径,所以反过

2018-01-14 19:11:17 694

原创 【线段树】BZOJ2957[楼房重建]题解

题目概述ZigZagK在 (0,0)(0,0) ,有 nn 座建筑(刚开始高度为 00 )和 mm 次改造:把第 ii 个建筑高度改为 yy ,求每次改造后ZigZagK能看见的建筑数量。解题报告吃我分块。这好像是套路题?显然就是要求斜率变大的次数。用线段树维护建筑高度,然后定义一个函数 Find(p,k)Find(p,k) 表示在 pp 节点前放一个斜率 kk 得到的斜率变大

2018-01-12 10:34:46 341

原创 【中国剩余定理-非互质】POJ2891[Strange Way to Express Integers]题解

题目概述求解模方程组,模数不一定互质。解题报告互质解法戳这里。当然,处理非互质的方法用来处理互质也是可以的。我们观察两个模方程:x≡a1(mod m1)x≡a2(mod m2)x\equiv a_1(mod\ m_1)\\x\equiv a_2(mod\ m_2) 。转化:x=a1+x1m1=a2+x2m2⇔x2m2≡a1−a2(mod m1)x=a_1+x_1m_1=a_2+x_2m_2\Left

2018-01-10 15:11:02 299

原创 【杜教筛】BZOJ4916[神犇(JZ)和蒟蒻(ZZK)]题解

题目概述给出 nn ,求 A=∑ni=1μ(i2),B=∑ni=1φ(i2)A=\sum_{i=1}^n{\mu (i^2)},B=\sum_{i=1}^n{\varphi (i^2)} 。解题报告第一问…… i2i^2 ?喜闻乐见输出 11 。第二问,由于 φ(i2)=iφ(i)\varphi(i^2)=i\varphi(i) ,所以要求 ∑ni=1iφ(i)\sum_{i=1}^{n}i\var

2018-01-09 22:28:21 636

原创 【普通型母函数+容斥+FFT】BZOJ3771[Triple]题解

题目概述ZigZagK有 nn 把价值不一样的斧子,CHNJZ偷走了 11 把或 22 把或 33 把,对于每个可能的总损失,计算有几种可能的方案。解题报告emm……显然是母函数啊?但是有数量限制。由于最多偷走三把,所以我们可以直接三种情况都讨论过去。11 把:母函数:A(x)=xa1+xa2+xa3+⋯+xanA(x)=x^{a_1}+x^{a_2}+x^{a_3}+\cdots+x^{a_n}

2018-01-09 18:48:38 437

原创 【指数型母函数】HDU1521[排列组合]题解

题目概述有 nn 个物品,第 ii 个物品有 numinum_i 个,求选出 mm 个物品组成排列的方案数。解题报告如果不是组成排列,就是经典的普通型母函数。我们发现无法用普通型母函数表示出“组成排列”这个条件,实际上这是经典的指数型母函数(摘自这里)。 口袋中有白球 22 个,红球 33 个,黄球 11 个,任取 33 个作为一个排列,总共有多少种排列? 类似地用指数型母函数解决:用

2018-01-09 08:55:24 349

原创 【普通型母函数】HDU1085[Holding Bin-Laden Captive!]题解

题目概述有 num1num_1 个 11 元硬币,num2num_2 个 22 元硬币,num3num_3 个 55 元硬币,求不能组成的最小价值。解题报告显然是二进制拆分做01背包,然而数据范围比较大,所以效率不是很好。其实这道题可以用母函数轻松解决:(摘自维基和这里) 在数学中,某个序列的母函数是一种形式幂级数,其每一项的系数可以提供关于这个序列的信息。

2018-01-09 07:39:29 286

原创 【可并堆】BZOJ1367(Baltic2004)[sequence]题解

题目概述给出 {an}\{a_n\} ,选择一个上升序列 {bn}\{b_n\} 使得 ∑ni=1|ai−bi|\sum_{i=1}^{n}|a_i-b_i| 最小,求最小值。解题报告对于这道题,我们可以将 {an}\{a_n\} 改成 {an−n}\{a_n-n\} ,然后就转化为求不下降序列 {bn}\{b_n\} 。如果 {an}\{a_n\} 递减,那么 {bn}\{b

2018-01-08 11:46:02 365

原创 【后缀自动机+LCT】BZOJ2555[SubString]题解

题目概述给出初始字符串 initinit 和 mm 个操作,操作有两种:1.在当前字符串后插入一个字符串。2.询问一个字符串在当前字符串中的出现次数。强制在线。解题报告(之前做了后缀自动机和LCT就tm为了这道题)强制在线插入询问,后缀数组,KMP全都不行。数据范围又贼大,我们想到后缀自动机。后缀自动机求字符串 ss 出现次数:先识别 ss ,若无法识别,答案为 00 ,否则答

2018-01-08 08:24:25 464

原创 【LCT维护子树信息】BZOJ4530(Bjoi2014)[大融合]题解

题目概述有 nn 个点, mm 个操作。操作有两种:1.连接 xx 和 yy 。2.询问经过 (x,y)(x,y) 的路径数。解题报告答案显然就是 si(x)×si(y)si(x)\times si(y) ,但是有连接操作,可以考虑LCT(好像有很多离线做法,我不是很清楚QAQ)。问题就是如何维护子树信息。LCT实链上的信息可以方便维护,所以我们关注虚边:虚边只在Access和

2018-01-06 19:57:09 471

原创 【后缀自动机】POJ1509[Glass Beads]题解

题目概述给出小写环形字符串,问在哪个位置断开形成的字符串字典序最小(相同取靠前)?解题报告学了后缀自动机像一场梦一样……现在tm一点都不记得了QAQ。回顾:Right集合,father(parent)树,根据这两个东西脑补出拓展函数,千万别把自动机和father(parent)树搞混。这道题就是陈老师ppt上的那道题,先建好后缀自动机,然后每次跑编号最小边,就得到答案了。

2018-01-05 19:45:22 398

原创 【LCT+线段树】BZOJ4817(Sdoi2017)[树点涂色]题解

题目概述有一棵 nn 个点的有根树,其中 11 号点是根节点。每个点有颜色且刚开始颜色不同。定义一条路径的权值是:这条路径上的点(包括起点和终点)共有多少种不同的颜色。可能会进行 mm 次这几种操作:1 x:把点x到根节点的路径上所有的点染上一种没有用过的新颜色。2 x y:求x到y的路径的权值。3 x y:在以x为根的子树中选择一个点,使得这个点到根节点的路径权值最大,求最大权值

2018-01-05 13:04:34 413

原创 【LCT】BZOJ2843[极地旅行社]题解

题目概述有 nn 个点,第 ii 个点有 aia_i 个帝王JZ,给出 mm 个操作,操作有三种:1.连接 xx 和 yy 。2.令 ax=ya_x=y 。3.询问 xx 到 yy 路径上帝王JZ的总和。解题报告emm……LCT裸题……我在练板子……#include<cstdio>#include<cctype>#include<algorithm>using namespace std;c

2018-01-04 13:03:35 315

原创 【LCT】BZOJ2049(Sdoi2008)[Cave 洞穴勘测]题解

题目概述有 nn 个点, mm 个操作,操作有三种:1.连接 xx 和 yy 。2.断开 xx 和 yy 。3.询问 xx 和 yy 是否连通。解题报告LCT裸题喽,以前板子太长了,我来放个新板子QAQ。#include<cstdio>#include<cctype>#include<algorithm>using namespace std;const int maxn=10000;int

2018-01-04 09:57:55 333

原创 【分块+回文自动机】LibreOJ6070(2017 山东一轮集训 Day4)[基因]题解

题目概述给出一个由小写字母构成的字符串,有 mm 个询问 [l,r][l,r] ,表示求 s[l..r]s[l..r] 中本质不同回文字串的个数,强制在线。解题报告因为强制在线询问区间,所以我们想到分块。以每个块的左端点开始构造后缀的回文自动机,就可以得到 ans[i][j]ans[i][j] 表示从第 ii 个块左端点开始到 jj 中不同回文子串的个数。然后对于每个询问,我们都只需要查询至多一个块

2018-01-03 19:07:12 713

原创 【FFT】BZOJ3527(Zjoi2014)[力]题解

题目概述给出 {qn}\{q_n\} ,求: Ei=∑j=0i−1qj(i−j)2−∑j=i+1nqj(i−j)2E_i=\sum_{j=0}^{i-1}{q_j\over (i-j)^2}-\sum_{j=i+1}^{n}{q_j\over(i-j)^2}解题报告FFT其实是在求向量卷积,形式是这样的: ci=∑j=0iajbi−jc_i=\sum_{j=0}^ia_jb_{i-j}然

2018-01-03 09:39:12 530

原创 FFT

前置知识两种多项式表示法:系数表示法:A(x)=∑n−1i=0aixiA(x)=\sum_{i=0}^{n-1}a_ix^i ,其中 {an−1}\{a_{n-1}\} 就是系数。点值表示法:代入 nn 个不同的 xx 得到对应的 A(x)A(x) 记为 (x,y)(x,y) ,这 nn 个点 (x0,y0),(x1,y1)⋯(xn−1,yn−1)(x_0,y_0),(x_1,y_1)\cdots(

2018-01-02 18:49:46 696 1

原创 回文自动机

作用好像是2015年时战斗民族某巨佬发明的,可以快速求一个串里有多少本质不同的回文子串以及每个回文子串出现的次数。实现回文自动机由两棵树构成,一棵是 eveneven 树,另一棵是 oddodd 树。每个节点对应了一个回文子串,有如下信息:lenlen :该回文子串的长度。failfail :该回文子串最长回文后缀对应的节点。son[k]son[k] :在该回文字串两端添加 kk 字符之后到达

2018-01-02 08:28:02 525

2012年noi冬令营陈立杰讲稿

丽洁姐的后缀自动机讲解!

2017-07-02

空空如也

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

TA关注的人

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