题目


分析

考虑\(\geq s\)的部分最多取到\(s\),

设\(<s\)的总和为\(p\),个数为\(t\),

那么\(p+(n-t)*s\geq c*s\)就一定能取到


代码

#include <cstdio>
#include <cctype>
#include <algorithm>
#define rr register
using namespace std;
const int N=1000011;
struct rec{int x,y,z;}q[N];
typedef long long lll;
int n,m,b[N],a[N],tot;
inline signed iut(){
rr int ans=0; rr char c=getchar();
while (!isdigit(c)) c=getchar();
while (isdigit(c)) ans=(ans<<3)+(ans<<1)+(c^48),c=getchar();
return ans;
}
struct Tree_Array{
lll c[N];
inline void update(int x,int y){
for (;x<=tot;x+=-x&x) c[x]+=y;
}
inline lll query(int x){
rr lll ans=0;
for (;x;x-=-x&x) ans+=c[x];
return ans;
}
}cw,ct;
signed main(){
n=iut(),m=iut(),b[m+1]=0;
for (rr int i=1;i<=m;++i){
rr char c=getchar();
while (!isalpha(c)) c=getchar();
q[i]=(rec){iut(),iut(),c=='U'};
b[i]=q[i].y;
}
for (rr int i=1;i<=n;++i) a[i]=1;
sort(b+1,b+2+m),tot=unique(b+1,b+2+m)-b-1,ct.update(1,n);
for (rr int i=1;i<=m;++i) q[i].y=lower_bound(b+1,b+1+tot,q[i].y)-b;
for (rr int i=1;i<=m;++i)
if (q[i].z){
rr int t1=a[q[i].x],t2=q[i].y;
cw.update(t1,-b[t1]),ct.update(t1,-1),
cw.update(t2,b[t2]),ct.update(t2,1);
a[q[i].x]=q[i].y;
}else{
rr lll W=cw.query(q[i].y-1),C=n-ct.query(q[i].y-1);
puts((q[i].x-C)*b[q[i].y]<=W?"TAK":"NIE");
}
return 0;
}

#树状数组,离散#洛谷 3586 [POI2015]LOG的更多相关文章

  1. 树状数组【洛谷P3586】 [POI2015]LOG

    P3586 [POI2015]LOG 维护一个长度为n的序列,一开始都是0,支持以下两种操作:1.U k a 将序列中第k个数修改为a.2.Z c s 在这个序列上,每次选出c个正数,并将它们都减去1 ...

  2. 模板:二维树状数组 【洛谷P4054】 [JSOI2009]计数问题

    P4054 [JSOI2009]计数问题 题目描述 一个n*m的方格,初始时每个格子有一个整数权值.接下来每次有2种操作: 改变一个格子的权值: 求一个子矩阵中某种特定权值出现的个数. 输入输出格式 ...

  3. 【BZOJ】1818: [Cqoi2010]内部白点(树状数组+离散+特殊的技巧)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1818 这一题一开始我就看错了,bzoj的那个绝对值109简直坑人,应该是10^9,我直接写了个暴力. ...

  4. bzoj 5055: 膜法师 树状数组+离散

    先枚举每一个数,看它前面有几个比它小,算一下和为sum1,后面有几个比它大,算一下和为sum2,对答案的贡献为A[i]*sum1*sum2. 离散化后,树状数组就可以了. 就是倒着一边,顺着一边,统计 ...

  5. HDU-4605 Magic Ball Game 树状数组+离散+dfs

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4605 题意:给一颗树,每个节点有个权值w[u],每个节点只有两个儿子或者没有儿子,从根节点放下一个小球 ...

  6. LightOJ 1085 - All Possible Increasing Subsequences 树状数组+离散

    http://www.lightoj.com/volume_showproblem.php?problem=1085 题意:求一个序列的递增子序列个数. 思路:找规律可以发现,某个数作为末尾数的种类数 ...

  7. 洛谷 P3586 [POI2015]LOG

    P3586 [POI2015]LOG 题目描述 维护一个长度为n的序列,一开始都是0,支持以下两种操作:1.U k a 将序列中第k个数修改为a.2.Z c s 在这个序列上,每次选出c个正数,并将它 ...

  8. 洛谷P3586 [POI2015]LOG(贪心 权值线段树)

    题意 题目链接 Sol 显然整个序列的形态对询问没什么影响 设权值\(>=s\)的有\(k\)个. 我们可以让这些数每次都被选择 那么剩下的数,假设值为\(a_i\)次,则可以\(a_i\)次被 ...

  9. hdu_5877_Weak Pair(离散+DFS+树状数组)

    题目链接:hdu_5877_Weak Pair 题意: 给你一棵树,让你找有多少对满足那两个条件的weak pair 题解: 有人用Treap,我不会,然后我用树状数组+离散来替代Treap,用DFS ...

  10. BZOJ.4826.[AHOI/HNOI2017]影魔(树状数组/莫队 单调栈)

    BZOJ LOJ 洛谷 之前看\(mjt\)用莫队写了,以为是一种正解,码了3h结果在LOJ T了没A= = 心态爆炸(upd:发现是用C++11(NOI)交的,用C++11交就快一倍了...) 深刻 ...

