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

提供商城网站建设如何做好网站的建设与维护

提供商城网站建设,如何做好网站的建设与维护,海晏网站建设公司,网站正在建设中请稍后P3332 [ZJOI2013]K大数查询 题意: 题解#xff1a; 利用整体二分来做#xff0c;这个题和P3834 【模板】可持久化线段树 2的区别在于本题的修改是区间修改#xff0c;所以将里面的树状数组改成线段树就行#xff0c;区间修改区间查询 但是不知道为什么我调了一阵子也不对…P3332 [ZJOI2013]K大数查询 题意: 题解 利用整体二分来做这个题和P3834 【模板】可持久化线段树 2的区别在于本题的修改是区间修改所以将里面的树状数组改成线段树就行区间修改区间查询 但是不知道为什么我调了一阵子也不对。。人傻了 代码 自己写的代码还没调出 #includebits/stdc.h #define debug(a,b) printf(%s %d\n,a,b) typedef long long ll; using namespace std;inline int read(){int s0,w1;char chgetchar();while(ch0||ch9){if(ch-)w-1;chgetchar();}while(ch0ch9) ss*10ch-0,chgetchar();//s(s3)(s1)(ch^48);return s*w; } const int maxn5e49; struct node{int op,x,y;ll k;int id; }q[maxn],q1[maxn],q2[maxn]; ll ans[maxn]; struct tree{int l,r;ll sum;ll lazy; }tr[maxn2]; void pushup(int root){tr[root].sumtr[root1].sumtr[root1|1].sum; } void cal(int root,ll x) {tr[root].sum1ll*(tr[root].r-tr[root].l1)*x;tr[root].lazyx; } void pushdown(int root){cal(root1,tr[root].lazy);cal(root1|1,tr[root].lazy);tr[root].lazy0; } void build(int root,int l,int r) {tr[root].ll;tr[root].rr;if(lr){tr[root].sum0;tr[root].lazy0;return; }int midlr1;build(root1,l,mid);build(root1|1,mid1,r);pushup(root); } void update(int root,int l,int r,ll x){if(tr[root].rl||tr[root].lr)return ;if(tr[root].lltr[root].rr){cal(root,x);return ;}if(tr[root].lazy)pushdown(root);update(root1,l,r,x);update(root1|1,l,r,x);pushup(root); } ll query(int root,int l,int r) {if(tr[root].rl||tr[root].lr)return 0;if(tr[root].lltr[root].rr){return tr[root].sum;}if(tr[root].lazy)pushdown(root);return query(root1,l,r)query(root1|1,l,r); }void solve(int ql,int qr,ll L,ll R) {//printf(ql%d qr%d L%d R%d\n,ql,qr,L,R);if(qlqr||LR)return ;if(LR){for(int iql;iqr;i)if(q[i].op2)ans[q[i].id]L;return ;}int len10,len20;ll midLR1;for(int iql;iqr;i){if(q[i].op1)//添加 {if(q[i].kmid)//放在右侧 {q2[len2]q[i];}else{update(1,q[i].x,q[i].y,1);q1[len1]q[i];} }else //查询 {ll tmpquery(1,q[i].x,q[i].y);if(tmpq[i].k){q1[len2]q[i];}else {q[i].k-tmp;q2[len2]q[i];}}}for(int i1;ilen1;i){if(q[i].op1q[i].kmid)update(1,q[i].x,q[i].y,-1);}for(int i1;ilen1;i)q[qli-1]q1[i];for(int i1;ilen2;i)q[qllen1i-1]q2[i];solve(ql,qllen1-1,L,mid);solve(qllen1,qr,mid1,R); } int main() {int n,m;cinnm;int tot0;for(int i1;im;i){int op,l,r;ll c;cinoplrc;if(op1)//添加操作 q[i](node){op,l,r,c};if(op2)//查询 q[i](node){op,l,r,c,tot};}build(1,1,n); solve(1,m,-n,n);for(int i1;itot;i){coutans[i]endl;}return 0; } 别人的AC的代码和我写的风格很像 #include bits/stdc.h using namespace std; #define debug(...) fprintf(stderr,__VA_ARGS__) typedef long long ll; const int MAXN200010; const ll INF2e18; struct seg{int l,r;ll add,sum; }t[MAXN2]; void pushup(int x){t[x].sumt[x1].sumt[x1|1].sum; } void pushdown(int x){if (!t[x].add) return;int lt[x].l,rt[x].r,mid(lr)1;t[x1].addt[x].add;t[x1|1].addt[x].add;t[x1].sumt[x].add*(mid-l1);t[x1|1].sumt[x].add*(r-mid);t[x].add0; } void build(int x,int l,int r){t[x](seg){l,r,0,0};if (lr)return;int mid(lr)1;build(x1,l,mid);build(x1|1,mid1,r);pushup(x); } void update(int x,int ql,int qr,ll v){int lt[x].l,rt[x].r;if (qllrqr){t[x].addv;t[x].sumv*(r-l1);return;}pushdown(x);int mid(lr)1;if (qlmid) update(x1,ql,qr,v);if (midqr) update(x1|1,ql,qr,v);pushup(x); } ll query(int x,int ql,int qr){int lt[x].l,rt[x].r;if (qllrqr) return t[x].sum;pushdown(x);int mid(lr)1;ll res0;if (qlmid) resquery(x1,ql,qr);if (midqr) resquery(x1|1,ql,qr);return res; } ll ans[MAXN]; int n,m; struct event{int opt,x,y;ll v;int id;void print(){debug(%d %d %d %lld\n,opt,x,y,v);} }q[MAXN],q1[MAXN],q2[MAXN]; void solve(ll l,ll r,int ql,int qr){if (qlqr||lr) return;if (lr){for (int iql;iqr;i)if (q[i].opt2) ans[q[i].id]l;return;}ll mid(lr)1;int cnt10,cnt20;for (int iql;iqr;i){if (q[i].opt1){if (q[i].vmid){update(1,q[i].x,q[i].y,1);q1[cnt1]q[i];}elseq2[cnt2]q[i];}else{ll tmpquery(1,q[i].x,q[i].y);if (tmpq[i].v)q1[cnt1]q[i];else{q[i].v-tmp;q2[cnt2]q[i];}}}for (int i1;icnt1;i)if (q1[i].opt1q1[i].vmid) update(1,q1[i].x,q1[i].y,-1);for (int iql;iqlcnt1;i)q[i]q1[i-ql1];for (int iqlcnt1;iqr;i)q[i]q2[i-ql-cnt11];solve(mid1,r,ql,qlcnt1-1);solve(l,mid,qlcnt1,qr); } int main(){scanf(%d%d,n,m);build(1,1,n);int tot0;for (int i1;im;i){int opt,a,b;ll c;scanf(%d%d%d%lld,opt,a,b,c);if(opt2)q[i](event){opt,a,b,c,tot};else q[i](event){opt,a,b,c,0};}solve(-n,n,1,m);for (int i1;itot;i)printf(%lld\n,ans[i]);return 0; }
http://www.zqtcl.cn/news/364120/

