![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
业余刷题记录
wherewegogo
这个作者很懒,什么都没留下…
展开
-
hdu1257+1232+1213
hdu1257+1232+1213 1257是一个dp问题,1232和1213则是两个并查集问题 1257 由题意可知,如果第i发导弹之前的导弹中有高度比第i发导弹低的导弹,那么所需的拦截系统的个数就要加一。设dp[i]表示前i发导弹所需要的拦截系统的个数。 #include<cstdio> #include<algorithm> #include<iostream> #include<mem.h> #include<math.h> using n原创 2020-11-22 20:58:33 · 81 阅读 · 0 评论 -
hdu2602+2191+1864
hdu2602+2191+1864 这三道题依然是dp,需要注意的是开dp数组的大小,因为这个RE过; 2602 这是一道01背包模板题 #include<cstdio> #include<algorithm> #include<iostream> #include<mem.h> #include<math.h> using namespace std; int i,j,T,N,V,v[1005],w[1005],dp[1005]; int mai原创 2020-11-17 22:16:28 · 85 阅读 · 0 评论 -
hdu1171+1203+2546
hdu1171+1203+2546 这三题都是常规的dp,可以转化为经典的01背包问题,要注意的是为了防止内存超限,不能使用二维的dp数组,要用一维的。 1171 题目可以简单的描述为将组不同大小的数分成两堆,使两堆数的总和尽可能的接近,要注意每组数据之前要进行初始化,否则会WA step1:要将数据按照个数和大小统一存到一个一维数组中,统计总和sum step2:假设“背包”的容量为sum/2,进行01背包dp过程 #include<cstdio> #include<algorithm&原创 2020-11-16 21:10:28 · 69 阅读 · 0 评论