JZOJ 4815 【NOIP2016提高A组五校联考4】ksum
来源:互联网 发布:雅可比矩阵的逆矩阵 编辑:程序博客网 时间:2024/05/22 03:23
ksum
题目大意
给出一个长度为n 的数组,现在
求前k 大的数。
数据范围
题解
我们将所有的数按照其对应区间的左端点来分类,那么一共会分成n类。
维护一个大小为
一开始将区间[
Code(Pascal)
var d:array[0..200100,1..3] of int64; n,j,k,l,i,m:longint; o:int64; s:array[0..120000] of int64;procedure up(o:longint); var y:longint; begin while (o>1) and (d[o,1]>d[o div 2,1]) do begin y:=o div 2; d[0]:=d[o]; d[o]:=d[y]; d[y]:=d[0]; o:=y; end; end;procedure down(o:longint); var y:longint; begin while ((o*2<=n) and (d[o*2,1]>d[o,1])) or ((o*2+1<=n) and (d[o*2+1,1]>d[o,1])) do begin y:=o*2; if (o*2+1<=n) and (d[o*2+1,1]>d[o*2,1]) then inc(y); d[0]:=d[y]; d[y]:=d[o]; d[o]:=d[0]; o:=y; end; end;begin readln(n,k); for i:=1 to n do read(s[i]); for i:=n downto 1 do begin o:=o+s[i]; inc(m); d[m,1]:=o; d[m,2]:=i; d[m,3]:=n; up(m); end; for i:=1 to k do begin write(d[1,1],' '); d[1,1]:=d[1,1]-s[d[1,3]]; if d[1,1]=d[1,3] then begin d[1,1]:=-1; d[1,2]:=-1; d[1,3]:=-1; end else dec(d[1,3]); down(1); end;end.
3 0
- [JZOJ 4815]【NOIP2016提高A组五校联考4】ksum
- JZOJ 4815 【NOIP2016提高A组五校联考4】ksum
- JZOJ 4815. 【NOIP2016提高A组五校联考4】ksum
- 【NOIP2016提高A组五校联考4】ksum
- 【NOIP2016提高A组五校联考4】ksum
- ksum 【NOIP2016提高A组五校联考4】
- 【NOIP2016提高A组五校联考4】ksum
- 【JZOJ4815】【NOIP2016提高A组五校联考4】ksum
- JZOJ 4816 【NOIP2016提高A组五校联考4】label
- JZOJ 4817 【NOIP2016提高A组五校联考4】square
- JZOJ 4817. 【NOIP2016提高A组五校联考4】square
- JZOJ 4816. 【NOIP2016提高A组五校联考4】label
- JZOJ【4817】. 【NOIP2016提高A组五校联考4】square
- 16.10.7 A:4815. 【NOIP2016提高A组五校联考4】ksum
- jzoj 4811. 【NOIP2016提高A组五校联考1】排队
- JZOJ 4809 【NOIP2016提高A组五校联考1】挖金矿
- JZOJ 4810 【NOIP2016提高A组五校联考1】道路规划
- JZOJ 4811 【NOIP2016提高A组五校联考1】排队
- 2016/10/08 TCL技术笔试题目
- 关于进程管理方面的问题
- linux oracle 启动
- 【洛谷P3147 】【USACO2016OPEN】262144
- 装载问题
- JZOJ 4815 【NOIP2016提高A组五校联考4】ksum
- 阶段总结
- 网页简介
- IP协议RFC 791
- Linux 平台一种进程代码注入方法
- android 向内存中 读写 文件数据 》》》java基础---- 文件输入流,文件输出流
- 2131数据结构实验之栈一:进制转换
- python日常练习爬取5imm图片
- Java-工厂设计模式-学习实例