相关文章:

  • 铜仁市住房和城乡建设部网站延边有没有做网站的
  • 如何做ppt的模板下载网站移动端网站的优点
  • 网站域名没有实名认证微信平台开发技术
  • 自己用电脑做虚拟机怎么建网站个人网站 icp 代理
  • 嘉兴网站建设999 999中国建设招标网是私人网站吗
  • 网站程序设置主页面零基础学wordpress pdf下载
  • 网站代码优化有哪些专做立体化的网站
  • 单县网站定制培训机构专业
  • 网站防红链接怎么做网站建设中提示页面
  • 网站开发和游戏开发的区别互联网服务平台投诉
  • 杭州定制网站公司出名的设计网站
  • 网站查询访问注册电气工程师考试
  • 北京企业网站推广哪家公司好电商平台代运营
  • 北京快速建站模板信息管理系统网站开发
  • 做网站后台需要写代码吗做网站收多少钱
  • 企业手机网站建设咨询为企业设计一个网站
  • 做网站平台成本珠海自适应网站设计
  • 做网站手机端需要pc端的源代码吗经营网站需要注意什么
  • 域名购买之后怎么做网站做+淘宝客最大的网站是叫什么
  • 在线营销型网站wordpress 怎么添加即时联系窗口
  • 网站加图标网站开发属于无形资产
  • 个人网站开发与设计摘要企业营销策划心得体会
  • 专注苏州网站优化自建网站的优缺点
  • 网络建站怎么做js与asp.net做的网站
  • 个人网站设计理念自己做简历网站
  • 做网页设计的网站网站流量多少做网盟
  • 上海协会网站建设网站制作培训费用
  • 学会网站建设总结淮北市建市
  • 泉州开发网站的公司有哪些域名不用了需要注销吗
  • 重庆网站推广平台东莞整站优化火速公司