![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 76
TheWolfWhistlingSong
蜜の夜明け
展开
-
Bzoj3124 [SDO2013]直径
树形动态规划的好题原创 2016-03-16 17:08:49 · 491 阅读 · 0 评论 -
Bzoj4044:[Cerc2014] Virus synthesis:回文自动机+DP
一道回文自动机好题原创 2016-03-27 16:12:23 · 1255 阅读 · 0 评论 -
Bzoj1833:[ZJOI2010]count 数字计数:数位dp
题目链接[ZJOI2010]count 数字计数设f[i][j][k]表示长度为i,开头为j的数中k的个数分开统计答案,对于位数小于当前数的直接全部加上,剩余的拆分统计#include#include#include#include#include#define LL long longusing namespace std;const int maxn=51;LL a原创 2016-04-19 16:17:43 · 1061 阅读 · 0 评论 -
Bzoj2331[SCOI2011]地板:插头dp
题目链接:[SCOI2011]地板裸插头,知道做了这道题才发现我以前插头学得是个什么XX样子啊QAQ用0表示没有插头,1:插头类型为直线,2:插头类型为L具体情况都在程序中标注顺便吐槽一句,这道题我wa了千百遍居然只是因为数据中'_'写成了'*'!白白浪费了一个上午TAT#include#include#include#include#include#include原创 2016-05-15 14:10:11 · 342 阅读 · 0 评论 -
Bzoj1025:[SCOI2009]游戏:置换群+dp
题目链接:1025:[SCOI2009]游戏由置换群的知识显然序列会出现一些循环节设第i个循环节的长度为len[i],那么答案就是lcm(len[i])将len[i]分解质因数pi^ai后答案可以写为pi^(max(ai))的乘积如果sigma(pi^ai)所有设dp[i][j]为前i个质数组成和为j的方案数,然后就是很水的dp了#include#include#inc原创 2016-04-21 08:37:13 · 365 阅读 · 0 评论 -
Bzoj1004:[HNOI2008]Cards:置换群+dp
题目链接:1004:[HNOI2008]Cards首先看到题目就知道是个有关群论的题Burnside:真正染色方案数=(Σ每种置换下不变的染色方案数)/置换总数;发现这里卡片的数量有限制所以Pólya并不能用了于是要用dp求出不变的方案数发现两个在某置换下可以互相到达的序列如果本质相同那么必须涂上相同颜色可以处理处循环节长度,然后裸dp了注意不洗牌也是一种方案最后求原创 2016-04-21 10:38:37 · 459 阅读 · 0 评论 -
Bzoj3566:[SHOI2014]概率充电器:概率dp
题目链接[SHOI2014]概率充电器woc我的高考概率是怎么学的这么简单的概率公都忘了233公式:设事件A,B,p为概率,则p(A|B)=p(A)+p(B)-p(A&B)意思是发生A或B事件之一的概率是发生A的概率+发生B的概率-A和B同时发生概率那么一个点x有电的情况为1:自己给自己充上了电;2:子节点给他充上了电;3:父节点给他充上了电设事件1的概率为p[x],那么1原创 2016-06-12 21:21:19 · 478 阅读 · 0 评论 -
Bzoj3992:[SDOI2015]序列统计:NTT+DP
首先设dp[i][j]表示前i个数余j的方案数dp[i][j]->dp[i+1][j*s[k]%m]=>O(n*m^2);发现M是个质数,有原根将j用j的原根表示为j'则dp[i][j']=∑dp[i-1][k']((k'+s[p]')%(m-1)==j')这是一个卷积,可以用NTT优化=>O(nmlogm)对n快速幂一下就是O(mlognlogm)#include#原创 2016-06-15 14:58:49 · 505 阅读 · 0 评论 -
Bzoj3782:上学路线:组合数学+Lucas+CRT+DP
题目链接:上学路线设dp[i]为到了第i个坏点且是第一次到达坏点的方案数那么dp[i]=C(x[i]+y[i],x[i])-∑C(x[i]+y[i]-x[j]-y[j],x[i]-x[j])dp[j](x[j]对于mod=100003Lucas直接上对于mod=1019663265分解质因数得到3*5*6973*10007然后每个因数分别Lucas后CRT合并#include原创 2016-07-13 15:37:09 · 925 阅读 · 0 评论 -
Bzoj4006:[JLOI2015]管道连接:斯坦纳树
题目连接:4006:[JLOI2015]管道连接刚刚学会的斯坦纳树QAQ把关键点之间的联通性加入状态,枚举当前考虑的点进行转移即可#include#include#include#include#includeusing namespace std;const int maxn=1051;const int inf=0x7fffffff/2-1;int n,m,tot=原创 2016-07-03 16:08:06 · 627 阅读 · 0 评论 -
Bzoj4069:[Apio2015]巴厘岛的雕塑:dp+贪心
题目链接:[Apio2015]巴厘岛的雕塑一开始先写了个既错误又高复杂度的dp,令dp[i][j]=min(dp[i][k],dp[j][k-1]|(s[i]-s[j])),其中s[]代表前缀和首先超时不说,在或的情况下单纯地每步取最小值无法保证全局的最优性,但是即使是这样我还是奇奇怪怪的过了好几个点QAQ正解是这样的:首先处理出答案最多的可能位数bit,然后倒序从最高位开始枚举每原创 2016-04-25 17:17:18 · 831 阅读 · 0 评论 -
Bzoj3791:作业:DP
题目链接:3791:作业一段序列用K种不同的颜色染色最多染成2*K-1段然会就可以考虑dp了设dp[i][j][k]表示染到了第i个作业,共染了j段,当前染的颜色为k(k为0/1)如果当前颜色和上一段一样,dp[i][j][k]=max(dp[i][j][k],dp[i-1][j][k]+(a[i]==k));否则如果染得不一样,也就是多染了一段,dp[i][j][k]=max原创 2016-03-25 21:04:33 · 479 阅读 · 0 评论 -
Bzoj1026Windy数:数位dp初探
数位dp最水的题=w=原创 2016-03-19 21:32:57 · 313 阅读 · 0 评论 -
Bzoj3193:[JLOI2013]地形生成:dp+组合数学
题目链接:3193:[JLOI2013]地形生成第一问:每座山前面的山高度大于这座山的数量小于它的关键值,所以对于一座山,所有比他矮的山对他并没有什么影响那就可以按照山的高度从高到矮排一发序,每座山只有他前面的山才会对他有影响假设我们现在正在考虑第i座山,他前面有i-1座,它的关键值为k,则我们可以把他放到[1,min(k,i)]中的任意一个位置,组合数乘一下即可但是会有山的高原创 2016-04-03 10:46:03 · 947 阅读 · 0 评论 -
Bzoj2111:[ZJOI2010]Perm 排列计数:树形动态规划+组合数学
题目链接:2111:[ZJOI2010]Perm 排列计数可以发现这样的一个大于关系构成了一个树结构,而且是一颗线段树式的结构,满足堆性质设f[i]表示i这个点所代表的子树满足要求的方案数,s[i]为以i为根的子树大小,那么f[i]=f[if[]和s[]一遍树归就都干掉了,取模的话加个逆元即可#include#include#include#include#define L原创 2016-04-03 16:30:22 · 540 阅读 · 0 评论 -
Bzoj2553 [BeiJing2011]禁忌
题目链接:[BeiJing2011]禁忌刚刚写了两道AC自动机+DP的傻X题以为自己很NB,然后信心满满的找到了这道题,然后就被艹翻了QAQ题意都是看着po姐的博客才明白的,语死早……就是求长度为len的所有串的最大伤害的期望值(平均值)首先走到每个串都是有一定概率的,走到禁忌串也是,我们令dp[i][j]表示从i节点走到j节点的概率,那么答案就是走到所有禁忌串的概率发现这样并原创 2016-03-22 09:27:24 · 492 阅读 · 0 评论 -
插头dp初探:BZOJ1210&&Uva1519
插头dp初探,插头dp入门bzoj1187 Uva1519插头dp好题、必做题原创 2016-03-12 15:39:57 · 651 阅读 · 0 评论 -
Bzoj1591:[Usaco2008 Dec]Largest Fence 最大的围栏:DP
题目链接:1591:[Usaco2008 Dec]Largest Fence 最大的围栏显然不能枚举考虑dp,每个点肯定都有一个包含他的最大的凸包观察凸包,存在一条边使得顺时针看凸包上一圈的边极角是递增的,手画一个凸包就可以发现(三象限->四->一->二)别告诉我你不知道极角是会有负数的所以我们将点两两连边,将边按照极角排序设f[i]为包含i的最大凸包上的点的数量,则f[j原创 2016-04-05 16:15:48 · 1004 阅读 · 2 评论 -
Bzoj4361:isn:树状数组+动态规划+容斥
好题好题QAQ原创 2016-03-23 17:39:51 · 1901 阅读 · 0 评论 -
Bzoj3522:[Poi2014]Hotel:树形DP:
好厉害QAQ原创 2016-03-23 18:50:01 · 480 阅读 · 0 评论 -
Bzoj:[Poi2011]Lightning Conductor:决策单调性优化DP详解
决策单调性详解,决策单调性第一题!原创 2016-03-25 08:00:42 · 2720 阅读 · 0 评论 -
Bzoj1801:[Ahoi2009]chess 中国象棋:dp
题目链接:[Ahoi2009]chess 中国象棋设dp[i][j][k]表示前i行中有j列有1个炮,k列有2个炮,分情况讨论转移即可注意一行最多两个炮#include#include#include#include#define ll long longusing namespace std;const int maxn=110;const int mod=999997原创 2016-07-21 10:42:28 · 571 阅读 · 0 评论