随机推荐

  1. 项目实战:Qt+OpenCV图像处理与识别算法平台

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

  2. 【C# .Net】List循环add,出现数据相同现象? 引发对引用类型和值类型的底层逻辑的思考。

    赶项目时发现了一个问题,定义一个引用对象,如果在循环外定义对象,在循环内list.add(object).最后的结果却是所有的对象值都是一样的,即每add一次,都会把之前的数据覆盖. 解决方法:把对象 ...

  3. Emqx高可用架构

    目录 优化前架构 主要问题 haproxy问题 优化后架构 优化功能点 emq版本升级 linux系统调优 haproxy调优 测试工具 依赖安装 配置erl环境变量 安装压测软件 测试指令与结果展示 ...

  4. 【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数

    问题描述 在Azure App Service for Windows的环境中,部署.NET应用,其中使用了 SAP NetWeaver RFC函数 (需要加载 sapnwrfc.dll).详细的错误 ...

  5. 【Azure 云服务】Azure Cloud Service 关于虚拟机资源,杀毒软件配置,补丁机制的问答

    一:云服务后端是2台虚拟机,Work Role,Web Role,可以RDP进去,但是为什么在虚拟机列表里看不到呢? 因为云服务(经典)是PaaS服务,有别于传统的IaaS服务,其提供的WebRole ...

  6. nebula-br local-store 模式,快速搭建主备集群实践

    因为线上图数据库目前为单集群,数据量比较大,有以下缺点: 单点风险,一旦集群崩溃或者因为某些查询拖垮整个集群,就会导致所有图操作受影响 很多优化类但会影响读写的操作不好执行,比如:compact.ba ...

  7. [逆向] FS寄存器

    偏移 说明 00 指向SEH链表指针 04 线程堆栈顶部(地址最小) 08 线程堆栈底部(地址最大) 0c SubSystemTib 10 FiberData 14 ArbitraryUserPoin ...

  8. Java 异常处理(1) : try-catch- finally中finally的使用

    1 package com.bytezero.throwable; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 impor ...

  9. AT_abc342_d 题解

    UD 2024/2/24 22:36 感谢 Lixiang_is_potato 指出一处笔误. 本文同步发表于洛谷. 赛时挂了,但是赛后 3min AC,我是飞舞. 题意 给你一个长度为 \(N\) ...

  10. BKP备份寄存器&RTC实时时钟

    UNIX时间戳    time.h 三条路,上面主要作为系统时钟,中间的作为RTC时钟,下面的作为看门狗的时钟 与RTC有关的外部晶振(主电源断电不停)一般都i是32.768KHZ   2^15=32 ...