摘要:传送门:Gift题意:由n(n#include #include #include #include #include #define LL long long#define N 25#define mod 1000000007using namespace std;/***************...
阅读全文
摘要:传送门:Max Sum Plus Plus题意:从n个数中选出m段不相交的连续子段,求这个和最大。分析:经典dp,dp[i][j][0]表示不取第i个数且前i个数分成j段达到的最优值,dp[i][j][1]表示取了第i个数且前i个数分成j段达到的最优值。那么有:dp[i][j][0]=max(dp[...
阅读全文
摘要:传送门:beautiful number题意:令 A=∑ni=1ai?10n?i(1≤ai≤9)(n为A的位数)。若A为“漂亮的数”当且仅当对于任意1≤i#include #include #include #include #include #include #include #include #...
阅读全文
摘要:传送门:Zeros and Ones题意:求总数位为n包含0和1个数相同且整除k的二进制数的个数。分析:设dp[pos][num][md]表示还有pos位已包含num个1且模k余md的符合条件的二进制数的个数,裸数位dp题。#include #include #include #include #i...
阅读全文
摘要:传送门:Ilya and Escalator题意:有n个人排队进车厢,每秒只能进一个人,而且第1个人进了后面的人才能进,第一个人每秒进入车厢的概率为p,不进的概率为1-p,求t秒后进入车厢总人数的数学期望。分析:设dp[i][j]表示第i秒进了j个人的概率,则:dp[i][j]=dp[i-1][j]...
阅读全文
摘要:传送门:小明系列问题——小明序列题意:有n个数,求间距大于d的最长上升序列。分析:dp[i]表示在i点以a[i]结束距离大于d的最长上升序列,然后每更新到第i点时,取i-d之前小于a[i]的数为结束的最长上升序列进行状态转移,并维护前i-d之前的最大上升序列,维护i-d之前的每点为结束的最长上升序列...
阅读全文
摘要:传送门:Chriswho题意:求区间[1,n]内能整除自己本身各位数字的数的个数。分析:这题跟CF 55D Beautiful numbers一样的,一个数能被它的所有非零数位整除,则能被它们的最小公倍数整除,而1到9的最小公倍数为2520,为了判断这个数能否被它的所有数位整除,我们还需要这个数的值...
阅读全文
摘要:传送门:ytaaa题意:有n个炸药(不能调换顺序),可以组成x(x#include #include #include #include #include #include #include #include #include #include #include #define LL long lo...
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3001题意:n 个城市已经 m 条路 以及对应路费 c,要求遍历所有城市最少的路费,每个城市不能超过2次。分析:和TSP问题差不多,只不过变成三进制的状压,dig[i][j]表示在状态i下在点j已经做过的...
阅读全文
摘要:题目链接:http://poj.org/problem?id=2411题意:由1*2的矩形通过组合拼成大矩形,求拼成指定的大矩形有几种拼法。分析:如果是横着的就定义11,如果竖着的定义为竖着的01,状态兼容时只需考虑两种情况,当前行|上一行,是不是全为1,不是说明竖着有空(不能出现竖着的00),然后...
阅读全文
摘要:题目连接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4257题意:不超过10种气体,两两之间相互碰撞可以产生一定的能量,如a碰b,那么b气体就消失,自身不能碰自身,问最后所能得到的最大能量。分析:用10位二进制表示气体是否存...
阅读全文
摘要:题目连接:http://poj.org/problem?id=3311题意:一个送披萨的,每次送外卖不超过10个地方,给你这些地方之间的时间,求送完外卖回到店里的总时间最小。分析:跑一遍Floyd求出两两之间的最短距离,然后就是一个裸TSP问题了。dp[state][i]表示在state状态下(st...
阅读全文
摘要:题目连接:http://poj.org/problem?id=1185题意:给出一张n*m的地图,'H'表示高地,不能部署炮兵,'P'表示平原,可以部署炮兵,炮兵之间必须保持横向、纵向至少2个格子的距离,保证没有误伤。问最多可以部署多少炮兵。分析:对于每行大炮的状态仅与上两行的状态有关,因此要开个三...
阅读全文
摘要:题目连接:http://poj.org/problem?id=3254题意:一个矩阵里有很多格子,每个格子有两种状态,可以放牧和不可以放牧,可以放牧用1表示,否则用0表示,在这块牧场放牛,要求两个相邻的方格不能同时放牛,即牛与牛不能相邻。问有多少种放牛方案(一头牛都不放也是一种方案)分析:dp[i]...
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4283题意:有一个队列,每个人有一个愤怒值D,如果他是第K个上场,不开心指数就为(K-1)*D。但是边上有一个小黑屋(后进先出,当成个堆栈),可以一定程度上调整上场顺序,使不开心指数最小。分析:最先进栈的...
阅读全文
摘要:题目连接:http://poj.org/problem?id=2955题意:给一个由()[]四种字符任意排列组成的字符串,求最长合法的不连续字串的长度。分析:如果找到一对匹配的括号[xxx]oooo,就把区间分成两部分,一部分是xxx,一部分是ooo,然后以此递归直到区间长度为#include #i...
阅读全文
摘要:题目连接:http://poj.org/problem?id=3280题意:给定一个长度为m(m#include #include #include #include #include #include #include #include #include #include #include #de...
阅读全文
摘要:题目连接:http://poj.org/problem?id=1651题意:给出一组N个数,每次从中抽出一个数(第一和最后一个不能抽),该次的得分即为抽出的数与相邻两个数的乘积。直到只剩下首尾两个数为止。问最小得分?分析:区间dp,记忆化搜索,dp[l][r]表示去掉l~r中所有数(不包括l、r)后...
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5001题意:一个人随即从一个点出发,到达邻接点的概率相同,求出走d步都不会到达1~n点的每一点i的概率。分析:每次删掉i点去计算d步后到达其他点的概率,加起来的都是没有到达i点的概率。一开始算出x步到达每...
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4389题意:f(x)表示x各位的数字和. 给定1#include #include #include #include #include #include #include #include #inclu...
阅读全文