当前位置: 首页 > news >正文

怎样做php网站网页游戏排行榜前十名网络游戏这you

怎样做php网站,网页游戏排行榜前十名网络游戏这you,个人养老金查询,软文案例短篇1. CF558E A Simple Task 题意#xff1a; 给定由小写字母组成的字符串 \(s\) 每一次操作如下#xff1a; \(opt0\) #xff1a;将 \([l,r]\) 降序排序 \(opt1\) #xff1a;将 \([l,r]\) 升序排序 输出最终字符串 题解#xff1a; 大致思想为#xff0c;建 \(26\) 棵线… 1. CF558E A Simple Task 题意 给定由小写字母组成的字符串 \(s\) 每一次操作如下 \(opt0\) 将 \([l,r]\) 降序排序 \(opt1\) 将 \([l,r]\) 升序排序 输出最终字符串 题解 大致思想为建 \(26\) 棵线段树代表每一种字母。 操作区间查询出每一种字母的个数记为 \(cnt[c]\) 。 排序按照 从 \(a\) 至 \(z\) 或 从 \(z\) 至 \(a\) 依次向后覆盖 \(cnt[i]\) 个位置 。 输出答案对于每一位枚举 \([a,z]\) 找出覆盖这一位的字母 。 代码 #includebits/stdc.h using namespace std; #define Maxn 100005 #define Maxc 27 int n,m; struct Tree {int sum,ch_laz; }tree[Maxc][Maxn2]; int cnt[Maxc]; void build(int opt,int p,int nl,int nr) {tree[opt][p].ch_laz-1;if(nlnr) return;int mid(nlnr)1;if(midnl) build(opt,p1,nl,mid);if(midnr) build(opt,p1|1,mid1,nr); } void pushdown(int opt,int p,int nl,int nr) {if(tree[opt][p].ch_laz-1) return;int mid(nlnr)1;tree[opt][p1].sum(mid-nl1)*tree[opt][p].ch_laz;tree[opt][p1|1].sum(nr-mid)*tree[opt][p].ch_laz;tree[opt][p1].ch_laztree[opt][p1|1].ch_laztree[opt][p].ch_laz;tree[opt][p].ch_laz-1; } void pushup(int opt,int p) {tree[opt][p].sumtree[opt][p1].sumtree[opt][p1|1].sum; } void change(int opt,int p,int nl,int nr,int l,int r,int x) {if(nll nrr){tree[opt][p].sum(nr-nl1)*x;tree[opt][p].ch_lazx;return;}pushdown(opt,p,nl,nr);int mid(nlnr)1;if(midl) change(opt,p1,nl,mid,l,r,x);if(midr) change(opt,p1|1,mid1,nr,l,r,x);pushup(opt,p); } int query(int opt,int p,int nl,int nr,int l,int r) {if(nll nrr) return tree[opt][p].sum;pushdown(opt,p,nl,nr);int mid(nlnr)1,ret0;if(midl) retquery(opt,p1,nl,mid,l,r);if(midr) retquery(opt,p1|1,mid1,nr,l,r);pushup(opt,p);return ret; } int main() {//freopen(.in,r,stdin);//freopen(.out,w,stdout);cinnm;for(int i0;i26;i) build(i,1,1,n);char x;for(int i1;in;i) cinx,change(x-a,1,1,n,i,i,1);for(int i1,l,r,k;im;i){cinlrk;memset(cnt,0,sizeof(cnt));if(k){for(int i0;i26;i) cnt[i]query(i,1,1,n,l,r),change(i,1,1,n,l,r,0);for(int i0,posl;i26;i) if(cnt[i]) change(i,1,1,n,pos,poscnt[i]-1,1),poscnt[i];}else{for(int i25;i0;i--) cnt[i]query(i,1,1,n,l,r),change(i,1,1,n,l,r,0);for(int i25,posl;i0;i--) if(cnt[i]) change(i,1,1,n,pos,poscnt[i]-1,1),poscnt[i];}}for(int i1;in;i) for(int j0;j26;j)if(query(j,1,1,n,i,i)) { printf(%c,ja); break; }printf(\n);//fclose(stdin);//fclose(stdout);return 0; } 2. P2824 [HEOI2016/TJOI2016]排序 题意 给定由 \([1,n]\) 组成的排列每一次操作如下 \(opt0\) 将 \([l,r]\) 升序排序 \(opt1\) 将 \([l,r]\) 降序排序 最后输出第 \(Pos\) 位的值。 题解 与上一题不同的是这里有 \(n\) 种元素但是只用查询一位的值 。 考虑二分答案 二分第 \(Pos\) 位的取值将大于等于 \(mid\) 的值都改为 \(1\) 将小于 \(mid\) 的值都改为 \(0\) 离线进行一遍所有操作。 若操作完后第 \(Pos\) 位为 \(1\) 则 \(ans\ge mid\) 否则 \(ansmid\) 。 注意(代码第 \(72\) 行) cntquery(1,1,n,l[i],r[i]); 中 \(cnt\) 的可能为 \(0\) 在接下来的覆盖中可能会出现 \(lr\) 应该及时判断 。 代码 #includebits/stdc.h using namespace std; #define Maxn 100005 typedef long long ll; inline int rd() {int x0;char ch,t0;while(!isdigit(ch getchar())) t|ch-;while(isdigit(ch)) xx*10(ch^48),chgetchar();return xt?-x:x; } int n,m,Pos,L,R,ans; int a[Maxn],tmp[Maxn],opt[Maxn],l[Maxn],r[Maxn]; struct Data {int sum,laz; }tree[Maxn2]; void pushup(int p) {tree[p].sumtree[p1].sumtree[p1|1].sum; } void pushdown(int p,int nl,int nr) {if(tree[p].laz!-1){int mid(nlnr)1;tree[p1].sum(mid-nl1)*tree[p].laz;tree[p1|1].sum(nr-mid)*tree[p].laz;tree[p1].laztree[p1|1].laztree[p].laz;tree[p].laz-1;} } void build(int p,int nl,int nr) {tree[p].sum0,tree[p].laz-1;if(nlnr) { tree[p].sumtmp[nl]; return; }int mid(nlnr)1;build(p1,nl,mid),build(p1|1,mid1,nr);pushup(p); } void change(int p,int nl,int nr,int l,int r,int k) {if(nll nrr){tree[p].sum(nr-nl1)*k;tree[p].lazk;return;}pushdown(p,nl,nr);int mid(nlnr)1;if(midl) change(p1,nl,mid,l,r,k);if(midr) change(p1|1,mid1,nr,l,r,k);pushup(p); } int query(int p,int nl,int nr,int l,int r) {if(nll nrr) return tree[p].sum;pushdown(p,nl,nr);int mid(nlnr)1,ret0;if(midl) retquery(p1,nl,mid,l,r);if(midr) retquery(p1|1,mid1,nr,l,r);pushup(p);return ret; } bool check(int val) {for(int i1;in;i) tmp[i](a[i]val)?1:0;build(1,1,n);for(int i1,cnt;im;i){cntquery(1,1,n,l[i],r[i]);change(1,1,n,l[i],r[i],0);if(!cnt) continue;if(opt[i]0) change(1,1,n,r[i]-cnt1,r[i],1);else change(1,1,n,l[i],l[i]cnt-1,1);}return query(1,1,n,Pos,Pos); } int main() {//freopen(.in,r,stdin);//freopen(.out,w,stdout);nrd(),mrd();for(int i1;in;i) a[i]rd();for(int i1;im;i) opt[i]rd(),l[i]rd(),r[i]rd();Posrd();L1,Rn,ans1;while(LR){int mid(LR)1;if(check(mid)) ansmid,Lmid1;else Rmid-1;}printf(%d\n,ans);//fclose(stdin);//fclose(stdout);return 0; }
http://www.huolong8.cn/news/71194/

