唉,没想出来……注意到预处理的作用。还有CLJ大牛说的话:这么小的数据,想干什么都可以。SPFA预处理+DP 够经典var
f:array[0..100,0..100]of longint; a:array[0..20,0..100]of boolean;
head,next,go...
分类:
其他好文 时间:
2014-06-02 11:46:40
阅读次数:
206
递归建树,由题知该树是一棵二叉树,且除根节点外其它点的度为0或2。dp[i][j]表示来到第i个走廊(还未走过这条走廊)还剩下j时间,能拿到最大的画的数量。dp[i][j]=max(dp[i][j],dp[lson[i]][k]+dp[rson][last_time-k])#include#incl...
分类:
其他好文 时间:
2014-06-02 08:38:14
阅读次数:
173
题意:给出两个01字符串s1,s2.每次改变s1上m个位置的字符。问k步之后使得s1变为s2的方法有多少种。
解法:DP,关键是状态的设计。考虑还是唯一性和可传递性。dp[i][j]表示第i步后有j个不同到目标的走法数。记忆化搜索dp[0][dif](dif表示初始时不同字符的个数)。转移时候枚举选择情况即可。
代码:/*****************************...
分类:
其他好文 时间:
2014-06-02 04:58:01
阅读次数:
216
题意:在给定的数组里,寻找一个最长的序列,满足ai-2+ai-1=ai。并输出这个序列。很容易想到一个DP方程dp[i][j]=max(dp[k][i])+1.
(a[k]+a[i]==a[j],1=dp[1][5]。这样我们只需要在遍历数组的时候维护数组每个数的最大的下标即可。这里使用hash来做...
分类:
其他好文 时间:
2014-06-02 00:39:39
阅读次数:
379
Common SubsequenceTime Limit: 1000MSMemory Limit:
10000KTotal Submissions: 36542Accepted: 14596DescriptionA subsequence of a
given...
分类:
其他好文 时间:
2014-06-02 00:29:28
阅读次数:
247
字符串的修改Time Limit: 1000ms, Special Time
Limit:2500ms, Memory Limit:32768KBTotal submit users: 245, Accepted users:
231Problem 10411 : No special judgem...
分类:
其他好文 时间:
2014-06-02 00:08:11
阅读次数:
338
题目:
链接:点击打开链接
题意:
思路:
dp[i][j]表示前i个箱子装j钱的材料能够得到的最大价值。
代码:
#include
#include
#include
using namespace std;
#define MAXN 100010
int dp[55][MAXN];
int main()
{
//freopen("inpu...
分类:
其他好文 时间:
2014-06-01 13:57:14
阅读次数:
270
题目:
链接:点击打开链接
题意:
很明显的依赖背包。
思路:
代码:...
分类:
其他好文 时间:
2014-06-01 12:56:54
阅读次数:
313
题意:写出一个给定区间的每个数,求出一共写了多少个零。解法:数位DP,定义dp[len][flag][num]:len的定义为数位的长度,flag定义为前导0和没有前导0的两种状态,num定义为写的满足条件的0的个数。
1 #include 2 #include 3 #include 4 #incl...
分类:
其他好文 时间:
2014-06-01 11:48:35
阅读次数:
167