随笔分类 - OJ---bzoj
摘要:【BZOJ3508】开灯 题面 "bzoj" 题解 其实变为目标操作和从目标操作变回来没有区别,我们考虑从目标操作变回来。 区间整体翻转($\text{Xor}\;1$)有点难受,我们考虑将这个操作放在差分数组上,也就是说令$a$为原数组,$c$为差分数组,$c_i=a_{i 1}\text{Xor
阅读全文
摘要:【BZOJ4722】由乃 题面 "bzoj" 题解 考虑到区间长度为$14$时子集个数$2^{14} 14\times 1000$,由抽屉原理,区间长度最多为$13$(长度大于这个值就一定有解)。 那么对于一个区间我们可以暴力背包$dp$出来,然后$bitset$优化下就是$\frac {13\ti
阅读全文
摘要:【BZOJ3837】[PA2013]Filary 题面 "darkbzoj" 题解 考虑到模数为$2$时答案至少为$\frac n2$,这是我们答案的下界。 那么我们对于任意的一个数,它们答案集合中的就概率至少为$\frac 12$。 那么我们随机选出一个数,将这个数与其他数作差,那么将这些数分解质
阅读全文
摘要:【BZOJ3569】DZY Loves Chinese II 题面 "bzoj" 题目大意: 给你一张$N(1\leq N\leq 10^5)$个点$M(1\leq M\leq 5\times 10^5)$条边的无向图,有$Q(1\leq Q\leq 5\times 10^4)$次询问,每次询问问你
阅读全文
摘要:【BZOJ3711】Druzyny 题面 "bzoj" 题解 首先我们有一个$O(n^2)$的$dp$: 设$f_i$表示现在已经分好了$1...i$的组,且$i$作为一组的结尾的最大值,那么转移的话就是对于每个 $\max\limits_{k=j}^i c_k\leq i j+1\leq \min
阅读全文
摘要:【BZOJ2095】[Poi2010]Bridges 题面 "darkbzoj" 题解 首先可以想到二分答案,那么我们就是要求我们新图中给所有边定向是否存在欧拉回路。 而有向图存在欧拉回路的充要条件为所有顶点的入度等于出度且该图是连通图,我们考虑在这一点上做文章。 令一个点的入度减出度表示一个点的度
阅读全文
摘要:【BZOJ1011】[HNOI2008]遥远的行星 题面 "bzoj" "洛谷" 题解 乱搞题。。。 主要是要利用“只要结果的相对误差不超过5%即可”这个条件。 对于第$i$个行星,我们记$x=\lfloor a i\rfloor$,对他有贡献的区间为$[1,x]$。 我们统计时,将区间$[1,x]
阅读全文
摘要:【BZOJ1009】[HNOI2008]GT考试 题面 "bzoj" "洛谷" 题解 设$f_{i,j}$表示长串匹配到$i$,短串匹配到$j$的方案数。 那么我们如何转移呢? 很显然,我们每次匹配时添加字母,可能会失配或者重新匹配到原串的一个地方。 我们预处理出一个矩阵$g_{i,j}$表示短串第
阅读全文
摘要:【BZOJ1008】[HNOI2008]越狱 题面 "bzoj" 题解 首先,所有选的方案数为$M^N$。 再减去没人越狱的方案数$M\times (M 1)^{N 1}$。 所以有 $$Ans=M^N M\times (M 1)^{N 1}$$
阅读全文
摘要:【BZOJ1007】[HNOI2008]水平可见直线 题面 "bzoj" "洛谷" 题解 这题是用来搞笑的吧。。。 一眼看来就是半平面交啊,结果发现是个弱化版半平面交。 就按照半平面交的方法就行了。 代码 cpp include include include include include inc
阅读全文
摘要:【BZOJ1005】[HNOI2008]明明的烦恼 题面 "bzoj" "洛谷" 题解 前置芝士: $prufer$序列 "戳这里" 关于此题 设有度数限制的点的个数是$cnt$,度数为$d[i]$,令$sum=\sum_{i=1}^{cnt}(d[i] 1)$ 不同排列的个数为 $$ C_{n 2
阅读全文
摘要:【BZOJ1003】[ZJOI2006]物流运输 题面 "洛谷" "bzoj" 题解 设$f_i$表示前$i$天花费的最小值。 我们设第$l,r$天$1$到$m$的距离为$dis_{l,r}$,这个可以$n^2$遍最短路求出。 那么转移就很显然了: $$ f_i=\min_{j=0}^{i 1} f
阅读全文
摘要:【BZOJ1002】轮状病毒 题面 "bzoj" 题解 统计个数显然直接矩阵树定理,找规律 "截这里" 打标如下:
阅读全文
摘要:【BZOJ1001】狼抓兔子 题面 "bzoj" 题解 懒得平面图转对偶图了,直接最小割板子加优化。 cpp include include include include include include include include using namespace std; inline int
阅读全文
摘要:【BZOJ3142】[HNOI2013]数列 题面 "洛谷" "bzoj" 题解 设第$i$天的股价为$a_i$,记差分数组$c_i=a_{i+1} a_i$ 则 $$ Ans=\sum_{c_1=1}^M\sum_{c_2=1}^M\sum_{c_3=1}^M...\sum_{c_{k 1}=1}
阅读全文
摘要:【BZOJ2395】[Balkan 2011]Timeismoney 题面 "$darkbzoj$" 题解 如果我们只有一个条件要满足的话直接最小生成树就可以了,但是现在我们有两维啊。。。 我们将每个方法的 费用和时间 看作一个二维坐标$(x,y)$ 则我们要求$x\centerdot y=k$最小
阅读全文
摘要:【BZOJ4560】[NOI2016]优秀的拆分 题面 "bzoj" "洛谷" 题解 考虑一个形如$AABB$的串是由两个形如$AA$的串拼起来的 那么我们设 $f[i]$:以位置$i$为结尾的形如$AA$串的个数 $g[i]$:以位置$i$为开头的形如$AA$串的个数 $$ \therefore
阅读全文
摘要:【BZOJ3551】[ONTAK2010]Peaks加强版 题面 给你一个图,每次询问给定一个位置、长度和$k$,问从这个点出发,只能经过不大于这个长度的边,到达的点中点权第$k$大的点权 图的规模:$10^5$ 题解 考虑离线怎么做: 将所有询问存下来,按照边权排序 每次加边线段树合并查$kth$
阅读全文
摘要:【BZOJ2589】[SPOJ10707]Count on a tree II 题面 "bzoj" 题解 这题如果不强制在线就是一个很$sb$的莫队了,但是它强制在线啊$qaq$ 所以我们就用到了另一个东西:树分块 具体是怎么分块的呢:根据深度,从最深的叶子节点往上分,同一子树内的节点在一个块 比如
阅读全文
摘要:【BZOJ2754】[SCOI2012]喵星球上的点名 题面 "bzoj" "洛谷" 题解 这题有各种神仙做法啊,什么暴力$AC$自动机、$SAM$等等五花八门 我这个蒟蒻在这里提供一种复杂度正确且常数小的做法。 根据后缀数组经典套路, 我们用一个未出现过的字符将所有串连接起来求一边$SA$(不算询
阅读全文