随笔分类 -  ACM —— 动态规划

hdoj 2844 Coins
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2844解题思路:背包 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: hdoj 2844 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #include 8 #... 阅读全文

posted @ 2013-09-16 00:25 SCNU20102200088 阅读(174) 评论(0) 推荐(0)

hdoj 1203 I NEED A OFFER!
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1203解题思路:01背包 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: hdoj 1203 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #include 8... 阅读全文

posted @ 2013-09-14 10:22 SCNU20102200088 阅读(181) 评论(0) 推荐(0)

hdoj 2546 饭卡
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2546解题思路:贪心+01背包 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: hdoj 2546 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #... 阅读全文

posted @ 2013-09-14 00:55 SCNU20102200088 阅读(193) 评论(0) 推荐(0)

hdoj 2602 Bone Collector
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602解题思路:01背包 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: hdoj 2602 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #include 8... 阅读全文

posted @ 2013-09-13 19:49 SCNU20102200088 阅读(138) 评论(0) 推荐(0)

poj 1631 Bridging signals
摘要:题目链接:http://poj.org/problem?id=1631题目大意:求最长上升子序列的长度解题思路:dp+二分搜索,时间复杂度为 O(n·logn). 直接 dp时间复杂度 O(n2), 会 TLE. 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 1631 3 //user_id: SCNU20102200088 4 ////////////////////////////////////////////////////// 阅读全文

posted @ 2013-08-24 19:50 SCNU20102200088 阅读(119) 评论(0) 推荐(0)

poj 2533 Longest Ordered Subsequence
摘要:题目链接:http://poj.org/problem?id=2533题目大意:求最长上升子序列的长度解题思路:简单 dp, 时间复杂度 O(n2), 另有时间复杂度为 O(n·logn) 的算法,读者可自行思考。 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 2533 3 //user_id: SCNU20102200088 4 ///////////////////////////////////////////////////// 阅读全文

posted @ 2013-08-24 16:54 SCNU20102200088 阅读(137) 评论(0) 推荐(0)

poj 1887 Testing the CATCHER
摘要:题目链接:http://poj.org/problem?id=1887题目大意:求最长非增子序列的长度解题思路:简单 dp, 时间复杂度 O(n2), 另有时间复杂度为 O(n·logn) 的算法,读者可自行思考。 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 1887 3 //user_id: SCNU20102200088 4 ///////////////////////////////////////////////////// 阅读全文

posted @ 2013-08-24 16:40 SCNU20102200088 阅读(145) 评论(0) 推荐(0)

poj 1088 滑雪
摘要:题目链接:http://poj.org/problem?id=1088解题思路:贪心+简单dp 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 1088 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #include 8 #include 9 #... 阅读全文

posted @ 2013-08-24 11:23 SCNU20102200088 阅读(138) 评论(0) 推荐(0)

poj 1014 Dividing
摘要:题目链接:http://poj.org/problem?id=1014解题思路:简单dp 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 1014 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #include 8 #include 9 #inc... 阅读全文

posted @ 2013-08-24 10:43 SCNU20102200088 阅读(172) 评论(0) 推荐(0)

poj 1159 Palindrome
摘要:题目链接:http://poj.org/problem?id=1159题目大意:给一个字符串,求这个字符串最少增加几个字符能变成回文。解题思路:求该字符串与其反串的最长公共子序列(一定是回文)的长度,则所求为:该字符串的长度 - 最长公共子序列的长度。 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 1159 3 //user_id: SCNU20102200088 4 /////////////////////////////////////// 阅读全文

posted @ 2013-08-20 10:25 SCNU20102200088 阅读(132) 评论(0) 推荐(0)

poj 2250 Compromise
摘要:题目链接:http://poj.org/problem?id=2250题目大意:求两段文字的最长公共字串(有多组解时输出任意一种都行)解题思路:简单dp+搜索 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 2250 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6... 阅读全文

