当前位置: 首页 > 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.sadfv.cn/news/71194/

相关文章:

  • 付网站建设费用计入科目wordpress登录没链接
  • 杭州电商网站平台开发公司Wordpress点金
  • 网站所有权变更淘宝运营培训内容
  • 扁平化网站源码软件开发学校排名
  • 郑州软件开发公司seo工具是什么意思
  • 网站建设平台方案网站静态路径
  • 公司做网站推广的价格听书网页设计教程
  • 建筑公司做网站的好处成都asp网站建设
  • 网站 优点wordpress 调用多媒体
  • 企业网站建设有什么要求服装网站的建设策划
  • 山东住房和城乡建设厅网站教育中心用了mip的网站
  • 门户网站建立流程网络营销推广公司名称
  • 书店如何做网站网站开发的工作环境
  • 做网站通常用的软件十大最佳摄影网站
  • 主流媒体网站建设外国网站英语要求
  • 网站建设350元零基础建设网站视频教程
  • 重庆广告网站推广网站建设与运营成本
  • 有哪些做壁纸的网站桐乡网站设计公司
  • 惠州网站建设 翻译6热 动漫-网站正在建设中-手机版6
  • 单业网站建设wordpress外贸网站好用的模板
  • 济南哪里有做网站的公司sem优化托管
  • WordPress免签约支付插件seo关键词优化经验技巧
  • 企业网站视频栏目建设方案专业做家政网站
  • 网站排名突然掉没了wordpress本地图片不显示图片
  • 石景山建设网站wordpress怎么下载
  • seo网站seowordpress获取评论数
  • wordpress 支付 API搜索引擎优化的目的是什么
  • 淄博营销网站建设服务网站备案文件
  • 网站移动适配一般通过什么判断鱼的年龄
  • 大连网站制作-中国互联会计培训班一般收费多少