刷题总结——系列维护(ssoi)
题目:


题解:

题解如上图,至于计算大于s的数字的数量和小于s数字的和用权值线段树或者树状数组维护就行了···注意离散化
另外发现cout和puts比printf快好多·····
代码:
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<ctime>
#include<cctype>
#include<cstring>
#include<algorithm>
#include<string>
using namespace std;
const int N=1e6+;
int b[N*],cnt,len,que[N*];
struct node
{
long long sum;
int cnt;
}tree[N*];
struct node2
{
int op;
int a,b;
}q[N*];
int n,m;
char s[];
inline void lsh()
{
sort(b+,b+cnt+);
len=unique(b+,b+cnt+)-b-;
for(int i=;i<=m;i++)
q[i].b=lower_bound(b+,b+len+,q[i].b)-b;
}
inline int R()
{
int i=,f=;
char c;
for(c=getchar();(c<''||c>'');c=getchar());
for(;c>=''&&c<='';c=getchar())
f=(f<<)+(f<<)+c-'';
return f*i;
}
int lowbit(int i)
{
return i&(-i);
}
void insert(int x)
{
if(x==) return;
for(int i=x;i<=len;i+=lowbit(i))
{
tree[i].cnt++;
tree[i].sum=(long long)tree[i].sum+b[x];
}
}
void Delete(int x)
{
if(x==) return;
for(int i=x;i<=len;i+=lowbit(i))
{
tree[i].cnt--;
tree[i].sum=(long long)tree[i].sum-b[x];
}
}
int calccnt(int x)
{
if(x==) return ;
int temp=;
for(int i=x;i>=;i-=lowbit(i))
temp+=tree[i].cnt;
return temp;
}
long long calcsum(int x)
{
if(x==) return ;
long long temp=;
for(int i=x;i>=;i-=lowbit(i))
temp+=tree[i].sum;
return temp;
}
int main()
{
//freopen("t3.in","r",stdin);
//freopen("t3.out","w",stdout);
n=R(),m=R();
for(int i=;i<=m;i++)
{
scanf("%s",s);
if(s[]=='U')
q[i].op=;
else
q[i].op=;
q[i].a=R(),q[i].b=R();
b[++cnt]=q[i].b;
}
lsh();
for(int i=;i<=m;i++)
{
if(q[i].op==)
{
if(que[q[i].a]!=)
Delete(que[q[i].a]);
insert(q[i].b);
que[q[i].a]=q[i].b;
}
else
{
int cntt=calccnt(len)-calccnt(q[i].b-);
if(cntt>=q[i].a) puts("Yes");
else
{
long long sum=calcsum(q[i].b-);
if(sum>=(long long)(q[i].a-cntt)*b[q[i].b])
puts("Yes");
else
puts("No");
}
}
}
return ;
}
刷题总结——系列维护(ssoi)的更多相关文章
- 刷题总结——road(ssoi)
题目: 题目背景 SOURCE:NOIP2016-RZZ-1 题目描述 有 N 个城市,这些城市通过 M 条无向边互相连通,每条边有一个权值 Ci ,表示这条边的长度为 2^(Ci) ,没有两条边的长 ...
- 刷题总结——table(ssoi)
题目: 题目背景 SOURCE:NOIP2016-RZZ-2 T2 题目描述 给定一个 n×m 的矩阵,行列均从 1 开始标号. 一个矩阵被认为是稳定的,当且仅当对于任意的 2≤i≤n,第 i 行的数 ...
- 刷题总结——shortest(ssoi)
题目: 题目背景 SOURCE:NOIP2015-SHY-3 题目描述 给定一张 n 个点的有向带权完全图,和一个数组 a[] ,请按顺序删除数组中的点,请求出在删除点 a[i] 以前,所有未删除点对 ...
- 刷题总结——路径(ssoi)
题目: 题目背景 CF 57D 题目描述 小美今天和她的好朋友在玩捉迷藏游戏.地图可以抽象成一张 n*m 的图,地图上有一些障碍.但这些障碍有一些性质:1:每个障碍周围 8 个格子是没有障碍的.2:每 ...
- 刷题总结——鸭舌(ssoi)
题目: 题目背景 CF 77C 题目描述 小美喜欢吃鸭舌.有一个 n 个点的树,每个节点 i ,第 i 个点上有 ai 个鸭舌.小美一开始处于 x 号点.每次小美可以选择一个与现在的点有边的点而且那个 ...
- 刷题总结——电影(ssoi)
题目: 题目背景 SOURCE:NOIP2014-SXYZ T2 题目描述 小美去看电影,发现这个电影票很神奇,有一个编号 (x,y) 表示为第 x 排第 y 位. 小美是个聪明的女孩子,她有自己的一 ...
- LeetCode刷题系列
LeetCode 我们工作面试和提高自身数据结构和算法能力的时候往往需要刷刷题,我选择LeetCode是通过一个留学论坛了解的.专业,覆盖语种全面. 提前说说刷题的心得: 尽量手写代码,少使用IDE的 ...
- ife任务刷题总结(一)-css reset与清除浮动
本文同时发布于本人的个人网站www.yaoxiaowen.com 百度创办的前端技术学院,是一个面向大学生的前端技术学习平台.虽然只有大学生才有资格报名,提交代码进行比赛排名.但是这并不妨碍我们这些初 ...
- 【BZOJ-4590】自动刷题机 二分 + 判定
4590: [Shoi2015]自动刷题机 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 156 Solved: 63[Submit][Status ...
随机推荐
- An internal error occurred during: "Map/Reduce location status updater". java.lang.NullPointerException
eclipse配置hadoop 2.6 服务器做的虚拟机,因为window是的hadoop会出现意想不到的错误,因为,我做了ubuntu的虚拟机供我使用 在虚拟机中进行映射设置 在eclipse中dr ...
- Objective-C分类 (category)和扩展(Extension) 的区别
http://blog.csdn.net/yhawaii/article/details/6992094 http://blog.163.com/wangy_0223/blog/static/4501 ...
- 分布式文件系统ceph介绍
ceph哲学思想 1. 每个组件必须支持扩展 2.不存在单点故障 3.解决方案必须是基于软件的.开源的.适应能力强 4.任何可能的一切必须自我管理 存在的意义:帮助企业摆脱昂贵的专属硬件 ceph目标 ...
- 真爱 vs. 种姓:新一代印度人的婚恋观
今日导读 “自由恋爱”是所有世界上所有有情人共同的心愿,而在印度,因为其根深蒂固的种姓制度,仍然有大批情侣只能听从父母的“包办婚姻”,被迫与心爱的人分离.但是最新的一项调查表明,印度的年轻一代开始出现 ...
- myeclipse 导入项目时no projects are found to import解决办法
myeclipse 识别一个工程需要.classpath与.project文件,一般无需提交SVN所以项目切下来的时候是没有这两个文件的. 方法1: 1) 在myeclipse中新建一个和你要导入的项 ...
- iCheck获取单选和复选框的值和文本
//获取单选和复选框的值//parameters.type:"radio","checkbox"//parameters.name:input-name//pa ...
- git 的.gitignore
# vs code .vscode # Logs *.log #npm node_modules
- emoji等表情符号存mysql的方法
项目中需要存储用户信息(用户昵称有表情符号),自然就遇到了emoji等表情符号如何被mysql DB支持的问题 这里引用先行者博文:https://segmentfault.com/a/1190000 ...
- 对于Nginx+PHP实现大文件上传时候需要修改的参数
post_max_size表示POST表单提交的最大大小upload_max_filesize 表示文件上传的最大大小. 通常post_max_size设置的值必须必upload_max_filesi ...
- SQL 牛刀小试 1 —— 查询操作
#创建数据库create database ST CHARACTER set utf8;#创建用户create user ST identified by '19980510';#授权用户操作该数据库 ...