posted @ 2013-08-20 00:06 SCNU20102200088 阅读(142) 评论(0) 推荐(0)

poj 1458 Common Subsequence
摘要:题目链接:http://poj.org/problem?id=1458题目大意:求两个字符串的公共子序列的最长长度解题思路:简单dp 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 1458 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #inclu.. 阅读全文

posted @ 2013-08-19 20:34 SCNU20102200088 阅读(148) 评论(0) 推荐(0)

poj 1953 World Cup Noise
摘要:题目链接:http://poj.org/problem?id=1953题目大意:给定一个小于 45 的整数 n, 求 n 位 2 进制数中不含相邻 1 的数的个数。解题思路:记n 位 2 进制数中不含相邻 1 的数的个数为 F[n], 以其最后一位的数字进行分类处理:① 最后一位为 0, 则前 n-1 个数字只要合法就满足条件,此时有 F[n-1] 种。② 最后一位为 1, 则倒数第二位必须为 0, 其前 n-2 个数字只要合法就满足条件,此时有 F[n-2] 种。所以,F[n]=F[n-1]+F[n-2] (n≥3), 容易求得 F[1]=2, F[2]=3. (由于 F[44] 在 int 阅读全文

posted @ 2013-08-19 11:15 SCNU20102200088 阅读(270) 评论(0) 推荐(1)

poj 2081 Recaman's Sequence
摘要:题目链接:http://poj.org/problem?id=2081解题思路:简单dp 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 2081 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #include 8 #include 9 #inc... 阅读全文

posted @ 2013-08-19 10:39 SCNU20102200088 阅读(119) 评论(0) 推荐(0)

poj 1579 Function Run Fun
摘要:题目链接:http://poj.org/problem?id=1579解题思路:简单dp 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 1579 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #include 8 #include 9 #inc... 阅读全文

posted @ 2013-08-19 10:06 SCNU20102200088 阅读(120) 评论(0) 推荐(0)

hdoj 3664 Permutation Counting
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3664解题思路:将i 加入到已有的有 i-1 个数的排列中的方法有以下三种:①把 i 放最后,加入后 E 值不变②把 i 和一个满足 a[k]>k 的数交换,交换后 E 值不变③把 i 和一个不满足 a[k]>k 的数交换,交换后 E 值加一记 i 个数的排列中 E 值为 j 的个数为dp[i][j], 则dp[i][j]=dp[i-1][j]+dp[i-1][j]*j+dp[i-1][j-1]*(i-j). 1 ///////////////////////////////////// 阅读全文

posted @ 2013-08-18 10:08 SCNU20102200088 阅读(183) 评论(0) 推荐(0)

hdoj 1176 免费馅饼
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1176解题思路:核心为 dp[x][T]=dp[x][T]+max(dp[x-1][T+1],dp[x][T+1],dp[x+1][T+1]), 其中 1≤x≤11, 0≤T 2 #include 3 using namespace std; 4 5 int dp[15][100005]; 6 7 int max(int x,int y,int z){ 8 if(y>x) x=y; 9 if(z>x) x=z;10 return x;11 }12 13 int main(... 阅读全文

posted @ 2013-06-28 13:21 SCNU20102200088 阅读(198) 评论(0) 推荐(0)

poj 1163 The Triangle
摘要:题目链接:http://poj.org/problem?id=1163解题思路:核心为 a[i-1][j]=a[i-1][j]+max(a[i][j],a[i][j+1]), 其中 1 2 using namespace std; 3 4 int main(){ 5 int n,i,j,a[101][101]; 6 cin>>n; 7 for(i=1;i>a[i][j]; 9 }10 for(i=n;i>1;i--){11 for(j=1;ja[i][j+1]? a[i][j]:a[i][j+1]);13 }14 ... 阅读全文

posted @ 2013-06-18 23:27 SCNU20102200088 阅读(231) 评论(0) 推荐(0)

导航