
动态规划DP
文章平均质量分 67
swust_wbh
这个作者很懒,什么都没留下…
展开
-
hdu 1226(背包问题解法)
对于每一位数,有m种选法,dp[i][j]代表到达第i位时,数对n取余为j时的属性,枚举选择的数时候从小到大保证答案是最小解。要特别注意存在0这个数的情况,特别容易出错。#include #include #include #include #include #include using namespace std;struct Dp{ int flag; int nu原创 2013-05-08 23:55:03 · 498 阅读 · 0 评论 -
hdu 4552(KMP+DP)
#include#include#includeusing namespace std;#define N 100005char str[N];int nex[N];int dp[N];int n;void getNext(char *p){ int j,k; nex[0]=-1; j=0; k=-1; int len=strlen(p);原创 2013-05-26 21:50:42 · 510 阅读 · 0 评论 -
HDU 3564(线段树+最长上升子序列)
这题的难点在于要倒着去遍历这个序列,求出最终的序列,然后就是求最长上升子序列了。要求最终的序列,那么维护一颗线段树,节点记录空位的数量cnt。线段树功能 query:单点更新#include#include#includeusing namespace std;#define lc l,m,index<<1#define rc m+1,r,index<<1|1#d原创 2013-05-13 21:25:17 · 805 阅读 · 0 评论 -
hdu 3555(数位dp)
#include#include#include#include#include#include#includeusing namespace std;#define N 25#define ll __int64ll dp[N][3];ll n;//dp[i][0] 含49的//dp[i][1] 不含49且最高位是9的//dp[i][2] 不含49且最高位不是9的原创 2014-04-22 11:15:11 · 469 阅读 · 0 评论 -
HDU 4507(数位dp)
#include#include#include#include#include#includeusing namespace std;#define MOD 1000000007#define ll __int64struct node{ ll cnt,sum,powsum;//个数,和,平方的和}dp[25][7][7];ll digit[25];ll p[25]原创 2014-04-28 19:11:21 · 618 阅读 · 0 评论