随笔分类 - BZOJ
摘要:"3640: JC的小苹果" 题意:求1到n点权和$\le k$的概率 "sengxian" orz的题解好详细啊 容易想到$f[i][j]$表示走到i点权为j的概率 按点权分层,可以DP 但是对于$val[i]=0$的点,就不是DAG了,必须使用高斯消元 每层消元一次?复杂度$O(SN^3)$,b
阅读全文
摘要:"3036: 绿豆蛙的归宿" 题意:有向无环图1到n期望路径长度 连高斯消元都不用了... cpp include include include include include using namespace std; typedef unsigned long long ll; const in
阅读全文
摘要:"1778: [Usaco2010 Hol]Dotp 驱逐猪猡" 题意:一个炸弹从1出发p/q的概率爆炸,否则等概率走向相邻的点。求在每个点爆炸的概率 高斯消元求不爆炸到达每个点的概率,然后在一个点爆炸就是$\frac{f[i]}{sum}$ cpp include include include
阅读全文
摘要:"2337: [HNOI2011]XOR和路径" 题意:一个边权无向连通图,每次等概率走向相连的点,求1到n的边权期望异或和 这道题和之前做过的高斯消元解方程组DP的题目不一样的是要求期望异或和,期望之间不能异或所以不能直接求 发现 每个二进制位是独立的,我们可以一位一位考虑 ,设当前考虑第i位 $
阅读全文
摘要:"3168: [Heoi2013]钙铁锌硒维生素" 题意:给一个线性无关组A,再给一个B,要为A中每个向量在B中选一个可以代替的向量,替换后仍然线性无关。判断可行和求字典序最小的解 "PoPoQQQ" orz 显然是一个二分图匹配的模型 A是一个线性基,用它把B中每个向量表示出来,那么$B_i$可以
阅读全文
摘要:"4568: [Scoi2016]幸运数字" 题意:一颗带点权的树,求树上两点间异或值最大子集的异或值 显然要用线性基 可以用倍增的思想,维护每个点向上$2^j$个祖先这些点的线性基,求lca的时候合并起来就行了 复杂度$O(nlogn60 60)$ 注意这是点权,特判x==y的情况,需要插入a[x
阅读全文
摘要:"2242: [SDOI2011]计算器" 题意:求$a^b \mod p,\ ax \equiv b \mod p,\ a^x \equiv b \mod p$,p是质数 这种裸题我竟然WA了好多次 第三个注意判断a和b整除p的情况 cpp pragma GCC optimize ("O2") i
阅读全文
摘要:"4514: [Sdoi2016]数字配对" 题意: 有 n 种数字,第 i 种数字是 ai、有 bi 个,权值是 ci。 若两个数字 ai、aj 满足,ai 是 aj 的倍数,且 ai/aj 是一个质数, 那么这两个数字可以配对,并获得 ci×cj 的价值。 一个数字只能参与一次配对,可以不参与配
阅读全文
摘要:"4517: [Sdoi2016]排列计数" 题意:多组询问,n的全排列中恰好m个不是错排的有多少个 容斥原理强行推♂倒她 $恰好m个不是错排 $ $$ =\ \ge m个不是错排 \ge m+1个不是错排\binom{m+1}{m} \ge m+2个不是错排\binom{m+2}{m}... \\
阅读全文
摘要:"4518: [Sdoi2016]征途" 题意:$n\le 3000$个数分成m组,一组的和为一个数,求最小方差$ m^2$ DP方程随便写$f[i][j]=min\{f[k][j 1]+(s[i] s[k])^2 \}$ 发现可以斜率优化,~~很久没写忘记了60分暴力走人~~ 拆开平方,$f[i]
阅读全文
摘要:"4516: [Sdoi2016]生成魔咒" 题意:询问一个字符串每个前缀有多少不同的子串 做了一下SDOI2016R1D2,题好水啊~~随便AK~~ 强行开map上SAM 每个状态的贡献就是$Max(s) Min(s)+1$ 插入的时候维护一下就行了 cpp include include inc
阅读全文
摘要:裸题 求$ind_{n,a}b$,也就是$a^x \equiv b \pmod n$ 注意这里开根不能直接下取整 这个题少了一些特判也可以过... cpp include include include include include include using namespace std; typ
阅读全文
摘要:"4555: [Tjoi2016&Heoi2016]求和" 题意:求$$ \sum_{i=0}^n \sum_{j=0}^i S(i,j)\cdot 2^j\cdot j! \\ S是第二类斯特林数 $$ 首先你要把这个组合计数肝出来,~~于是我去翻了一波《组合数学》~~ 用斯特林数容斥原理推导那个
阅读全文
摘要:"4555: [Tjoi2016&Heoi2016]求和" 题意:求$$ \sum_{i=0}^n \sum_{j=0}^i S(i,j)\cdot 2^j\cdot j! \\ S是第二类斯特林数 $$ 首先你要把这个组合计数肝出来,~~于是我去翻了一波《组合数学》~~ 分治fft做法见上一篇,本
阅读全文
摘要:"2287. [HZOI 2015]疯狂的机器人" 题意:从原点出发,走n次,每次上下左右不动,只能在第一象限,最后回到原点方案数 这不煞笔提,组合数写出来发现卷积NTT,然后没考虑第一象限gg 其实就是 "卡特兰数" 只不过这里$C(i)$是第$\frac{i}{2}$项,奇数为0 令$f[n]$
阅读全文
摘要:"4259: 残缺的字符串" 题意:s,t,星号任意字符,匹配方案数 和上题一样 多乘上一个$a_{j+i}$就行了 cpp include include include include include using namespace std; typedef long long ll; cons
阅读全文
摘要:"4503: 两个串" 题意:兔子们在玩两个串的游戏。给定两个只含小写字母的字符串S和T,兔子们想知道T在S中出现了几次, 分别在哪些位置出现。注意T中可能有“?”字符,这个字符可以匹配任何字符。 ~~为什么智障游戏总要让兔子来玩~~ 受到上题影响,直接每个字符算一遍最后加上?的个数,26倍常数完美
阅读全文
摘要:"UOJ 77. A+B Problem" 题意:自己看 接触过线段树优化建图后思路不难想,细节要处理好 乱建图无果后想到最小割 白色和黑色只能选一个,割掉一个就行了 之前选白色必须额外割掉一个p[i],i向i+n连p[i],然后i+n向之前点连INF就行了 向一段区间连边?果断线段树优化 等等,还
阅读全文
摘要:"2034: [2009国家集训队]最大收益" 题意:$n \le 5000$个区间$l,r\le 10^8$,每个区间可以选一个点得到val[i]的价值,每个点最多选1次,求最大价值 线段树优化建边的做法见上一篇 "论文" 先把l,r离散化了,因为一个区间只选一个点,所以我们对于每个区间拿出一个点
阅读全文
摘要:"4276: [ONTAK2015]Bajtman i Okrągły Robin" 题意:$n \le 5000$个区间$l,r\le 5000$,每个区间可以选一个点得到val[i]的价值,每个点最多选1次,求最大价值 有个显然的$n^2$条边的费用流建图(二分图最大权匹配),每个区间一个点连(
阅读全文