程序设计竞赛校初赛
来源:互联网 发布:java调用ie内核 编辑:程序博客网 时间:2024/05/21 01:56
为了使自己的球技不断提高,罗贝托必须每天训练。他手上有N份训练计划,每份训练计划正好会占用他一天的时间。罗贝托从第一天开始训练,他可以任意安排这些训练的顺序,第i份训练的能力提升为Pi,截止日期为Di。在截止日期后才完成的训练没有能力提升。请帮助罗贝托规划每天的训练,使他获得的能力值提升最大。Input
输入包含多组数据。对于每组数据:第一行: 单个整:N,1<=N<=10^5第二行到第N+1行:第i+1行有两个整数:Di和Pi,1<=Di<=10^9, 1<=Pi<=10^9Output
对于每组数据,输出一行,一个整数,表示能获得的最大的能力值。Sample Input
32 101 51 7102 995 294 828 723 868 243 697 443 792 19Sample Output
17515
#include<cstdio>//因为结果很大,得用long long 我一直用int ,wa了十几次。。。。。吐血#include<algorithm>#include<queue>using namespace std;#define MAX 100000+16struct node{ int d,p;}t[MAX];bool cmp(const node &a,const node &b){return a.d<b.d;}int main(void){ int n,i,front,k,ans; long long res;priority_queue<int>que;while(~scanf("%d",&n)){front=0,res=0;for(i=0;i<n;i++){scanf("%d%d",&t[i].d,&t[i].p);}sort(t,t+n,cmp);if(n==1){printf("%d\n",t[0].p);continue; }front=n-1;for(k=front;k>=0;k--){if(k-1>=0){if(t[k].d==t[k-1].d){ que.push(t[k].p);}else{ que.push(t[k].p); ans=t[k].d-t[k-1].d; while(ans&&!que.empty()){ res+=que.top(); que.pop(); ans--;} }} else{ ans=t[0].d;que.push(t[0].p); while(ans&&!que.empty()){res+=que.top();que.pop();ans--;}}}while(!que.empty())que.pop();printf("%lld\n",res);}return 0;}
Description
景观水道是江安一道非常靓丽的风景,一共有L mathons(这是Mathon发明的长度单位)长,每隔一mathon都有一颗银杏树即0, 1, 2, …, L都有一棵银杏树。Mathon非常喜欢景观水道,时常会来景观水道走走。昨晚成都狂风大作,大雨倾盆,据说景观水道不少区域里所有的树都被连根拔起。Mathon知道后感到非常伤心,他想知道这场大风过后还剩下多少银杏树,你能帮帮他么。Input
输入包含多组数据。第一行为测试数据的组数 T <=10接下来有T组数据,每组数据的第一行为1<=L<=10000 和 1<=M<=100 ,L表示景观水道的长度,M表示区域的数目。 接下来的M行每行包含两个不同的整数0<=l<=r<=L表示区域的范围[l, r],不同的区域可能有重合的部分。Output
每组数据输出一行,输出大风过后景观水道还剩下多少银杏树。Sample Input
1500 3150 300100 200470 471Sample Output
298
#include<iostream>#include<cstring>#include<cstdio> using namespace std;int main(){int T,s[20000+16],vis[20000+16],L,M,i,l,r;long long res=0; scanf("%d",&T);while(T--){memset(vis,0,sizeof(vis));memset(s,0,sizeof(s)); scanf("%d%d",&L,&M);for(i=0;i<M;i++){scanf("%d%d",&l,&r);vis[l]++;vis[r+1]--;}res=0;s[0]=vis[0];for(i=1;i<=L;i++) s[i]=s[i-1]+vis[i];for(i=0;i<=L;i++)if(!s[i])res++;printf("%lld\n",res);}}
0 0
- 程序设计竞赛校初赛
- AOJ第九届程序设计竞赛初赛
- 武汉大学第六届Eming杯程序设计竞赛初赛
- 第三届H-star 程序设计竞赛初赛题解
- 哈尔滨理工大学第七届程序设计竞赛初赛 题集
- 哈尔滨理工大学第七届程序设计竞赛初赛(低年级组)
- 国防科学技术大学第十八届银河之光文化节ACM程序设计竞赛初赛第三场 赛后小结
- 第十二届北航程序设计竞赛初赛——勾肥大战题解
- 哈尔滨理工大学第七届程序设计竞赛初赛(高年级组)题解
- 哈尔滨理工大学第七届程序设计竞赛初赛(高年级组)G 逃脱【BFS】
- 哈尔滨理工大学第七届程序设计竞赛初赛(高年级组)I 旅行【枚举+spfa】
- 哈尔滨理工大学第七届程序设计竞赛初赛(高年级组)A 凌波微步【!LIS】
- 哈尔滨理工大学第七届程序设计竞赛初赛(高年级组)B、C【water】
- 程序设计竞赛
- 国防科学技术大学第十八届银河之光文化节ACM程序设计竞赛初赛第三场 E题补充题解
- 【哈尔滨理工大学第七届程序设计竞赛初赛(低年级组)】A B C D E F H I
- 【哈尔滨理工大学第七届程序设计竞赛初赛(高年级组)】 A B C D F G H I
- 哈尔滨理工大学第七届程序设计竞赛初赛(高年级组)F 苦逼的单身狗【DP】
- python简单爬虫
- DOM节点的删除
- 各种常用排序算法的时间复杂度和空间复杂度
- yuv文件进行下采用和插值
- CAAnimation,iOS动画,核心动画,CAAnimation动画
- 程序设计竞赛校初赛
- 树的同构
- NDK开发第一课:了解AndroidStudio2.2+全新的NDK开发方式及与传统方式开发的区别
- 2017华为软件精英挑战赛解法思路
- 反向代理服务器的工作原理
- 文章标题
- 浅析user用户态程序如何访问kernel空间的物理内存DDR和物理寄存器
- 怎么使用扩展分区向导来扩大C盘
- java学习笔记(九)方法与数组