随笔分类 -  动态规划

摘要:贪心+优先队列#include <iostream> #include <cstdio> #include <vector> #include <queue> using namespace std; const int maxn=50; int h[maxn],n; int main() { int tot=0; while(cin>>n&&n) { tot++; int i; priority_queue<int> q1; priority_queue<int,vector<int>, 阅读全文
posted @ 2012-12-22 09:47 LJ_COME!!!!! 阅读(138) 评论(0) 推荐(0)
摘要:这道题让我新认识到的是,做dp题,不一定非得找到具体的某一个最优子结构,可以美剧所有可能子结构的最优解,通过比较得到结果。向此题,只要找到和子结构之间的关系,然后选取最大的,之前一直死去想最有子结构,后来看了黑书。发现lrj所说,只是去找子问题中的最优解。还有就是数据中有空字符串,要注意#include <iostream> #include <cstdio> #include <cstring> using namespace std; const int maxn=110; const int inf=1<<30; char s[maxn]; 阅读全文
posted @ 2012-11-26 20:03 LJ_COME!!!!! 阅读(144) 评论(0) 推荐(0)
摘要://读了半大天题终于发现就是LIS问题 #include <iostream> #include <cstdio> using namespace std; const int maxn=100000; const int inf=1<<30; int s[maxn],r[maxn],d[maxn],g[maxn]; int n; int low_bound(int x) { int high=n,low=0,mid; while(high-low>0) { mid=low+(high-low)/2; if(g[mid]>=x) high=mid 阅读全文
posted @ 2012-11-25 11:49 LJ_COME!!!!! 阅读(185) 评论(0) 推荐(0)
摘要:dp,LCS的应用//求出输入的字符串和他的回文串的LCS的长度l,用此字符串的长度n-l,即得结果 //还有存储的问题,如果用f[maxn][maxn]存储的话会超内存,可通过滚动数组优化 //因为求当前f[i][j]时可能会用到f[i-1][j-1],f[i-1][j],f[i][j-1],观察发现i,j //只用到当前的i,i-1,二者可用奇偶性区分,只需用一个f[i%2][j]就可表示,为什么 //不能用f[i][j%2]表示,可通过判定求当前的f[i][j%2]时,f[i-1][j%2]并不是f[i-1][j] //所以这样做是错误的,但前者却可以通过类似的方法判是正确的,所以只需f 阅读全文
posted @ 2012-11-24 10:28 LJ_COME!!!!! 阅读(143) 评论(0) 推荐(0)
摘要:dp ,经典LCS,你懂的,不解释//dp 经典的LCS问题。对于s1,s2,如果c(s1)=c(s2),则f(s1,s2)=f(s1-1,s2-1,)+1,如果c(s2)!=c(s1),则 //f(s1,s2)=max{f(s1-1,s2),f(s1,s2-1)},边界是f(s1,0)=0,f(0,s2)=0; #include <iostream> #include <cstdio> #include <cstring> using namespace std; const int maxn=1000; const int inf=1<<31 阅读全文
posted @ 2012-11-23 17:30 LJ_COME!!!!! 阅读(129) 评论(0) 推荐(0)
摘要:dp,详细说明在代码中//在最优解中,一个邮局肯定分管了一部分的村庄,那么通过枚举最后一个邮局所分管的范围,(由于坐标上的n个点, //离这N个点距离之和最短的点一定是这些点的个数的中位数,如果N为偶数,那么这个点一定在包含中位数的区间整个范围内 //包括边界点)通过最后一个邮局的分管范围可确定最后一个邮局的位置,并且可得最后一个邮局所分管的村庄到这个邮局的最短距离之和, //就可得到到状态转移方程: // f(i,j)=min{f(i,k-1)+sum(k,j)}(i=<k<=j),其中f(i,j)表示总共i个邮局分管村庄1——j,sum表示最后一个邮局的所分管范围 // 的距离 阅读全文
posted @ 2012-11-22 19:28 LJ_COME!!!!! 阅读(149) 评论(0) 推荐(0)