关闭
当前搜索:

[置顶] BZOJ刷题记录(施工到AFO)

QAQ,我要努力200题! 题号 日期 题解 备注 BZOJ2959 2018.1.17 QwQ BZOJ4589 2018.1.15 QwQ FWT BZOJ2957 2018.1.12 QwQ BZOJ4916 2018.1.9 QwQ BZOJ3771 2018.1.9...
阅读(180) 评论(1)

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

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

【FWT】BZOJ4589[Hard Nim]题解

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

【树形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...
阅读(30) 评论(0)

FWT

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

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

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

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

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

【中国剩余定理-非互质】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...
阅读(33) 评论(0)

【杜教筛】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...
阅读(46) 评论(0)

【普通型母函数+容斥+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}...
阅读(40) 评论(0)

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

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

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

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

【可并堆】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...
阅读(34) 评论(0)

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

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

【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和...
阅读(52) 评论(0)

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

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

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

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

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

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

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

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

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

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

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

题目概述给出 {qn}\{q_n\} ,求: Ei=∑j=0i−1qj(i−j)2−∑j=i+1nqj(i−j)2 E_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−j c_i=\sum_{j=0}^ia_jb_{i-j} 然...
阅读(154) 评论(0)
326条 共17页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:75604次
    • 积分:4252
    • 等级:
    • 排名:第8300名
    • 原创:324篇
    • 转载:2篇
    • 译文:0篇
    • 评论:180条
    公告
    ZZK,高一OIer,目前的目标是BZOJ200题(期中考已炸)。
    我的QQ:744388629。
    我的日记
    文章分类
    博客专栏