dp[i][j]表示从i,j开始的最长路径,记忆化搜索一下。#include #include #include using namespace std;#define maxn 120int dp[maxn][maxn],map[maxn][maxn];int r,c;int dfs(int i,...
分类:
其他好文 时间:
2014-07-13 23:46:25
阅读次数:
259
题意:求0-B的满足
思路:数位DP,记忆化搜索
#include
#include
#include
#include
using namespace std;
int A, B;
int dp[20][200000];
int bit[20];
int dfs(int cur, int num, int flag) {
if (cur == -1)
return num ...
分类:
其他好文 时间:
2014-07-13 00:02:35
阅读次数:
338
原题:ZOJ 3681http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3681题意:给一个m,n,m表示m个人,可以把m个人分成k组,每组m/k个人,人数要一样,如果超过一半的组支持Italy的话,说明这n个人都支持Italy...
分类:
其他好文 时间:
2014-07-12 15:18:56
阅读次数:
166
题目链接:uva
1252
题意:
有n个长度为m的二进制串,每个都是不同的。
为了把所有字符串区分开,你可以询问,每次可以问某位上是0还是1。
问最少提问次数,可以把所有字符串区分开来。
思路来源于:点击打开链接
思路:
m很小,可以考虑状态压缩。
dp[s1][s2]表示询问的状态为s1时,此时能猜到状态包含s2时最小需要的步数。
当询问的几位=...
分类:
其他好文 时间:
2014-07-11 08:39:57
阅读次数:
244
题目大意:
说七个party选择数字(各不相同)
而规定的小象的party选择的数字之中所拥有的数字4和7的个数要比其他六个party拥有的个数之和还要严格多,询问方案数。
如m=7时其余的随意选择至少会拥有一个4或7,与题意矛盾,故方案数为0
m=8时,7 1 2 3 5 6 8是一种合法方案
思路:
由于小象的party选到的数字所含4和7的个数至多和m的位数一样多,则枚举小象的party所含4和7的个数,剩余的6个party直接用dfs即可(直接用乘法原理)。
而通过数位dp可以算出1~m之中所拥有...
分类:
其他好文 时间:
2014-07-10 19:44:26
阅读次数:
193
#include#include#include#includeusing namespace std;int n,m;#define N 32#define mod 10007LL#define mod2 10000007#define inf 0x3ffffffftypedef long lon...
分类:
其他好文 时间:
2014-07-09 21:48:32
阅读次数:
358
HDU 4778 Gems Fight!
题目链接
题意:有n个背包,包里有一些宝石,现在爱丽丝和你轮流选背包,把包里宝石丢到锅中,然后如果锅中有宝石数量到s个,就会得到魔法石,并且可以继续选背包,两人都按最优策略去取,问最后两人魔法石会差多少。
思路:dp,dp[s]表示选背包状态为s时候的值,然后去记忆化搜索即可,注意如果当前生成魔法石就继续加,否则就减即可
代码:...
分类:
其他好文 时间:
2014-07-08 12:56:53
阅读次数:
170
10581 - Partitioning for fun and profit
题目链接
题意:给定m, n,表示分配给n个格子,分配m个数字进去,每个格子最少1,并且序列要是递增的,问第k个字典序的序列是什么
思路:先利用dp打出表,dp[i][j][k]表示第i个数,尾巴为j,总和剩下k的情况,写一个记忆化求出,之后在这个数组基础上,从左往右枚举要放那个数字合适,合适的就放进...
分类:
其他好文 时间:
2014-07-06 11:41:28
阅读次数:
225
hdu1579 Function Run Fun(深搜+记忆化)...
分类:
其他好文 时间:
2014-07-06 09:44:41
阅读次数:
216
题目链接:uva 10581 - Partitioning
for fun and profit
题目大意:给定m,n,k,将m分解成n份,然后按照每份的个数排定字典序,并且划分时要求ai?1≤ai,然后输出字典序排在k位的划分方法。
解题思路:因为有ai?1≤ai的条件,所以先记忆化搜索处理出组合情况dp[i][j][s]表示第i位为j,并且剩余的未划分数为s的总数为dp[i][...
分类:
其他好文 时间:
2014-07-05 23:56:30
阅读次数:
464