博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
4405: 招生
阅读量:4570 次
发布时间:2019-06-08

本文共 898 字,大约阅读时间需要 2 分钟。

链接

[]

题意

浙江理工大学招生,一开始有0名学生报考,现在有如下几种情况;

1.增加一名报考学生,报考学生成绩为x;

2.一名成绩为x的学生放弃报考。

3.从现在报考的学生来看,老师想知道如果要招生至少x名学生,需要将分数线最高设置为多少;

4.从现在报考的学生来看,如果分数线设置为x,能有几名学生被录取。

第一行先输入一个n,表示有n次操作或查询;

接下来n行,每行输入两个整数opt和x(用空格隔开):

如果opt为1,则增加一名报考学生,报考学生成绩为x;

如果opt为2,则表示一名成绩为x的学生放弃报考。

如果opt为3,从现在报考的学生来看,老师想知道如果要招生至少x名学生,需要将分数线最高设置为多少,输出最高分数线。

如果opt为4,从现在报考的学生来看,如果分数线设置为x,能有几名学生被录取,输出录取人数。

对于每个输出占一行。

n不超过50000;0<=x<=1000000;1<=k<=现在的学生数。

Input

第一行输入一个n,接下来n行,每行输出两个整数opt,x,用空格隔开

Output

对于每次输出, 输出一个整数占一行

Sample Input

18
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
2 8
3 2
3 3
3 4
3 5
4 8
4 9
4 7
Sample Output
11
10
9
7
4
4
5

分析

树状数组 思路转换

代码

#include
#include
using namespace std;const int N=1e6+50;int c[N];//c[N]覆盖的子节点(子节点代表的是分数)的人数void add(int x,int value){ while(x
-1;i--)//1<<20=1048576 > 1e6 if(x>=c[pos+(1<

转载于:https://www.cnblogs.com/mch5201314/p/9922245.html

你可能感兴趣的文章
java方法重载例题_Java方法重载实现原理及代码实例
查看>>
java 字符串 包含 次数_用JAVA写查询一个字符串中是否包含另外一个字符串以及出现的次数...
查看>>
java jvm arg_java – Ant,jvmarg,系统属性和引号
查看>>
karp算法Java_Java – 具有Held和Karp算法的旅行推销员
查看>>
Session共享问题---理论
查看>>
Redis键的基本操作
查看>>
redis的安装---Linux
查看>>
Redis过期命令
查看>>
Redis键的序列化和反序列化
查看>>
启动程序添加启动脚本
查看>>
CF1194E Count The Rectangles
查看>>
Gym100212C Order-Preserving Codes
查看>>
ARC076F Exhausted
查看>>
TC1570 DesertWind
查看>>
CF277D Google Code Jam
查看>>
(七)unittest单元测试框架
查看>>
(八) 自动化测试的实例(以浏览器为例)
查看>>
js获取单选框和复选框的值并判断值存在后允许转跳
查看>>
任务一:零基础HTML编码
查看>>
C#类和结构以及堆和栈大烩菜(本来就迷,那就让暴风来的更猛烈吧!)
查看>>