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

广州英铭网站建设铁岭公司做网站

广州英铭网站建设,铁岭公司做网站,wordpress 删除 仪表盘,本机可以做网站的服务器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://wiki.neutronadmin.com/news/132447/

相关文章:

  • 响应式企业网站案例seo排名是什么意思
  • 网站建设如何空间绑定域名网站对于企业的
  • 用dw做的网站怎么发布到网上松原建设网站
  • 图片分页网站模板设计的网站源代码怎么做
  • 个人博客网站需要备案吗可以自己做装修效果图的网站
  • 网站注册信息查询成都自适应建站哪家好
  • 农机局网站建设方案wordpress 书籍主题
  • 网络科技官网网站建设怎么做二维码直接进入网站
  • 关于h5的网站柳州建设局网站
  • 南昌企业网站设计公司国外socks5代理ip地址2023
  • 网站是asp还是php专门做酒店自助餐的网站
  • 网站建设开发案例教程视频教程温州论坛网站首页
  • 扬州大发网站建设免费的旅游网站模板
  • 商城网站开发需求分析中国机械加工网易下拉教程
  • wordpress网站的彻底清理重庆seo整站优化服务
  • 网站右侧虚代码网站建设招标
  • 免费自己建网站网站运营无经验可以做吗
  • 网站建设项目需求分析报告怎么免费做文学网站
  • 沈阳网站维护公司桂林旅游
  • 网站首页设计费用网站被墙查询
  • 做盗版小说网站违法吗软文代写费用
  • 健康网站可以做推广吗饭店装修设计
  • 模板网站可以做推广吗手机端做的优秀的网站
  • 国内专业网站建设公司茂名公司制作网站
  • 政协网站建设意义吴桥县网站建设
  • 电子商务网站建设是学什么软件网站支付方案的设计
  • 自己建设小城市网站得多少钱google搜索排名优化
  • 模拟炒股网站开发服务商标有哪些
  • 呼市做网站公司濮阳建设网
  • 北京做环评备案的网站百度seo排名优化提高流量