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

电商网站开发平台实验最新的新开传奇网站

电商网站开发平台实验,最新的新开传奇网站,logo设计大全,佛山网站制作维护P8441 旭日东升 维护一个不可重集合的序列 \(a\)#xff0c;长度为 \(n\)。支持以下两种操作#xff1a; l r x 对于每个 \(l\le i\le r\)#xff0c;将 \(x\) 并入 \(a_i\)。l r 设 \(S\) 把每个 \(l\le i\le r\) 的 \(a_i\) 并在一起的集合#xff0c;输出 \(S\) 中所有元… P8441 旭日东升 维护一个不可重集合的序列 \(a\)长度为 \(n\)。支持以下两种操作 l r x 对于每个 \(l\le i\le r\)将 \(x\) 并入 \(a_i\)。l r 设 \(S\) 把每个 \(l\le i\le r\) 的 \(a_i\) 并在一起的集合输出 \(S\) 中所有元素的和。 \(n,m,x\le 10^5,1\le l\le r\le n\)。 \(\color{yellow}{\bigstar\texttt{Trick}}\)连续的不可重集合 \(\rightarrow\) 含有每种颜色的地方以不重叠的区间形式存在考虑用 ODT 维护区间中是否有这个数。如果我们能在每次操作之后都将 \([1,n]\) 的区间划分不存在连续的 \(0\) 区间的若干段那么不含有这个数的区间一定是被完全包含在 \(0\) 区间中。 为了实现对区间端点的限制两位神仙为我们指引了方向 \(\texttt{p}\color{red}{\texttt{igstd}}\)这个问题可以转化为矩形加、单点求值之后想方法实现。 \(\texttt{B}\color{red}{\texttt{uttercake}}\)矩形加、单点求值可以将询问和修改离线按照左端点排序将操作存储在左端点并用树状数组维护但常数很小。(update即将矩形差分后离线处理) 于是你就做完了 此题代码 #define Maxn 100005 int n,m; ll ans[Maxn]; struct BIT {ll tree[Maxn];inline void add(int x,ll k){ while(xn) tree[x]k,xx(-x); }inline ll query(int x){ ll ret0; while(x) rettree[x],x-x(-x); return ret; } }T; struct ODT {int l,r,val;ODT(int L0,int R0,int Val0):l(L),r(R),val(Val){}bool friend operator (ODT x,ODT y) { return x.ly.l; } }; setODT s[Maxn]; struct Operation {int opt,l,r,val,num;Operation(int Opt0,int L0,int R0,int Val0,int Num0):opt(Opt),l(L),r(R),val(Val),num(Num){}bool friend operator (Operation x,Operation y) { return x.ly.l; } }; vectorOperation op; inline void add(int l,int r,int val) {op.emplace_back(0,l,l,val,0);op.emplace_back(0,l,r1,-val,0);op.emplace_back(0,r1,l,-val,0);op.emplace_back(0,r1,r1,val,0); } inline auto split(int opt,int x) {if(!s[opt].size()) s[opt].emplace(1,n1,0);auto its[opt].lower_bound(ODT(x,0,0));if(it!s[opt].end() it-lx) return it;it--;int lit-l,rit-r,valit-val;if(it-val0) add(l,r,opt),add(l,x-1,-opt),add(x,r,-opt);s[opt].erase(it);s[opt].emplace(l,x-1,val);return s[opt].emplace(x,r,val).fi; } inline void assign(int opt,int l,int r) {if(!s[opt].size()) s[opt].emplace(1,n1,0);auto itrsplit(opt,r1),itlsplit(opt,l);for(auto ititl;it!itr;it)if(it-val0) add(it-l,it-r,opt);s[opt].erase(itl,itr);s[opt].emplace(l,r,1); } void solve(int ql,int qr) {if(qlqr) return;int mid(qlqr)1;solve(ql,mid),solve(mid1,qr);int nlql;for(int nrmid1;nrqr;nr) if(op[nr].opt){while(nlmid op[nl].lop[nr].l){ if(op[nl].opt0) T.add(op[nl].r,op[nl].val); nl; }ans[op[nr].num]T.query(op[nr].r);}for(int iql;inl;i) if(op[i].opt0) T.add(op[i].r,-op[i].val);inplace_merge(op.begin()ql,op.begin()mid1,op.begin()qr1); } int main() {nrd(),mrd();for(int i1,opt,l,r,x;im;i){optrd(),lrd(),rrd();if(opt1) xrd(),assign(x,l,r),ans[i]-1;else op.emplace_back(1,l,r,0,i),ans[i]0;}solve(0,op.size()-1);for(int i1;im;i) if(ans[i]!-1) printf(%lld\n,ans[i]);return 0; } 于是你已经对二维数点的基本原理有了一定的了解就让我们来看一看下面这个简单的例子来吧我们刚刚学到的知识运用到时间中吧。 试试看(bushi CF848C Goodbye Souvenir 修改一个元素其实就是删除一个元素后增加一个元素分别考虑他们的贡献是多好 设当前下标为 \(x\)上一个这种元素为 \(p\)下一个元素为 \(s\)则 加入一个元素 \(l\in[1,p],r\in[x,s)\) 区间加上 \(x-p\)。\(l\in(p,x],r\in[s,n]\) 区间加上 \(s-x\)。 删除一个元素将加法的权值倒过来即可。 我们需要查询的是区间和即变为了一个矩形加、单点查询问题离线解决即可。 P4690 [Ynoi2016] 镜中的昆虫 维护一个长为 \(n\) 的序列 \(a_i\)有 \(m\) 次操作。 1 l r x 将区间 \([l,r]\) 的值修改为 \(x\)。2 l r 询问区间 \([l,r]\) 出现了多少种不同的数也就是说同一个数出现多次只算一个。 \(1\le n,m\le 10^5,1\le a_i\le 10^9\)。 和上一题不能说差不多只能说十分相似(bushi 用一个 ODT 维护全局颜色端对每个颜色再分别维护颜色端。 用矩形加、单点查的套路做分治解决即可。
http://www.huolong8.cn/news/441539/