相关文章:

  • 国内简洁网站设计延吉 网站开发
  • 成都网站建设制作价格品牌建设综述
  • 网站开发合同需要交印花税吗网站开发运营经理
  • 做网站链接要多少钱固始县住房和城乡规划建设局网站
  • 合适的网站建设的公司怎么找搜索推广网站哪家做的最好
  • 网站管理建设的总结免费广告平台
  • 网站管理助手 建设中网站建设视频教程云盘
  • 通化市住房和城乡建设局网站提供佛山网站制作
  • 建设厅注册中心网站考试报名费缴费1G免费网站空间
  • 网站发布 图片看不到企业网站404页面设计
  • 宝山网站建设公司中国建行网站
  • php旅游网站开发背景互联网行业未来发展趋势
  • 视屏网站开发者工具无视频文件土特产网站建设事业计划书
  • 自己怎么做卡密网站可以做动漫网站的源码源码
  • 做网站平台需要什么条件网站如何做快排
  • 网站建设制作临沂网站建设选盛誉做新零售这些注册网站和找货源6
  • 网站建立后怎么做推广怎么样通过做网站赚钱
  • 网站投票怎么做南昌诚推网络技术有限公司
  • 沈阳网站推广公司网站上的qq咨询怎么做
  • 网站 二级域名需要备案吗网站有情链接怎么做
  • 做分析仪器推广的网站wordpress许愿墙
  • 教做家常菜的视频网站网页设计尺寸怎么设计
  • 网站基本代码网站设计与制作教程1
  • php 网站 教程网站建设成都云
  • 上海专业网站建站品牌网站开发中设置会员等级
  • 如何建网站平台为什么要做手机网站
  • 最好的网页设计网站社区工作者有编制吗
  • 合肥网站快速排名提升物联网专业
  • 傻瓜网站开发工具国外前端 网站
  • 营销型网站设计公司哪里有什么是电商怎么做电商