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

手机网站建设套餐内容网页是怎么做的

手机网站建设套餐内容,网页是怎么做的,大兴网站开发网站建设咨询,做招聘网站赚钱吗【BZOJ4262】Sum Description Input 第一行一个数 t#xff0c;表示询问组数。第一行一个数 t#xff0c;表示询问组数。接下来 t 行#xff0c;每行四个数 l_1, r_1, l_2, r_2。Output 一共 t 行#xff0c;每行一个数 Sum。Sample Input 4 1 3 5 7 2 4 6 8 1 1 9 9 9 9 1…【BZOJ4262】Sum Description Input 第一行一个数 t表示询问组数。 第一行一个数 t表示询问组数。 接下来 t 行每行四个数 l_1, r_1, l_2, r_2。 Output 一共 t 行每行一个数 Sum。 Sample Input 4 1 3 5 7 2 4 6 8 1 1 9 9 9 9 1 1 Sample Output 9322587654 9025304064 1065645568 0 HINT 1t40000,1L1R110^5,1L2R210^5 题解我们分开考虑max和pre的情况。我们将max(i...j)视为二维平面上点(i,j)的权值处理出每个数左边第一个比它大的数然后这个数的贡献区间可以就看成一个矩形或三角形而询问就变成了求平面上一个矩形区域的权值和。可以用线段树来搞。 不过线段树维护历史总和还真是不容易打标记的部分还是好好说说吧。 维护三个值v代表当前的区间和s代表历史的v之和l代表区间长度。维护四个标记a,b,c,d代表标记生效后va*vb*lssc*vd*l。 关键在于标记如何合并。假如我们要将x和y的标记合并成z。 a显然z.ax.a*y.a即可。b先要*y.a还要y.b。cx.a*y.c。d先要y.d还要x.b*y.c。   #include cstdio #include cstring #include iostream #include algorithm #define lson x1 #define rson x1|1 using namespace std; const int maxn100010; typedef long long ll; struct Tag {ll a,b,c,d;Tag () {a1,bcd0;}Tag (ll A,ll B,ll C,ll D) {aA,bB,cC,dD;}Tag operator (const Tag x) const {return Tag(a*x.a,b*x.ax.b,a*x.cc,db*x.cx.d);} }; struct node {ll v,s,l;Tag t;node () {vsl0,tTag();}node (ll a,ll b,ll c,Tag d) {va,sb,lc,td;}inline void add(Tag x){ssv*x.cl*x.d,vv*x.al*x.b,ttx;}node operator (const node a) const{return node(va.v,sa.s,la.l,Tag());} }s[maxn2]; int m,n,top; ll ans[maxn],v[maxn]; int st[maxn],pre[maxn]; struct QUERY {int x,l,r,org,k; }q[maxn]; bool cmp(const QUERY a,const QUERY b) {return a.xb.x; } inline void pushdown(int x) {if(s[x].t.a!1||s[x].t.b||s[x].t.c||s[x].t.d) s[lson].add(s[x].t),s[rson].add(s[x].t),s[x].tTag(); } void build(int l,int r,int x) {if(lr){s[x]node(),s[x].l1;return ;}int mid(lr)1;build(l,mid,lson),build(mid1,r,rson);s[x]s[lson]s[rson]; } void updata(int l,int r,int x,int a,int b,Tag t) {if(ab) return ;if(alrb){s[x].add(t);return ;}pushdown(x);int mid(lr)1;if(amid) updata(l,mid,lson,a,b,t);if(bmid) updata(mid1,r,rson,a,b,t);s[x]s[lson]s[rson]; } node query(int l,int r,int x,int a,int b) {if(alrb) return s[x];pushdown(x);int mid(lr)1;if(bmid) return query(l,mid,lson,a,b);if(amid) return query(mid1,r,rson,a,b);return query(l,mid,lson,a,b)query(mid1,r,rson,a,b); } void work(ll flag) {int i,j;build(1,n,1);for(j1;j2*m!q[j].x;j);for(i1;in;i){updata(1,n,1,pre[i],i,Tag(0,v[i],0,0)),s[1].add(Tag(1,0,1,0));for(;j2*mq[j].xi;j) ans[q[j].org]flag*q[j].k*query(1,n,1,q[j].l,q[j].r).s;} } inline int rd() {int ret0,f1; char gcgetchar();while(gc0||gc9) {if(gc-) f-f; gcgetchar();}while(gc0gc9) retret*10gc-0,gcgetchar();return ret*f; } int main() {mrd();int i;ll t11,t21;for(i1;im;i) q[i].lq[im].lrd(),q[i].rq[im].rrd(),q[i].xrd()-1,q[im].xrd(),nmax(n,q[im].x),q[i].k-1,q[im].k1,q[i].orgq[im].orgi;for(i1;in;i) t1t1*1023%1000000000,t2t2*1025%1000000000,v[i]t1^t2;sort(q1,q2*m1,cmp);for(i1;in;i){while(topv[st[top]]v[i]) top--;pre[i]st[top]1,st[top]i;}work(-1);for(top0,i1;in;i){while(topv[st[top]]v[i]) top--;pre[i]st[top]1,st[top]i;}work(1);for(i1;im;i) printf(%lld\n,ans[i]);return 0; }   转载于:https://www.cnblogs.com/CQzhangyu/p/7749437.html
http://www.pierceye.com/news/859789/

相关文章:

  • 青岛市建设厅网站快递网站建设
  • 昆明网站WordPress文章怎么折叠
  • 拖拽建站系统源码企业主题展厅设计公司
  • asp.net网站的数据库配置张家港网站 设计制作
  • 聊城手机网站建设多少钱扬州网站建设哪个好薇
  • 云南安宁做网站的公司手机网页制作软件中文版
  • 如何做征信公司网站做谷歌推广一定要网站吗
  • 重庆市做网站的公司有哪些苏州网站建设设计公司
  • 网站制作计算机域名解析到网站
  • 自己做的电影网站打开很慢wordpress 防采集
  • 西安专业网站建设公司排名做网站编写
  • 做电影网站还能赚钱云南网站建设哪家公司好
  • 重庆定制网站开发什么是网络营销战略
  • 网站建设硬件方案精准客源app
  • 网站视觉优化怎么做电子商务网站建设参考文献2018
  • 服务器可以吧网站做跳转吗wordpress 远程图片本地化
  • 网站在线访谈栏目建设个人网站可以备案了吗
  • 汉口北做网站搜索广告是什么
  • 电商网站可以用dw做嘉兴网站建设平台
  • 做网站是数据库应该放在哪里建筑工程水平防护网
  • vps网站无法通过ip访问网站怎么做的支付宝接口
  • 怎么创建一个博客网站网站的c4d动画是怎么做的
  • 西安做企业网站科技论文发表网
  • html 手机网站开发企业做网站的合同
  • 建立wordpress网站吗全州建设完小网站
  • 网站域名注册证书是什么制作WordPress友情链接
  • 如何在解决方案中新建网站html网页制作的软件下载
  • 企业网站怎么做优化开小加工厂去哪接单子
  • 网站建设推广费怎么做账域名和网站绑定
  • 商丘网站建设想象力网络中国流量最大的网站排行