- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 [NOI2007]生成树计数 (基于连通性的状态压缩动态规划+矩阵快速幂优化)
题意:n个点排成一排,每个点往它前k个点连边,求生成树个数。n&lt;=1e15,k&lt;=5n&lt;=1e15,k&lt;=5n<=1e15,k<=5其实这个题很OI的。考虑从左到右把点加入然后维护生成树个数,可以发现需要区分的状态只有前k的点的联通情况(快速判断成环或不连通),然后最小表示法基于连通性的状态压缩dp一发,然后就是喜闻乐见的发...
2019-02-22 17:55:47 284
原创 [AHOI2009]最小割
求可能在最小割的边和一定在最小割中的边。1.判定边xy是否可能在最小割中 (最小割可行边)充要条件: 1.满流。 2.在残余网络中找不到x到y的路径。很好理解,如果还能找到,那么砍了它也没什么用如果正向弧没流满,那么肯定不是最小割(可以找到另一条更好限制流量的边)只有满流才能让正向弧等于0,才有不能找到的条件因此,在算法体现中,他们两个必定只能不属于一个SCC才能在最小割中...
2019-02-21 17:35:34 193
原创 BZOJ 3864: Hero meet devil (从dp性质实现dp套dp)
题意:求长度为m的,字符集大小为4的,字符串,中,与字符串S(|S|<=15)的最长公共子序列长度=i的字符串数量。i ∈0→∣S∣i \ \in 0 \to |S|i ∈0→∣S∣发现这个状态十分不好定义,考虑O(n2)O(n^2)O(n2)LCS的过程:f[i][j]=max(f[i−1][j],f[i][j−1],f[i−1][j−1]∗(S[i]==T[j]...
2019-02-21 16:11:04 286
原创 FZU 2199 Patchmania I
原题中文题面说的很清楚,这里就不转述了1.选一个萝卜i做起点,求最小距离Ai和最小距离方案数Bi。2.求覆盖所有萝卜,以洞为终点的路径条数Ci。答案方案数就是∑i=1nBi∗Ci∗[Ai==minA]\sum_{i=1}^nB_i*C_i*[Ai == minA]∑i=1nBi∗Ci∗[Ai==minA]注意Ai,BiA_i,B_iAi,Bi在统计路径时路径不能跨过#和O另外没...
2019-02-21 10:43:10 169 2
原创 ZOJ 2125 Rocket Mania
题意:9*6的地图上每个格子里是一种管道(-,T,L,+型或没有),可以把管道旋转0,90,180,270°0,90,180,270\degree0,90,180,270°,问地图有几行的右边界与第X行的左边界通过管道相连。插头DP论文题,注意常数因子对于程序效率的影响。用1代表带有火的插头,剩下的用最小表示法。1.不含1的状态可以舍弃。2.只含一个x的状态(x>=2)可以把x变为0...
2019-02-20 16:55:42 262
原创 数位DP
数位DP顾名思义就是按照数位一位一位的DP。1.数位DP通过加一维状态标记前面的位数是否顶着上界来简化分类讨论。2.数位DP实际上是对长度固定的只含0~9的字符串的DP,要特别注意前导零对DP的影响,必要时加上前导零标记。3.多组数据时可以通过记忆化搜索保存没有顶着上界的DP值,实测超快,这也启发我们在记忆化搜索的时候不一定记忆化搜索的参数都要参与记忆化搜索。...
2019-02-20 10:23:22 117
原创 SPOJ The area of the union of circles 自适应辛普森积分
题意:求多个圆形区域的并的面积。圆的数量n&lt;=1000n &lt;= 1000n<=1000我们设f(a)=(x=a这条直线在圆形区域内的长度)f(a)=(x=a这条直线在圆形区域内的长度)f(a)=(x=a这条直线在圆形区域内的长度), 那么答案就是∫f(x)dx\int f(x)\rm {d} x∫f(x)dx然后就可以直接用自适应辛普森积分来近似答案。eps=...
2019-02-13 15:52:18 134
原创 CF 1106 F. Lunar New Year and a Recursive Sequence
给出一个k阶递推式(mod998244353)\pmod{998244353}(mod998244353),f[1...k−1]=1,f[n]=mf[1...k-1] = 1,f[n] =mf[1...k−1]=1,f[n]=m求f[k]f[k]f[k]这个递推式显然让人想两边同时求一个对数。令g[i]=logf[i]g[i] = \log f[i]g[i]=logf[i]有g[i]=∑...
2019-02-01 13:27:18 248
原创 CF 1106 E. Lunar New Year and Red Envelopes
一个人有一种贪心策略,我们有m次机会让他在一个时刻不能操作,求那个人的最小收入。。。。。。明显O(nm)O(nm)O(nm)状态,set维护一下可以O(logn)O(\log n)O(logn)得出贪心策略,可以做到O(nlogn+nm)O(n \log n+nm)O(nlogn+nm)的总转移复杂度。set判重是看(!a<b) && (!b<a) , 就算键值...
2019-02-01 13:13:26 482
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人