随笔分类 - GREEDY
Greedy
摘要:Problem: http://acm.hdu.edu.cn/showproblem.php?pid=1257依次拦截导弹,如果当前存在的拦截系统无法拦截该导弹,增加一个拦截系统否则将当前拦截系统中 不小于该导弹高度的 最小高度的拦截系统的高度设置为该导弹的高度#includeint n,a,lj[10000]={0},ans;void work(){ int L=1,R=ans; while(Llj[ans])lj[++ans]=a;//增加一个新的拦截系统 else work(); } printf("%d\n",ans); ...
阅读全文
摘要:Problem: http://acm.hdu.edu.cn/showproblem.php?pid=1257因为导弹是依次发射的没发改变其发射循序直接贪心就好,每套拦截系统按循序拦截可拦截的导弹剩下未被拦截的导弹就形成了一个新的导弹发射序列#includeint main(){ int n,a[10000];//导弹高度 bool f[10000];//导弹是否被拦截 while(scanf("%d",&n)!=EOF){ for(int i=0;i<n;i++){ scanf("%d",&a[i]); f[i]...
阅读全文
摘要:Problem: http://acm.hdu.edu.cn/showproblem.php?pid=4221对所有任务按截止时间从小到大排序然后一次计算每个任务完成的时间 和超过截止的时间 取最大值#include#includeusing namespace std;#define MAXN 100010struct Task{ int c,d;}w[MAXN];bool cmp(Task a,Task b){ return a.d<b.d;}int main(){ int t,n; scanf("%d",&t); for(int k=1;k<=t;
阅读全文

浙公网安备 33010602011771号