
BZOJ
文章平均质量分 65
AbEver
孤单是一个人的狂欢
展开
-
BZOJ 4766: 文艺计算姬(矩阵树定理+行列式化简+快速幂)
描述https://www.lydsy.com/JudgeOnline/problem.php?id=4766求完全二分图Kn,mK_{n,m}的生成树数量。(1 <= n,m,p <= 10^18)思路在博客停更之前,做最后一波连续疯狂的更新吧!直接矩阵树定理搞一波,打个表发现答案是nm−1mn−1n^{m-1}m^{n-1},这种题打表是捷径,但是如果打表还取模的话就什么也发现不了。我们考虑为什原创 2018-04-23 14:52:56 · 458 阅读 · 0 评论 -
BZOJ 1013: [JSOI2008]球形空间产生器sphere(高斯消元)
高斯消元入门 求解线性方程组原创 2018-03-30 21:25:37 · 390 阅读 · 1 评论 -
BZOJ 3028: 食物(生成函数+快速幂)
生成函数入门 普通的生成函数原创 2018-03-20 19:24:53 · 600 阅读 · 0 评论 -
bzoj 1042: [HAOI2008]硬币购物(DP+容斥)
I don't want to change your mind原创 2018-03-30 11:05:50 · 276 阅读 · 0 评论 -
bzoj 1055: [HAOI2008]玩具取名(区间DP)
你看我 多么渺小一个我 因为你有梦可做原创 2018-03-13 20:44:43 · 278 阅读 · 0 评论 -
BZOJ 2750: [HAOI2012]Road(最短路+拓扑排序+递推)
题目描述传送门题目大意:给你一个n个点、m条边的有向图,问你每条边被多少条不同的最短路经过,答案对10^9+7取模,其中n<=1500,m<=5000。题解由于n、m都不大,一个显然的做法是枚举一个起点S,然后跑SPFA。对于一条边,如果它不在最短路图上,就肯定不会被算上。而一条边i->j在图上的充要条件是Dis[i]+l<=Dis[j],构出来这个图你就会发现这是个DAG。然后DAG上所有边都是从原创 2018-03-23 14:06:37 · 949 阅读 · 1 评论 -
BZOJ 2045: 双亲数(莫比乌斯反演)
在漫天星光中与你相遇,还能以那时的心情相见该有多好。原创 2018-03-22 19:50:41 · 315 阅读 · 0 评论 -
bzoj 3881: [Coci2015]Divljak(AC自动机+fail树+dfs序+lca+bit)
题目描述权限门题目大意:给一个字符串集合S、一堆操作。操作1就是在在另一个集合T中加入一个串P,操作2就是问你S中第x个串是T中多少个串的子串。|S|,q<=1e5,S中串总长度L1和T中串的总长度L2分别<=2e6。题解考虑把S集合里的串那去建AC自动机,然后每次读入一个P,它的贡献就是从它在树上能匹配到的节点,沿着fail指针一直往上跳能走到的所有点。于是直接对S集合的串建出fail树,然后每个原创 2018-03-22 16:13:38 · 485 阅读 · 0 评论 -
BZOJ 3211: 花神游历各国(势能分析线段树)
才子词人,自是白衣卿相。原创 2018-03-02 22:07:35 · 903 阅读 · 0 评论 -
bzoj 1408: [Noi2002]Robot(数论+DP)
此意自佳君不会,一杯当属水仙王。原创 2018-03-05 13:34:31 · 362 阅读 · 0 评论 -
BZOJ 4518: [Sdoi2016]征途(斜率优化DP)
诗酒趁年华。原创 2018-03-16 20:28:23 · 318 阅读 · 0 评论 -
bzoj 2212: [Poi2011]Tree Rotations(线段树合并)
传送门http://www.lydsy.com/JudgeOnline/problem.php?id=2212题解首先,考虑一个节点的两棵子树,逆序对分为三种:①在左子树中的 ②跨越左右子树的 ③在右子树中的明显旋转左右子树只会改变第二种,于是我们从底往上做启发式合并,每个点开个treap,对于左右子树直接统计逆序对和旋转后逆序对个数,取少的那个。这样每次只处理跨子树的逆序对个数,类似分治,最后原创 2018-03-02 20:20:03 · 362 阅读 · 0 评论 -
bzoj 3209: 花神的数论题(数位DP+快速幂)
前生所有未能说过的话 在你心中无法撼动的他原创 2018-03-10 15:37:56 · 297 阅读 · 0 评论 -
BZOJ 3624: [Apio2008]免费道路(贪心+并查集)
人生又是什么呢 只是不明不白地活着原创 2018-03-10 10:35:42 · 365 阅读 · 0 评论 -
BZOJ 2563: 阿狸和桃子的游戏(巧妙的贪心)
传送门http://www.lydsy.com/JudgeOnline/problem.php?id=2563题解在没好好想过这道题之前千万不要看题解!这是一道神奇的贪心题,一开始我想着对点和边排序,然后考虑是拿点还是不让别人拿边,但由于一个点连着很多边,有点复杂,我也不知道这个方法对不对,然后我瞄了一眼XJJ的博客,一下子就懂了。。。...原创 2018-03-09 18:03:43 · 313 阅读 · 0 评论 -
bzoj 1237: [SCOI2008]配对(贪心+DP)
题目描述传送门题目大意:给两组数,求一种匹配方案,使得每一位的数差的绝对值之和最小,要求同样的数不能匹配,输出最小的和。每组数各不相同,无法匹配输出-1。(n<=10^5)题解这一看就是一道我想不出来的题。话说我的DP简直太菜了,智商简直连个小学生都不如。首先排序,如果没有限制对齐就行了,现在虽然有限制,但是其实交换距离最多不会超过2。如果超过2肯定可以换成2以内的交换使答案更优(自己举几个栗子)。原创 2018-03-15 22:30:01 · 305 阅读 · 0 评论 -
BZOJ 1419: Red is good(期望DP)
题目描述权限传送门题解比较水的期望DP,但也让我悟到了一点关于期望的东西。题目描述得不可描述,看起来逼格很高。但平均就是期望,关键是最优策略这点。根据我幼稚的理解,期望是均值没错,但期望之所以叫期望是因为它在预知未来,当前这个状态期望的得分就是作出决策后未来能得到分数的均值。所以或许这就是期望DP的状态要倒过来推的原因吧。考虑f[i][j]为剩下i张红牌j张黑牌的在最优策略下的期望。根据我脚推的式子原创 2018-03-21 17:27:57 · 343 阅读 · 0 评论 -
BZOJ 3771: Triple(生成函数+FFT+容斥)
题目描述传送门题目大意:给一堆不同的数,问你从中取1-3个组成不同和的方案数,不考虑顺序。每个数的大小<=40000。思路简单的容斥。搞出取一个的生成函数AAA、取两个相同的生成函数BBB、取三个相同的生成函数CCC,然后答案就是A+A2−B+A3−3AB+2CA+A2−B+A3−3AB+2CA+A^2-B+A^3-3AB+2C。乘起来的过程用FFT加速就行了。这...原创 2018-03-26 07:16:33 · 331 阅读 · 0 评论 -
BZOJ 2226: [Spoj 5971] LCMSum(数论+欧拉函数)
题目描述传送门题目大意:问你1到n中的数和n的lcm之和,T组询问。T <= 300000,n <= 1000000。思路一看就是比较套路的题。随便化简一下,大概是这样 ∑i=1n[n,i]=∑i=1nni(n,i)=n∑i=1n∑d=1n[(i,n)=d]id\sum_{i=1}^n[n,i]=\sum_{i=1}^n{ni\over(n,i)}=n\sum_{i=1}^n\sum_{d=1}^原创 2018-03-26 07:42:44 · 313 阅读 · 0 评论 -
BZOJ 3784: 树上的路径(点分治+ST表+堆堆堆)
题目喵述权限门题目大意:给一棵树,有N个点,有边权。所有无向路径中,请你输出前M大的。N<=50000 M<=Min(300000,n*(n-1) /2)思路树上超级钢琴。(拖延症的结果就是现在才写这题)学了一种点分治的套路,在做点分治的时候求出整棵树的dfs序。可以发现,每个点在dfs序列中出现不超过log次。我们不妨称其为点分治序。然后类比超级钢琴,将序列转换到树上。强制路径过分治中心,然后每原创 2018-04-19 07:08:05 · 433 阅读 · 0 评论 -
BZOJ 3143: [Hnoi2013]游走(高斯消元+概率DP)
题面https://www.lydsy.com/JudgeOnline/problem.php?id=3143思路期望的一种算法是先算概率,最后乘值, 这里我们先求期望次数,再编号。显然的贪心就是给去的期望次数多的边编较小的编号。现在问题在于求经过每条边的期望次数。我们求出点的,自然可以通过边两边的点求出边的期望。由于点数很小,可以用高斯消元来求。随机任意游走,可以看做是稳定的,各个点的期望满足一个原创 2018-04-23 08:44:30 · 447 阅读 · 0 评论 -
HDU 5307 He is Flying(巧妙的构造+FFT)
题目描述传送门题目大意:一个非负整数组成的数列,记其前缀和为S。对于一段子区间,它对其部分和的贡献为其区间长度。问对于从0到Sn的部分和,其得到的总价值。0 <=S<=50000 1<=n<=100000 T=5思路根据贡献放系数,位置为指数的套路,我们要想要构造出的答案为: (i−j+1)si−sj−1(i-j+1)^{s_i-s_{j-1}}我们要构造生成函数来算出它,反正我是想不到的了,原创 2018-04-17 19:19:48 · 480 阅读 · 0 评论 -
BZOJ 1014: [JSOI2008]火星人prefix(二分+Splay+Hash)
题目传送门点我思路复习一下Splay的基本(复杂)操作,字符串Hash什么的好久没写啦。用Splay维护Hash值即可,一开始我是写双Hash的,一直TLE(自带大常数的DS),实在受不了就改成单Hash了,是能过的。对于询问要二分一下,时间复杂度两个log。原创 2018-04-17 18:28:07 · 383 阅读 · 0 评论 -
BZOJ 1556: 墓地秘密(SPFA+状压DP)
题面 权限门思路黄学长的题,比较简单的状压DP,考试时写了一个多小时,然后因为一个小错误只拿了40分。比较明显的是,只有机关墙四周的点是有用的, 有用的点只有4*K个。我们记DP[S][i][d]表示到过S集合,最后碰到的机关墙是i,停在墙的方向为d。然后通过枚举下一步去哪里、什么方向可以进行转移。提前预处理出4*K个点两两之间的“转向”最短路,这个通过bfs或SPFA可以搞。我个人偏向写SPFA原创 2018-04-17 14:19:13 · 415 阅读 · 0 评论 -
bzoj 3309: DZY Loves Math(莫比乌斯反演+线性筛)
题面https://www.lydsy.com/JudgeOnline/problem.php?id=3309求∑i=1a∑j=1bf((i,j))\sum_{i=1}^a\sum_{j=1}^bf((i,j)) T<=10000,1<=a,b<=107T<=10000,1<=a,b<=10^7其中f(n)f(n)是nn所含质因子的最大幂指数。思路这个反演很简单,假设a<ba<b, ans=∑T原创 2018-04-11 19:43:14 · 399 阅读 · 0 评论 -
BZOJ 2553: [BeiJing2011]禁忌(AC自动机+期望DP+矩阵快速幂)
传送吧https://www.lydsy.com/JudgeOnline/problem.php?id=2553思路建出trie图。记f[i][j]为长度为i到节点j的期望。直接转移不行。建出trie图的邻接矩阵,然后自乘len-1次转移。具体就是如果当前点的儿子是禁忌点,就连向根(由儿子连长度多了1),否则连向儿子。这样就避免了重叠。而且有个显然的结论就是能走到禁忌点就走,肯定能取到最大值。我们在原创 2018-04-04 10:48:27 · 343 阅读 · 0 评论 -
BZOJ 2820: YY的GCD(莫比乌斯反演)
题目描述传送门题目大意:求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对。多组数据。T = 10000 N, M <= 10000000思路最近沉迷刷数论水题,弱得瑟瑟发抖~枚举质数pp,套路反演一波ans=∑p∑i=1⌊np⌋μ(i)⌊npi⌋⌊mpi⌋ans=\sum_{p}\sum_{i=1}^{\lfloor{n\over p}\rfloor}\mu(i)原创 2018-03-28 20:30:28 · 362 阅读 · 0 评论 -
BZOJ 2693: jzptab(莫比乌斯反演+线性筛)
书写名为崩伤的美好原创 2018-03-28 17:57:47 · 440 阅读 · 0 评论 -
BZOJ 2006: [NOI2010]超级钢琴(ST表+优先队列)
题目描述传送门题目描述:给你一个长度为N的序列(N<=500,000),求长度在[L,R]中的前K(K<=500,000)大的连续子序列的和,其中-1000<=Ai<=1000。思路本来想写一道水题提升信心,结果没开long long调一年!枚举一段连续子序列的末尾,用ST表可以求出长度在[L,R]中的和最大的答案与开头的位置。这相当于找满足条件的最小的sum[y]。然后我们考虑如何取k个。好像可以原创 2018-03-28 15:12:33 · 264 阅读 · 0 评论 -
BZOJ 3160: 万径人踪灭(FFT+快速幂+manacher)
题目传送门题解题目大意就是求一个只有’a’和’b’的字符串中不连续的回文子序列的数量。所谓的回文子序列就是说这个子序列关于某个字符或某个间隙左右对称。举个栗子:在babbab中,b_bb_b就是一个合法的子序列。字符串只有’a’和’b’,直接设为0或1卷积一下两下。 于是位置和相同的字符对们就都被我们求出来了,回文子序列就是它们组成的。怎么来的还是要引用tututu大神的证明(括号内是我的补充):原创 2017-08-17 21:28:33 · 631 阅读 · 0 评论 -
BZOJ 2154: Crash的数字表格(莫比乌斯反演)
题目描述传送门题目大意:有一个n*m的表格,第i行第j列的数是lcm(i,j),求表格内所有数的和对20101009取模的结果(n,m<=10^7)。题解简单的数论题。老套路,先假设n<=mn<=m。题目要求∑i=1n∑j=1m[i,j]\sum_{i=1}^n\sum_{j=1}^m[i,j]画一下柿子 ans=∑i=1n∑j=1mij(i,j)ans=\sum_{i=1}^n\sum_{j=1原创 2018-03-28 10:59:01 · 443 阅读 · 0 评论 -
BZOJ 4408: [Fjoi 2016]神秘数(可持久化线段树)
孤单泭流河川 独身翻越黑暗原创 2018-03-27 15:33:09 · 351 阅读 · 0 评论 -
BZOJ 5248: [2018多省省队联测]一双木棋(对抗搜索+记忆化)
题目传送门https://www.lydsy.com/JudgeOnline/problem.php?id=5248思路显然每个局面,落子无悔后都是一个从上往下的非严格递减阶梯。所以有效的状态数只有很少,每一行减下一行非负,方案数用隔板法随便一算发现是Cnm+nC_{m+n}^n这么多,不到2∗1052*10^5。所以用一个(m+1)(m+1)进制数压一波,丢进map里哈希掉。然后每一行只能放末尾,原创 2018-04-09 16:56:47 · 532 阅读 · 1 评论 -
BZOJ 4530: [Bjoi2014]大融合(LCT维护子树大小)
题目描述权限传送门题目大意:一个图,动态加边。保证不会出现环,问你一条边被多少条路径经过。点数和询问数不超过10^5.思路LCT维护子树大小。每个LCT上的点,维护其全子树大小sum_siz,虚子树(虚边连出去的子树)大小siz。一个点本身的大小算进siz里,在Splay过程中维护sum_siz,即sum_siz=son[0]->sum_siz+son[1]->sum_siz+siz。对于全子树大小原创 2018-03-27 10:26:04 · 423 阅读 · 0 评论 -
BZOJ 2298: [HAOI2011]problem a(背包DP)
Description一次考试共有n个人参加,第i个人说:“有ai个人分数比我高,bi个人分数比我低。”问最少有几个人没有说真话(可能有相同的分数)Input第一行一个整数n,接下来n行每行两个整数,第i+1行的两个整数分别代表ai、biOutput一个整数,表示最少有几个人说谎Sample Input 3 2 0 0 2 2 2Sample Output 1HINT1原创 2018-03-01 22:06:42 · 476 阅读 · 0 评论 -
BZOJ 3992: [SDOI2015]序列统计(NTT+快速幂+DP)
快速数论变换NTT 求原根 LL大法好原创 2018-02-23 01:49:12 · 404 阅读 · 0 评论 -
BZOJ 1076: [SCOI2008]奖励关(期望+状压DP)
传送门http://www.lydsy.com/JudgeOnline/problem.php?id=1076题解不能从前往后推,求期望的正确姿势应该是从后往前。每个物品有先决限制,我们将已获得的物品状压起来。记f[i][s]为第i关开始前拥有集合s的得分期望。枚举关卡数、集合和第i关的物品。若满足先决条件,则f[i][s] += max(f[i+1][s], f[i+1][s|(1<<(j-1))原创 2018-03-15 14:46:25 · 288 阅读 · 0 评论 -
HDU 5412 CRB and Queries && BZOJ 3110: [Zjoi2013]K大数查询 (整体二分+树状数组/线段树)
题目传送门们HDU 5412 BZOJ 3110题目分析什么叫整体二分①假如给你一个区间,让你求区间第K小,你怎么做? =。=排序。。或者二分答案然后检验。②假如给你很多区间呢? 主席树。③假如带修呢? 树套树!线段树套树状数组/treap。其实没必要,直接上整体二分。整体二分是普通二分的进阶版,二分答案的同时,依据与答案的关系将所有的修改和询问分成左右两边再递归求解。整体二分可以解决求原创 2017-08-10 08:33:59 · 889 阅读 · 0 评论 -
BZOJ 2959: 长跑(LCT+并查集)
题目传送门题目大意就是三个操作: ①将点A,B连一条无向边 ②改变点A的权值 ③问你从A到B的路径的权值和,其中边可以重复一个方向走,点可以重复走但权值只算一次。题解如果没有①②且给出的是树的话,就是一个求LCA。 如果没有①操作而是给出一个静态的树的话,那么就是一个树链剖分了。 如果保证是树(森林)的话,那就直接做一个LCT就行了。关键就是它是一个图。 显然,如果A,B在一个环中的话,原创 2017-07-07 14:44:04 · 732 阅读 · 0 评论 -
BZOJ 4873: [Shoi2017]寿司餐厅 (最大权闭合子图)
Solution这题也如同day1第三题一样,是一道看懂题目并转化后发现是很水的题。。(这个前提非常重要)考试时我想day1没考网络流,day2肯定有吧。没想到被我说中了。前两题耗了很久,第三题看题目那么长,想了想发现正解不是dp就是网络流(嘴巴AC),甚至想到跑最小割,但死活卡在构图,又去想dp,无果,然后就被迫弃了。。千古蒟蒻。。讲讲正解。考虑最大权闭合子图,对于长度大于1的区间,区间[i,j]原创 2017-04-26 16:36:01 · 1320 阅读 · 3 评论