superoj738 诸葛亮
2015-10-08 20:27
141 查看
题目:
第一行包含一个整数 n,k。
接下来一行,包括 n 个整数,第 i 个数是 v[i]。
输出共 k 行,每行包括一个整数,第 i 行的数表示第 i 大的收益。
输入 [复制]
5 2
1 2 -1 -1 3
输出
4
3
【数据范围】
对于 10% 的数据,1≤n≤200。
对于 30% 的数据,1≤n≤2000。
对于 50% 的数据,1≤n≤100000,1≤k≤1000。
对于 100% 的数据,1≤n≤100000,1≤k≤n,-1000≤v[i]≤1000。
分析:
抓住性质收益为绝对值,这就好写了
随便求出前缀和,升序,降序sort,max-min一定是最优(因为是绝对值,顺序不重要)
然后用堆(queue) 采用先多加后少加 来去重添加入堆即可
输入格式
第一行包含一个整数 n,k。接下来一行,包括 n 个整数,第 i 个数是 v[i]。
输出格式
输出共 k 行,每行包括一个整数,第 i 行的数表示第 i 大的收益。
样例数据 1
输入 [复制]5 2
1 2 -1 -1 3
输出
4
3
备注
【数据范围】对于 10% 的数据,1≤n≤200。
对于 30% 的数据,1≤n≤2000。
对于 50% 的数据,1≤n≤100000,1≤k≤1000。
对于 100% 的数据,1≤n≤100000,1≤k≤n,-1000≤v[i]≤1000。
分析:
抓住性质收益为绝对值,这就好写了
随便求出前缀和,升序,降序sort,max-min一定是最优(因为是绝对值,顺序不重要)
然后用堆(queue) 采用先多加后少加 来去重添加入堆即可
#include<string> #include<cmath> #include<cstring> #include<iostream> #include<algorithm> #include<cstdio> #include<cstdlib> #include<queue> #include<vector> using namespace std; int hemin[100010]; int hemax[100010]; int a[100010]; int n,m; bool comp(const int &a,const int &b) { return a>b; } struct node { int a,b,c; bool operator < (const node &t)const { return c<t.c; } }; priority_queue <node> q; int main() { //freopen("zhugeliang.in","r",stdin); // freopen("zhugeliang.out","w",stdout); int i,j,k; scanf("%d%d",&n,&m); for(i=1;i<=n;i++) { scanf("%d",&a[i]); hemin[i]=hemin[i-1]+a[i]; hemax[i]=hemin[i]; } sort(hemin,hemin+1+n); sort(hemax,hemax+1+n,comp); j=0; k=0; //max node hehe,mn; for(i=0;i<=n;i++) { int dd=hemax[i]-hemin[0]; hehe.c=dd; hehe.a=i; hehe.b=0; q.push(hehe); } int aa,bb; for(i=1;i<=m;i++) { mn=q.top(); q.pop(); aa=mn.a; bb=mn.b; printf("%d\n",mn.c); int dd=hemax[mn.a]-hemin[mn.b+1]; hehe.c=dd; hehe.a=mn.a; hehe.b=mn.b+1; q.push(hehe); } return 0; }
相关文章推荐
- android 代码实现控件之间的间距
- [Android]在代码里运行另一个程序的方法
- 肯特·贝克:改变人生的代码整理魔法
- 网页恶意代码的预防
- 动易2006序列号破解算法公布
- 高手写的Tracer-Flash代码调试类代码下载
- CSS代码缩写技巧
- 非主流Q-zOne代码代码搜集第1/2页
- Ruby实现的矩阵连乘算法
- CreateWeb.vbs 代码
- C#插入法排序算法实例分析
- Lua中编译执行代码相关的函数详解
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- 更有效率的css代码编写第1/3页
- 代码中到底应不应当写注释?