动态规划
dpdpd
我爱学习,学习爱我!
展开
-
poj3176Cow Bowling数塔——dp
Cow Bowling Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 16987 Accepted: 11323 DescriptionThe cows don’t use actual bowling balls when they go bowling. They each take a num原创 2016-07-07 19:18:10 · 264 阅读 · 0 评论 -
背包问题
。。。网上讲解挺详细的,但是都没有代码分析,我根据网上的分析,写了自己的代码,并加了注释 以后再看一遍可以更好理解一点#include<bits/stdc++.h> using namespace std; int dp[105][10005];//i代表i件物品(这i件物品有可能放进去了,有可能没放),j代表当前背包里放的物品的体积 //dp[i][j]表示的是当前最优解 int v[105原创 2016-07-30 21:20:51 · 245 阅读 · 0 评论 -
51nod1134最长递增子序列
http://blog.csdn.net/dongmianshu/article/details/5954992 这个博客的分析写的很详细;记下来也是一道基础的dp题,我好傻瓜>-<题目分析:用dp【i】表示所有i长的递增序列的集合中最后一个元素最小值。#include<bits/stdc++.h> using namespace std; int a[50005],dp[50005]; int原创 2016-08-02 21:02:33 · 264 阅读 · 0 评论 -
UVALive - 7484 Association for the Country of Mububa(dp)
题意就是给你一些数,将这些数划分成n个区间,使得后一个区间里数字的和大于等于前一个区间里数字的和,求n最大;#include<bits/stdc++.h> #include<string.h> #include<string> #include<cstring> #include<stdio.h> #include<set> #include<vector> #include<algorithm>原创 2016-08-09 20:28:48 · 639 阅读 · 0 评论 -
UVALive - 7303 Aquarium(最小生成树)
主要就是建图的思路,然后套用一个最小生成树的模板 建图的思路:将线段划分的区域用并查集合并,然后对每个不同祖先的区域加到最小生成树里#include<bits/stdc++.h> using namespace std; #define ll long long char s[105][105]; int v[105][105]; int fa[200001]; int cnt;//线段的个数原创 2016-08-10 20:27:22 · 313 阅读 · 0 评论 -
HDU 1024 Max Sum Plus Plus
题意:求m个不相交区间段的和的和的和最大 思路:动态规划 分析:dp[i][j]表示以a[j]结尾的i个区间段的和的最大和; 状态转移方程:dp[i][j]=max(dp[i][j-1]+a[j],dp[i-1][k]+a[j]) dp[i-1][k]=max(dp[i-1][i~n]) 即划分成i-1个区间分别以(a[i~n])为结尾中的最大值。(当划分成i个区间的时候前1-i个数字必定在原创 2017-02-16 10:55:32 · 241 阅读 · 0 评论