hzoi欢乐时刻(持续更新)
%%NC哥
%%Dybala
%%cbx吐露(bei ji can)真相
%%skyh×2
不愿透露姓名的群众无意间发现惊人秘密,
skyh默默坦白真相,
这究竟是人性的沦丧还是道德的泯灭?
%%kx
%%%skyh,%%Dy××la,%%Y×m,%%xuefeng
%%ex-zkt
%mzz
re%%%kx
%%%某不愿透露姓名的葱厨
今日段子:kx是hzoi最gay的人
%%%xuefengNB
%%zkt:我的板子NB(指300行)
re %%%xuefeng大刺客
%%%1419
mikufun/Yu-shi:我要讲个鬼故事,有一个......
yzh:是你爷爷~(捂耳唱歌)
fhw:o(三声)o(二声)o(一声)
Yu-shi:我能吞下shit拉出坚果
mikufun:Yu-shi你后边有。。。。。。有东西!!!(关灯作惊恐状)
yzh:ooo!!
fhw:是你爷爷!
yzh:ji ji boon!qj了Myy(自行领会)!!!
Yu-shi:我能将我的1e36条内裤染成白色
mikufun:你们不觉得......
fhw:是你爷爷!!!!
yzh:ooo!!!
fhw:ji ji boon!qj了Myy(自行领会)!!!
(无限循环)
(mikufun讲故事完全失败.jpd)
%%%skyh&&xuefeng(天皇和大刺客在一起大家兹不兹瓷哇)
%%%lsc
%%新错误
%%mikufun
'''
#include<bits/stdc++.h>
#define ll long long
#define re register
#define cri const register int
using namespace std;
inline int read(){
re int a=0;re char ch=getchar();
while(ch<'0'||ch>'9') ch=getchar();
while(ch>='0'&&ch<='9') a=(a<<1)+(a<<3)+ch-'0',ch=getchar();
return a;
}
char s[100010];
int n,m,t[30],ls[300010],rs[300010];
int f[300010],da[300010][30],be[30],en[30];
void build(cri k,cri l,cri r){
f[k]=-1,ls[k]=l,rs[k]=r;
if(l==r){
da[k][s[l]-'a']=1;
return;
}
int mid=l+r>>1;
build(k<<1,l,mid);build(k<<1|1,mid+1,r);
da[k][1]=da[k<<1][1]+da[k<<1|1][1];
da[k][2]=da[k<<1][2]+da[k<<1|1][2];
da[k][3]=da[k<<1][3]+da[k<<1|1][3];
da[k][4]=da[k<<1][4]+da[k<<1|1][4];
da[k][5]=da[k<<1][5]+da[k<<1|1][5];
da[k][6]=da[k<<1][6]+da[k<<1|1][6];
da[k][7]=da[k<<1][7]+da[k<<1|1][7];
da[k][8]=da[k<<1][8]+da[k<<1|1][8];
da[k][9]=da[k<<1][9]+da[k<<1|1][9];
da[k][10]=da[k<<1][10]+da[k<<1|1][10];
da[k][11]=da[k<<1][11]+da[k<<1|1][11];
da[k][12]=da[k<<1][12]+da[k<<1|1][12];
da[k][13]=da[k<<1][13]+da[k<<1|1][13];
da[k][14]=da[k<<1][14]+da[k<<1|1][14];
da[k][15]=da[k<<1][15]+da[k<<1|1][15];
da[k][16]=da[k<<1][16]+da[k<<1|1][16];
da[k][17]=da[k<<1][17]+da[k<<1|1][17];
da[k][18]=da[k<<1][18]+da[k<<1|1][18];
da[k][19]=da[k<<1][19]+da[k<<1|1][19];
da[k][20]=da[k<<1][20]+da[k<<1|1][20];
da[k][21]=da[k<<1][21]+da[k<<1|1][21];
da[k][22]=da[k<<1][22]+da[k<<1|1][22];
da[k][23]=da[k<<1][23]+da[k<<1|1][23];
da[k][24]=da[k<<1][24]+da[k<<1|1][24];
da[k][25]=da[k<<1][25]+da[k<<1|1][25];
da[k][0]=da[k<<1][0]+da[k<<1|1][0];
}
void cs(cri k,cri L,cri R,cri x){
if(R<L) return;
if(ls[k]>=L&&rs[k]<=R){
f[k]=x;
for(re int i=0;i<=25;i++)
if(i==x) da[k][i]=rs[k]-ls[k]+1;
else da[k][i]=0;
return;
}
if(f[k]!=-1){
f[k<<1]=f[k<<1|1]=f[k],
da[k<<1][0]=da[k<<1|1][0]=0,
da[k<<1][1]=da[k<<1|1][1]=0,
da[k<<1][2]=da[k<<1|1][2]=0,
da[k<<1][3]=da[k<<1|1][3]=0,
da[k<<1][4]=da[k<<1|1][4]=0,
da[k<<1][5]=da[k<<1|1][5]=0,
da[k<<1][6]=da[k<<1|1][6]=0,
da[k<<1][7]=da[k<<1|1][7]=0,
da[k<<1][8]=da[k<<1|1][8]=0,
da[k<<1][9]=da[k<<1|1][9]=0,
da[k<<1][10]=da[k<<1|1][10]=0,
da[k<<1][11]=da[k<<1|1][11]=0,
da[k<<1][12]=da[k<<1|1][12]=0,
da[k<<1][13]=da[k<<1|1][13]=0,
da[k<<1][14]=da[k<<1|1][14]=0,
da[k<<1][15]=da[k<<1|1][15]=0,
da[k<<1][16]=da[k<<1|1][16]=0,
da[k<<1][17]=da[k<<1|1][17]=0,
da[k<<1][18]=da[k<<1|1][18]=0,
da[k<<1][19]=da[k<<1|1][19]=0,
da[k<<1][20]=da[k<<1|1][20]=0,
da[k<<1][21]=da[k<<1|1][21]=0,
da[k<<1][22]=da[k<<1|1][22]=0,
da[k<<1][23]=da[k<<1|1][23]=0,
da[k<<1][24]=da[k<<1|1][24]=0,
da[k<<1][25]=da[k<<1|1][25]=0,
da[k<<1][f[k]]=rs[k<<1]-ls[k<<1]+1,
da[k<<1|1][f[k]]=rs[k<<1|1]-ls[k<<1|1]+1,
f[k]=-1;
}
re int mid=ls[k]+rs[k]>>1;
if(L<=mid) cs(k<<1,L,R,x);
if(R>mid) cs(k<<1|1,L,R,x);
da[k][1]=da[k<<1][1]+da[k<<1|1][1];
da[k][2]=da[k<<1][2]+da[k<<1|1][2];
da[k][3]=da[k<<1][3]+da[k<<1|1][3];
da[k][4]=da[k<<1][4]+da[k<<1|1][4];
da[k][5]=da[k<<1][5]+da[k<<1|1][5];
da[k][6]=da[k<<1][6]+da[k<<1|1][6];
da[k][7]=da[k<<1][7]+da[k<<1|1][7];
da[k][8]=da[k<<1][8]+da[k<<1|1][8];
da[k][9]=da[k<<1][9]+da[k<<1|1][9];
da[k][10]=da[k<<1][10]+da[k<<1|1][10];
da[k][11]=da[k<<1][11]+da[k<<1|1][11];
da[k][12]=da[k<<1][12]+da[k<<1|1][12];
da[k][13]=da[k<<1][13]+da[k<<1|1][13];
da[k][14]=da[k<<1][14]+da[k<<1|1][14];
da[k][15]=da[k<<1][15]+da[k<<1|1][15];
da[k][16]=da[k<<1][16]+da[k<<1|1][16];
da[k][17]=da[k<<1][17]+da[k<<1|1][17];
da[k][18]=da[k<<1][18]+da[k<<1|1][18];
da[k][19]=da[k<<1][19]+da[k<<1|1][19];
da[k][20]=da[k<<1][20]+da[k<<1|1][20];
da[k][21]=da[k<<1][21]+da[k<<1|1][21];
da[k][22]=da[k<<1][22]+da[k<<1|1][22];
da[k][23]=da[k<<1][23]+da[k<<1|1][23];
da[k][24]=da[k<<1][24]+da[k<<1|1][24];
da[k][25]=da[k<<1][25]+da[k<<1|1][25];
da[k][0]=da[k<<1][0]+da[k<<1|1][0];
}
void add(cri k,cri L,cri R){
if(ls[k]>=L&&rs[k]<=R){
for(re int i=0;i<26;i++)
if(be[i]<=rs[k]&&en[i]>=ls[k])
cs(k,max(ls[k],be[i]),min(en[i],rs[k]),i);
return;
}
if(f[k]!=-1){
f[k<<1]=f[k<<1|1]=f[k],
da[k<<1][0]=da[k<<1|1][0]=0,
da[k<<1][1]=da[k<<1|1][1]=0,
da[k<<1][2]=da[k<<1|1][2]=0,
da[k<<1][3]=da[k<<1|1][3]=0,
da[k<<1][4]=da[k<<1|1][4]=0,
da[k<<1][5]=da[k<<1|1][5]=0,
da[k<<1][6]=da[k<<1|1][6]=0,
da[k<<1][7]=da[k<<1|1][7]=0,
da[k<<1][8]=da[k<<1|1][8]=0,
da[k<<1][9]=da[k<<1|1][9]=0,
da[k<<1][10]=da[k<<1|1][10]=0,
da[k<<1][11]=da[k<<1|1][11]=0,
da[k<<1][12]=da[k<<1|1][12]=0,
da[k<<1][13]=da[k<<1|1][13]=0,
da[k<<1][14]=da[k<<1|1][14]=0,
da[k<<1][15]=da[k<<1|1][15]=0,
da[k<<1][16]=da[k<<1|1][16]=0,
da[k<<1][17]=da[k<<1|1][17]=0,
da[k<<1][18]=da[k<<1|1][18]=0,
da[k<<1][19]=da[k<<1|1][19]=0,
da[k<<1][20]=da[k<<1|1][20]=0,
da[k<<1][21]=da[k<<1|1][21]=0,
da[k<<1][22]=da[k<<1|1][22]=0,
da[k<<1][23]=da[k<<1|1][23]=0,
da[k<<1][24]=da[k<<1|1][24]=0,
da[k<<1][25]=da[k<<1|1][25]=0,
da[k<<1][f[k]]=rs[k<<1]-ls[k<<1]+1,
da[k<<1|1][f[k]]=rs[k<<1|1]-ls[k<<1|1]+1,
f[k]=-1;
}
re int mid=ls[k]+rs[k]>>1;
if(L<=mid) add(k<<1,L,R);
if(R>mid) add(k<<1|1,L,R);
da[k][1]=da[k<<1][1]+da[k<<1|1][1];
da[k][2]=da[k<<1][2]+da[k<<1|1][2];
da[k][3]=da[k<<1][3]+da[k<<1|1][3];
da[k][4]=da[k<<1][4]+da[k<<1|1][4];
da[k][5]=da[k<<1][5]+da[k<<1|1][5];
da[k][6]=da[k<<1][6]+da[k<<1|1][6];
da[k][7]=da[k<<1][7]+da[k<<1|1][7];
da[k][8]=da[k<<1][8]+da[k<<1|1][8];
da[k][9]=da[k<<1][9]+da[k<<1|1][9];
da[k][10]=da[k<<1][10]+da[k<<1|1][10];
da[k][11]=da[k<<1][11]+da[k<<1|1][11];
da[k][12]=da[k<<1][12]+da[k<<1|1][12];
da[k][13]=da[k<<1][13]+da[k<<1|1][13];
da[k][14]=da[k<<1][14]+da[k<<1|1][14];
da[k][15]=da[k<<1][15]+da[k<<1|1][15];
da[k][16]=da[k<<1][16]+da[k<<1|1][16];
da[k][17]=da[k<<1][17]+da[k<<1|1][17];
da[k][18]=da[k<<1][18]+da[k<<1|1][18];
da[k][19]=da[k<<1][19]+da[k<<1|1][19];
da[k][20]=da[k<<1][20]+da[k<<1|1][20];
da[k][21]=da[k<<1][21]+da[k<<1|1][21];
da[k][22]=da[k<<1][22]+da[k<<1|1][22];
da[k][23]=da[k<<1][23]+da[k<<1|1][23];
da[k][24]=da[k<<1][24]+da[k<<1|1][24];
da[k][25]=da[k<<1][25]+da[k<<1|1][25];
da[k][0]=da[k<<1][0]+da[k<<1|1][0];
}
void get(cri k,cri L,cri R){
if(ls[k]>=L&&R>=rs[k]){
for(re int i=0;i<26;i++)
t[i]+=da[k][i];
return;
}
if(f[k]!=-1){
f[k<<1]=f[k<<1|1]=f[k],
da[k<<1][0]=da[k<<1|1][0]=0,
da[k<<1][1]=da[k<<1|1][1]=0,
da[k<<1][2]=da[k<<1|1][2]=0,
da[k<<1][3]=da[k<<1|1][3]=0,
da[k<<1][4]=da[k<<1|1][4]=0,
da[k<<1][5]=da[k<<1|1][5]=0,
da[k<<1][6]=da[k<<1|1][6]=0,
da[k<<1][7]=da[k<<1|1][7]=0,
da[k<<1][8]=da[k<<1|1][8]=0,
da[k<<1][9]=da[k<<1|1][9]=0,
da[k<<1][10]=da[k<<1|1][10]=0,
da[k<<1][11]=da[k<<1|1][11]=0,
da[k<<1][12]=da[k<<1|1][12]=0,
da[k<<1][13]=da[k<<1|1][13]=0,
da[k<<1][14]=da[k<<1|1][14]=0,
da[k<<1][15]=da[k<<1|1][15]=0,
da[k<<1][16]=da[k<<1|1][16]=0,
da[k<<1][17]=da[k<<1|1][17]=0,
da[k<<1][18]=da[k<<1|1][18]=0,
da[k<<1][19]=da[k<<1|1][19]=0,
da[k<<1][20]=da[k<<1|1][20]=0,
da[k<<1][21]=da[k<<1|1][21]=0,
da[k<<1][22]=da[k<<1|1][22]=0,
da[k<<1][23]=da[k<<1|1][23]=0,
da[k<<1][24]=da[k<<1|1][24]=0,
da[k<<1][25]=da[k<<1|1][25]=0,
da[k<<1][f[k]]=rs[k<<1]-ls[k<<1]+1,
da[k<<1|1][f[k]]=rs[k<<1|1]-ls[k<<1|1]+1,
f[k]=-1;
}
re int mid=ls[k]+rs[k]>>1;
if(L<=mid) get(k<<1,L,R);
if(R>mid) get(k<<1|1,L,R);
}
void all(cri k){
if(ls[k]==rs[k]){
for(re int i=0;i<26;i++)
if(da[k][i]){
s[ls[k]]=i+'a';
return;
}
return;
}
if(f[k]!=-1){
f[k<<1]=f[k<<1|1]=f[k],
da[k<<1][0]=da[k<<1|1][0]=0,
da[k<<1][1]=da[k<<1|1][1]=0,
da[k<<1][2]=da[k<<1|1][2]=0,
da[k<<1][3]=da[k<<1|1][3]=0,
da[k<<1][4]=da[k<<1|1][4]=0,
da[k<<1][5]=da[k<<1|1][5]=0,
da[k<<1][6]=da[k<<1|1][6]=0,
da[k<<1][7]=da[k<<1|1][7]=0,
da[k<<1][8]=da[k<<1|1][8]=0,
da[k<<1][9]=da[k<<1|1][9]=0,
da[k<<1][10]=da[k<<1|1][10]=0,
da[k<<1][11]=da[k<<1|1][11]=0,
da[k<<1][12]=da[k<<1|1][12]=0,
da[k<<1][13]=da[k<<1|1][13]=0,
da[k<<1][14]=da[k<<1|1][14]=0,
da[k<<1][15]=da[k<<1|1][15]=0,
da[k<<1][16]=da[k<<1|1][16]=0,
da[k<<1][17]=da[k<<1|1][17]=0,
da[k<<1][18]=da[k<<1|1][18]=0,
da[k<<1][19]=da[k<<1|1][19]=0,
da[k<<1][20]=da[k<<1|1][20]=0,
da[k<<1][21]=da[k<<1|1][21]=0,
da[k<<1][22]=da[k<<1|1][22]=0,
da[k<<1][23]=da[k<<1|1][23]=0,
da[k<<1][24]=da[k<<1|1][24]=0,
da[k<<1][25]=da[k<<1|1][25]=0,
da[k<<1][f[k]]=rs[k<<1]-ls[k<<1]+1,
da[k<<1|1][f[k]]=rs[k<<1|1]-ls[k<<1|1]+1,
f[k]=-1;
}
re int mid=ls[k]+rs[k]>>1;
all(k<<1),all(k<<1|1);
}
int main(){
int x,y,z,o;
scanf("%d%d%s",&n,&m,s+1);
build(1,1,n);
for(re int i=1;i<=m;i++){
x=read();y=read();z=read();
o=x;
get(1,x,y);
if(z)
for(re int j=0;j<26;j++){
if(t[j]) be[j]=o,en[j]=o+t[j]-1,o=en[j]+1;
else be[j]=en[j]=0;
}
else
for(re int j=25;j>=0;j--){
if(t[j]) be[j]=o,en[j]=o+t[j]-1,o=en[j]+1;
else be[j]=en[j]=0;
}
memset(t,0,sizeof t);
add(1,x,y);
}
all(1);
for(re int i=1;i<=n;i++) putchar(s[i]);
}
'''
%%某不愿透露姓名的***(忽略背景,我什么也看不出来233)
(友情提醒:踢球需谨慎,生命价更高)
%%%天(舔)皇
hzoi欢乐时刻(持续更新)的更多相关文章
- BAT 前端开发面经 —— 吐血总结 前端相关片段整理——持续更新 前端基础精简总结 Web Storage You don't know js
BAT 前端开发面经 —— 吐血总结 目录 1. Tencent 2. 阿里 3. 百度 更好阅读,请移步这里 聊之前 最近暑期实习招聘已经开始,个人目前参加了阿里的内推及腾讯和百度的实习生招聘, ...
- iPadOS 更新日志 - 持续更新中
本文只是为了简单记录一下每个正式版本发布时间和更新内容,只有这个初衷,从2019年9月25日开始,将会持续更新. iPadOS 13.1 - 2019年9月25日 经全新命名的 iPadOS 是一款强 ...
- 4W字的后端面试知识点总结(持续更新)
点赞再看,养成习惯,微信搜索[三太子敖丙]关注这个互联网苟且偷生的工具人. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的 ...
- 深入理解Java虚拟机--个人总结(持续更新)
深入理解Java虚拟机--个人总结(持续更新) 每天按照书本学一点,会把自己的总结思考写下来,形成输出,持续更新,立帖为证 -- 2020年7月7日 开始第一次学习 -- 2020年7月8日 今天在百 ...
- JVM面试题(史上最强、持续更新、吐血推荐)
文章很长而且持续更新,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 + 社群大片好评 < Java 高并发 三部 ...
- JUC并发包与容器类 - 面试题(一网打净,持续更新)
文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...
- Redis 面试题 - 收藏版 (持续更新、吐血推荐)
文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...
- Zookeeper 面试题(持续更新、吐血推荐)
文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...
- 消息队列面试题、RabbitMQ面试题、Kafka面试题、RocketMQ面试题 (史上最全、持续更新、吐血推荐)
文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...
随机推荐
- Windows Azure Virtual Machine (39) 清除Linux挖矿病毒
<Windows Azure Platform 系列文章目录> 1.之前客户遇到了Azure Linux CPU 100%,症状如下: 2.SSH登录到Linux,查看crontab,有从 ...
- 快速认识springcloud微服务
这周浅显的学习了springcloud.简单聊一下微服务.所谓的微服务远远没有我想想的那么高端难以理解,简单说,就是多个服务分布在不同的服务器上,由这些服务互相配合完成某一项任务.那服务和服务之间调用 ...
- iOS 一个项目添加多个TARGET
项目开发中会存在测试.正式等不同环境,需对应不同接口Host地址.项目名称等等配置.如果每次只有一个项目target的话每次打包的时候替换会很麻烦,而且容易出错.所以我们可以通过创建多个不同配置的ta ...
- 线代第六章定义&定理整理(持续更新中)
Chapter 6 6.1 Inner Products and Norms Definition (inner product). Let V be a vector space over F. A ...
- Knative 基本功能深入剖析:Knative Serving 的流量灰度和版本管理
作者|冬岛 阿里云技术专家 本篇主要介绍 Knative Serving 的流量灰度,通过一个 rest-api 的例子演示如何创建不同的 Revision.如何在不同的 Revision 之间按照流 ...
- docker容器的端口映射
1.创建一个Nginx 容器,先不映射端口 [root@localhost ~]# docker run --name my_nginx -d nginx 7be3673a4c0f8f7ffe79a7 ...
- layui + mvc + ajax 导出Excel功能
为了更方便,没基础的伙伴更容易理解,我尽量详细简便 省了很多代码,一步一步的试 自己引入文件 1. html 前端视图代码 Layui的数据绑定 全部代码 @{ Layout = null; } &l ...
- Windows Form父子两个窗体之间的传值测试
1:先看测试的效果图: 2:全部的代码 using System; using System.Windows.Forms; namespace WindowsForms { public partia ...
- 斗鱼刷弹幕js代码
对于一个网络喷子(like me)来说,喷人必须高效. var script=document.createElement("script"); script.type=" ...
- Delphi对Excel保护操作
http://www.docin.com/p-378093577.html在金融系统的应用系统中经常需要与Excel交换数据或利用Excel制作报表,但在某些情况下,我们的业务系统要求生成的临时或最终 ...