
DP
文章平均质量分 64
qq_33312212
这个作者很懒,什么都没留下…
展开
-
poj1836
#include #include #include #include #include using namespace std;float a[1001];int n,d_up[1001],d_down[1001];int solve(){ for(int i=1;i<=n;++i) { d_up[i]=1; d_down[i原创 2016-08-29 13:34:30 · 340 阅读 · 0 评论 -
poj3249
WA了别看了 我就留个纪念 以后再看#include #include #include #include #include using namespace std;int n,m,a[100001],d[100001];bool cc[100001];vector b[100001];int solve(int i){ if(d[i] != INT原创 2016-08-23 17:31:28 · 502 阅读 · 0 评论 -
poj1088
羞耻的wa了很多次 因为 没读好题 让求的是经过 的 点 的个数的最大值 我一直算的 起点 终点 差值最大值 受教了。。#include #include #include #include using namespace std;int a[101][101],dp[101][101],visi[101][101],c,r;int solve(int i,int j)原创 2016-09-02 11:11:34 · 240 阅读 · 0 评论 -
poj1050
最大子矩阵遍历 每一行 以低为界遍历 改行与界之间的每一行每一行 到 该行之间的每一列 分别相加 成为一个数组 求数组最大连续子序列#include#include#include #include using namespace std;int a[101][101],n,b[101],maxn;int get_max(int *bb,int nn){原创 2016-09-02 09:40:04 · 188 阅读 · 0 评论 -
nyoj16 矩形嵌套
刘nu佳大法好#include #include #include #include struct node{ int x,y; node():x(-1),y(-1){}};using namespace std;int b[1001][1001],d[1001],n;node a[1001];int MAX(int x,int y){ ret原创 2016-08-22 13:45:58 · 227 阅读 · 0 评论 -
poj1949 DAG 最长路
之前学了 最长路 写了 嵌套矩形 今天想照搬 但是不对 1 已经拓扑排序了 起点就是0 想遍历 居然还是从1开始了 傻,2 建图没把0和1的有向边加进去#include #include #include #include #include using namespace std;int a[10001],d[10001],n;vector b[10001];int MAX(原创 2016-08-23 12:33:26 · 252 阅读 · 0 评论 -
入门经典--硬币问题dp递归加递推
#include #include #include using namespace std;int v[101],s,n,mini[10001],maxn[10001],visi[10001];int MAX(int a,int b){ return a>b?a:b;}int MINI(int a,int b){ return a<b?a:b;}int原创 2016-08-22 17:59:52 · 1259 阅读 · 0 评论 -
poj 2385
1 从零开始dp2 每一个dp的单元 要有逻辑 先根据当前状态处理dp的值 或赋值 或为初始值 再进行转移(这一步正确的前提 是从0开始)#include #include #include #include using namespace std;int a[1001],t,dp[1001][31],w;int solve(int i,int j){ if(d原创 2016-08-31 22:01:16 · 199 阅读 · 0 评论 -
poj1083
看了别人思路后写的#include #include int a[201];int ac(){ int n,i,j,ans=0; memset(a,0,sizeof(a)); scanf("%d",&n); for(i=0;i<n;++i) { int r1,r2; scanf("%d %d",&r1,&r2);原创 2016-08-09 12:42:09 · 151 阅读 · 0 评论 -
poj1252
#include #include #include #include using namespace std;int maxn,dp[2001],v[7];float aver;void solve(){ aver=0; maxn=INT_MIN; for(int i=1;i<=2000;++i) dp[i]=1<<30; for(i原创 2016-08-30 10:59:44 · 366 阅读 · 0 评论 -
poj1159
short int#include #include #include #include #include using namespace std;char a[5001],b[5001];short int dp[5001][5001];int n;int solve(){ memset(dp,0,sizeof(dp)); for(int i=n-1,原创 2016-08-29 17:19:19 · 395 阅读 · 0 评论 -
poj1458
#include #include #include #include #include using namespace std;char a[1000],b[1000];int dp[1000][1000];int solve(){ memset(dp,0,sizeof(dp)); int i,j; for(i=0;*(a+i)!='\0';++i)原创 2016-08-29 16:31:06 · 363 阅读 · 0 评论 -
poj1384
#include #include #include using namespace std;int v[501],w[501],d[10001],n;bool visi[10001];int solve(int s){ if(visi[s]) return d[s]; visi[s] = true; for(int i=1;i<=n;++原创 2016-08-25 15:35:30 · 203 阅读 · 0 评论