题目:

题解:

题解如上图,至于计算大于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)的更多相关文章

  1. 刷题总结——road(ssoi)

    题目: 题目背景 SOURCE:NOIP2016-RZZ-1 题目描述 有 N 个城市,这些城市通过 M 条无向边互相连通,每条边有一个权值 Ci ,表示这条边的长度为 2^(Ci) ,没有两条边的长 ...

  2. 刷题总结——table(ssoi)

    题目: 题目背景 SOURCE:NOIP2016-RZZ-2 T2 题目描述 给定一个 n×m 的矩阵,行列均从 1 开始标号. 一个矩阵被认为是稳定的,当且仅当对于任意的 2≤i≤n,第 i 行的数 ...

  3. 刷题总结——shortest(ssoi)

    题目: 题目背景 SOURCE:NOIP2015-SHY-3 题目描述 给定一张 n 个点的有向带权完全图,和一个数组 a[] ,请按顺序删除数组中的点,请求出在删除点 a[i] 以前,所有未删除点对 ...

  4. 刷题总结——路径(ssoi)

    题目: 题目背景 CF 57D 题目描述 小美今天和她的好朋友在玩捉迷藏游戏.地图可以抽象成一张 n*m 的图,地图上有一些障碍.但这些障碍有一些性质:1:每个障碍周围 8 个格子是没有障碍的.2:每 ...

  5. 刷题总结——鸭舌(ssoi)

    题目: 题目背景 CF 77C 题目描述 小美喜欢吃鸭舌.有一个 n 个点的树,每个节点 i ,第 i 个点上有 ai 个鸭舌.小美一开始处于 x 号点.每次小美可以选择一个与现在的点有边的点而且那个 ...

  6. 刷题总结——电影(ssoi)

    题目: 题目背景 SOURCE:NOIP2014-SXYZ T2 题目描述 小美去看电影,发现这个电影票很神奇,有一个编号 (x,y) 表示为第 x 排第 y 位. 小美是个聪明的女孩子,她有自己的一 ...

  7. LeetCode刷题系列

    LeetCode 我们工作面试和提高自身数据结构和算法能力的时候往往需要刷刷题,我选择LeetCode是通过一个留学论坛了解的.专业,覆盖语种全面. 提前说说刷题的心得: 尽量手写代码,少使用IDE的 ...

  8. ife任务刷题总结(一)-css reset与清除浮动

    本文同时发布于本人的个人网站www.yaoxiaowen.com 百度创办的前端技术学院,是一个面向大学生的前端技术学习平台.虽然只有大学生才有资格报名,提交代码进行比赛排名.但是这并不妨碍我们这些初 ...

  9. 【BZOJ-4590】自动刷题机 二分 + 判定

    4590: [Shoi2015]自动刷题机 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 156  Solved: 63[Submit][Status ...

随机推荐

  1. IOS画线条

    - (void)drawRect:(CGRect)rect { // draw a rounded rect bezier path filled with blue CGContextRef aRe ...

  2. Grace Huang 2017/1/12

    原文 Huang doesn't think of acting as pretending to be someone else.Rather,she considers it an opportu ...

  3. 洛谷 P2068 统计和

    题目描述 给定一个长度为n(n<=100000),初始值都为0的序列,x(x<=10000)次的修改某些位置上的数字,每次加上一个数,然后提出y (y<=10000)个问题,求每段区 ...

  4. 最常见的 5 个导致节点重新启动、驱逐或 CRS 意外重启的问题 (文档 ID 1524455.1)

    适用于: Oracle Database - Enterprise Edition - 版本 10.1.0.2 到 11.2.0.3 [发行版 10.1 到 11.2]本文档所含信息适用于所有平台 用 ...

  5. PLSQL练习-数据共享与整合技术

    1.编写一个存储过程,根据输入的工作类型,输出该工作的平均工资. 命令如下: 创建存储过程: create or replace procedure avgsal(v_job in emp.job%t ...

  6. Django-C002-深入模型,到底有多深

    此文章完成度[100%]留着以后忘记的回顾.多写多练多思考,我会努力写出有意思的demo,如果知识点有错误.误导,欢迎大家在评论处写下你的感想或者纠错. ORM介绍:对象关系映射(英语:(Object ...

  7. github+hexo+themes搭建简易个性主题博客

    0x00  install Node.js and git 安装Node.js:http://www.runoob.com/nodejs/nodejs-install-setup.html 安装git ...

  8. Cscope的使用(领略Vim + Cscope的强大魅力)

    文章出处:http://blog.csdn.net/dengxiayehu/article/details/6330200 Cscope的使用(领略Vim + Cscope的强大魅力) 1.Cscop ...

  9. shell脚本,检查给出的字符串是否为回文

    [root@localhost wyb]# .sh #!/bin/bash #检查给出的字符串是否为回文 read -p "Please input a String:" numb ...

  10. Ubuntu中安装配置 JDK与apache

    一,前期准备: 1.下载apach网址:https://tomcat.apache.org/download-90.cgi 3.下载:jdk网址:http://www.oracle.com/techn ...