![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM
文章平均质量分 55
沉碎的小五狼
这个作者很懒,什么都没留下…
展开
-
最长上升子序列(LIS)
O(n^2)算法:#include #include using namespace std; #define INF 0x3f3f3f3f #define N 1005 int a[N],g[N]; int main() { int n,i,ans=0,L,R,mid; scanf("%d",&n); for(i=1;i<=n;i++) {原创 2012-08-22 02:16:28 · 614 阅读 · 0 评论 -
FZU 1001 Duplicate Pair
Time Limit: 1000 mSec Memory Limit : 65536 KB Problem Description An array of length n, with address from 1 to n inclusive, contains entries from the set {1,2,...,n-1} and there's exactly two elemen原创 2013-04-19 01:36:42 · 818 阅读 · 0 评论 -
HDU 2602 Bone Collector (0-1背包)
方法一: 时间N*V 空间N*V 内存开销大 #include using namespace std; #define N 1005 #define V 1005 int T,n,v; int c[N],w[N],dp[N][V]; int main() { scanf("%d",&T); while(T--) { scanf("%d%d",&n原创 2013-04-19 22:00:50 · 484 阅读 · 0 评论 -
HDU 1114 Piggy-Bank (完全背包)
完全背包是0-1背包的拓展。 方法一:内存空间开销大 #include #include using namespace std; #define INF 0X3F3F3F3F int T,E,F,R,N,dp[505][10005]; struct Pt{ int p; int w; }P[505]; int main() { scanf("%d",&T);原创 2013-04-20 16:30:09 · 606 阅读 · 0 评论 -
HDU 1159 Common Subsequence (动态规划LCS)
LCS 最长公共子序列的运用。 LCS 重点就是理解状态转移方程:对于每一次,都有 dp[i][j] = Max ( dp[i-1][j-1] + match(s1[i],s2[j]), dp[i-1][j], dp[i][j-1] ); i为字符串s1遍历的当前位置,j为字符串s2遍历的当前位置。 dp[i][j]表示,字符串s1到第i个,字符串s2到第j个时,当原创 2013-04-20 23:50:34 · 531 阅读 · 0 评论 -
FZU 2030 括号问题
用动态规划的方法 解题思路:用一个二维数组dp[][],dp[i][j]表示遍历到第i+1个字符时,有j个未匹配的‘(’的方案有多少种。 所以,当s[i]=’(‘时,当前有j个未匹配的‘(’的方案数 == 还没遍历这个字符时的j-1个未匹配的‘(’方案数。 即,dp[i][j] = dp[i-1][j-1]。 当s[i]=’)‘时,当前有j个未匹配的‘(’的方案数原创 2013-04-21 11:33:53 · 731 阅读 · 0 评论