【bzoj4378】[POI2015]Logistyka
来源:互联网 发布:mysql 阻止连接半小时 编辑:程序博客网 时间:2024/05/02 00:37
题目
对于每次询问:
如果ai>=s,ai最大贡献为s。
如果ai<s,ai最大贡献为ai。
设数列中大于等于s的数有k个,小于s的数的和为sum。
需要总贡献为c*s,最后只需判断sum+k*s>=c*s即可。
代码:
#include<cstdio>#include<map>#include<algorithm> #define lowbit(x) (x&-x)#define maxn 1000010 using namespace std; typedef long long ll;int n,m,num,t[maxn],a[maxn];ll tr1[maxn],tr2[maxn];char cmd[10];map<int,int>M; struct que{ int c,x,w;}q[maxn]; void modify(int pos,int w,ll *tr){ for(int i=pos;i<=num;i+=lowbit(i)) tr[i]+=w;} ll ask(int pos,ll *tr){ ll ans=0; for(int i=pos;i>0;i-=lowbit(i)) ans+=tr[i]; return ans;} int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=m;i++){ scanf("%s%d%d",cmd,&q[i].x,&q[i].w); if(cmd[0]=='U'){ t[++t[0]]=q[i].w; q[i].c=0; }else{ t[++t[0]]=q[i].w; q[i].c=1; } } t[++t[0]]=0; sort(t+1,t+t[0]+1); for(int i=1;i<=t[0];i++) if(t[i]!=t[i-1]||i==1) M[t[i]]=++num; for(int i=1;i<=m;i++){ if(q[i].c==0){ modify(M[a[q[i].x]],-a[q[i].x],tr1); modify(M[q[i].w],q[i].w,tr1); modify(M[a[q[i].x]],-1,tr2); modify(M[q[i].w],1,tr2); a[q[i].x]=q[i].w; }else{ ll t1=ask(M[q[i].w],tr1),t2=ask(num,tr2)-ask(M[q[i].w],tr2); if(t1>=1ll*q[i].w*(q[i].x-t2)){ puts("TAK"); }else{ puts("NIE"); } } } return 0;}
1 0
- 【POI2015】【BZOJ4378】Logistyka
- BZOJ4378: [POI2015]Logistyka
- 【bzoj4378】[POI2015]Logistyka
- [bzoj4378][POI2015]Logistyka
- BZOJ4378[POI2015] Logistyka
- BZOJ4378 POI2015 Logistyka
- BZOJ4378: [POI2015]Logistyka
- 【BZOJ4378】[POI2015]Logistyka【树状数组】【结论题】
- bzoj4378 Logistyka 树状数组
- 4378: [POI2015]Logistyka
- BZOJ 4378: [POI2015]Logistyka 树状数组
- POI2015 题解
- bzoj 3747: [POI2015]Kinoman
- bzoj3747【POI2015】Kinoman
- [BZOJ3747] [POI2015]Kinoman
- BZOJ 3747: [POI2015]Kinoman
- BZOJ 3748: [POI2015]Kwadraty
- BZOJ4379: [POI2015]Modernizacja autostrady
- 防止sql注入遭盗攻击
- 人脸识别数据集 Face Databases
- Unity3D控制物体移动
- jQuery正则验证15/18身份证
- ReactiveCocoa之RAC过滤(八)
- 【bzoj4378】[POI2015]Logistyka
- JAVA中关于set()和get()方法的理解及使用
- 自定义ViewGroup——圆形排列LinearLayout
- response.sendRedirect无法传递中文参数的问题
- Android属性动画
- AR Face Database 人脸识别数据集
- 服务器使用json时报错java.lang.ClassNotFoundException: org.json.JSONException
- 线程池的使用框架
- Java并发编程(四)Java内存模型