摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4022STL应用,一开始用multimap写的,然后实现不了,于是就看了别人用map自定义了一个一对多。。。orz。。。剩下的就简单了。。分别用两个这样的map容器装下 x为键,y为值,和y为键,x为值的两个容器。 然后当C==0就输出当键位d的容器大小,并且去掉另一个容器中出现的点。同理C==1一样。View Code 1 #include<iostream> 2 #include<map> 3 #include<set> 4 const int N=10001 阅读全文
posted @ 2013-03-13 21:37 ihge2k 阅读(563) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1024学习了一下滚动数组,dp中经常卡内存,而利用滚动数组可以大大节省内存空间,不错哦。View Code 1 #include<iostream> 2 #include<cstring> 3 #include<algorithm> 4 const int N=1000010; 5 const int inf=1000000000; 6 using namespace std; 7 8 int a[N]; 9 int dp[N],pre[N];//dp[i][j] 阅读全文
posted @ 2013-03-13 10:03 ihge2k 阅读(855) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114思路:在背包九讲中有提到,如果是要恰好装满,那么这儿dp[]的初始化时应将dp[0]=0,由于这儿是求最小值,故应将dp[1]-dp[n]置为正无穷;若是求最大值,则置为负无穷;View Code 1 #include<iostream> 2 const int N=550; 3 const int inf=1000000000; 4 using namespace std; 5 6 struct Node{ 7 int value,weight; 8 }node[N]; 9 in 阅读全文
posted @ 2013-03-13 08:50 ihge2k 阅读(186) 评论(0) 推荐(0) 编辑