相关文章:

  • 乐彩网站源码网站建设域名绑定ip网站吗
  • 百变模板手机网站建设网友wordpress
  • 企业网站 jquery运维工程师
  • 福州网站开发si7.cc杭州设计公司logo
  • idea网站开发教程昆明网站建设搜q479185700
  • 正一品网站建设网站备案变更主体
  • 南阳专业做网站公司哪家好莱芜民生网
  • 自建销售网站vs2010网站开发 SQL
  • 百度网站怎么建设桐城市住宅和城乡建设局网站
  • 鞋子网站模板网络营销概念是谁提出的
  • 汕尾东莞网站建设济南哪里有网站公司
  • 做爰网站有哪些搜索排名提升
  • 建立网站站点的过程中正确的是威海百度seo
  • 网站服务器查找wordpress 文档 插件
  • 360如何做免费的网站南京网站高端
  • 国外做logo的网站上海室内设计公司
  • 建站优化是什么上海seo网站策划
  • 福建城市建设厅网站移动宽带续费网上营业厅
  • 免费的作文网站软件服务网站设计费如何做分录
  • 化工行业网站模板wordpress手机端滑动侧栏
  • 奉贤网站建设专家网络营销的六大特征
  • 电子商务书店网站设计实验佛系汉化组.wordpress
  • 网站百度商桥内江网站建设新闻
  • 山东农业大学学风建设专题网站手机设计logo软件免费
  • 做网站类网站费用软件工程项目开发流程
  • 哪里有做网站优化的公司品牌型网站开发
  • 奉贤免费网站建设网页版游戏在线玩2022
  • 网站关键词多少好网站后期维护费用多少
  • 自助网站建设软件杭州做网站的网络公司有哪些
  • 手把手做网站页面wordpress grace主题