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

网站建设项目外包合同范本docker安装wordpress

网站建设项目外包合同范本,docker安装wordpress,自己建网站卖东西怎么样,建站合同模板线段树是一种二叉搜索数#xff0c;一般用来实现动态的区间询问#xff0c;与树状数组有相似之处#xff0c;但是能用树状数组实现的操作都能用线段树实现。 一般线段树用于以下几种操作#xff1a; 建树#xff0c;单点修改#xff0c;区间查询#xff0c;区间修改。…线段树是一种二叉搜索数一般用来实现动态的区间询问与树状数组有相似之处但是能用树状数组实现的操作都能用线段树实现。 一般线段树用于以下几种操作 建树单点修改区间查询区间修改。 首先要进行的就是建树 void bui(int id,int l,int r) {if(lr){tr[id]a[l];return ;}int mid(lr)/2;bui(id*2,l,mid);bui(id*21,mid1,r);tr[id]max(tr[id*2],tr[id*21]);//tr[id]tr[id*2]tr[id*21]; }//查询最大值与区间和最小值同理 单点修改 void gexi(int id,int l,int r,int x,int v) {if(lr){tr[id]v;return ;}int mid(lr)/2;if(xmid)gexi(id*2,l,mid,x,v);else gexi(id*21,mid1,r,x,v);tr[id]max(tr[id*2],tr[id*21]);//tr[id]tr[id*2]tr[id*21] }//查询最大值与区间和 区间查询 int find(int id,int l,int r,int x,int y) {if(xlry){return tr[id];}int mid(lr)/2,ans0;if(xmid)ansmax(ans,find(id*2,l,mid,x,y));//ansfind(id*2,l,mid,x,y);if(ymid)ansmax(ans,find(id*21,mid1,r,x,y));//ansfind(id*21,mid1,r,x,y);return ans; } 区间修改 void push_up(int id) {tr[id]tr[id*2]tr[id*21]; } void push_down(int id,int l,int r) {if(lazy[id])//如果有lazy标记 {int mid(lr)/2;lazy[id*2]lazy[id];//左孩子的lazy加上它的lazy lazy[id*21]lazy[id];//右孩子的lazy加上它的lazy tr[id*2]lazy[id]*(mid-l1);tr[id*21]lazy[id]*(r-mid);lazy[id]0;//清除lazy标记 } } void qjgx(int id,int l,int r,int x,int y,int v) {if(xlry)//[l,r]被[x,y]包含了 }{lazy[id]v;//暂时不下传修改的值加进lazy标记 tr[id]v*(r-l1); return ;}push_down(id,l,r);//要更新节点了开始下传修改的值 int mid(lr)/2;if(xmid)qjgx(id*2,l,mid,x,y,v);//只有xmid(即[l,mid]有一部分是被[x,y]覆盖了的)才需要去更新[l,mid]if(ymid)qjgx(id*21,mid1,r,x,y,v);push_up(id); //子节点更新后父节点也更新 } 下面是两道例题可以试着尝试一下这几种操作 一敌兵布阵 敌人有 N 个工兵营地编号 1∼N。 初始时第 i 个营地有 ai 个人。 接下来有若干个命令命令有 4 种形式 Add i ji 和 j 为正整数表示第 i 个营地增加 j 个人。j 不超过 30 Sub i ji 和 j 为正整数表示第 i 个营地减少 j 个人。j 不超过 30 Query i ji 和 j 为正整数i≤j表示询问第 i 到第 j 个营地的总人数。 End表示结束此命令只会作为最后一条命令出现。 请你计算每个 Query 的答案。 输入格式 第一行包含整数 T表示共有 T 组测试数据。 每组数据第一行包含一个整数 N。 第二行包含 N 个整数 a1,a2,…,aN。 接下来若干行每行包含一条命令格式如题目所述。 输出格式 对于第 i 组数据首先输出一行 Case i:然后对于每个 Query 询问输出一行一个整数表示询问的段中的总人数。 数据范围 1≤T≤10, 1≤N≤50000, 1≤ai≤50, 每组数据最多有 40000 条命令 保证任何营地的人数都不会减少为负数。 输入样例 1 10 1 2 3 4 5 6 7 8 9 10 Query 1 3 Add 3 6 Query 2 7 Sub 10 2 Add 6 3 Query 3 10 End输出样例 Case 1: 6 33 59 AC代码 #include bits/stdc.h using namespace std; #define p 50010 int tr[4*p],a[4*p]; void bui(int id,int l,int r) {if(lr){tr[id]a[l];return ;}int mid(lr)/2;bui(id*2,l,mid);bui(id*21,mid1,r);tr[id]tr[id*2]tr[id*21]; } int find(int id,int l,int r,int x,int y) {if(xlry){return tr[id];}int mid(lr)/2,ans0;if(xmid)ansfind(id*2,l,mid,x,y);if(ymid)ansfind(id*21,mid1,r,x,y);return ans; } void gexi(int id,int l,int r,int x,int v) {if(lr){tr[id]v;return ;}int mid(lr)/2;if(xmid)gexi(id*2,l,mid,x,v);else gexi(id*21,mid1,r,x,v);tr[id]tr[id*2]tr[id*21]; } int main() {int t;scanf(%d,t);for(int k1;kt;k){int n;scanf(%d,n);memset(a,0,sizeof(a));memset(tr,0,sizeof(tr));for(int i1;in;i)scanf(%d,a[i]);bui(1,1,n);char x[10];int aa,bb,cc;coutCase k:endl;while(~scanf(%s,x)){if(x[0]Q){scanf(%d%d,aa,bb);printf(%d\n,find(1,1,n,aa,bb));}else if(x[0]A){scanf(%d%d,aa,bb);gexi(1,1,n,aa,bb);}else if(x[0]S){scanf(%d%d,aa,bb);gexi(1,1,n,aa,-bb);}elsebreak;}}return 0; } 二一个简单的整数问题2 给定一个长度为 N 的数列 A以及 M 条指令每条指令可能是以下两种之一 C l r d表示把 A[l],A[l1],…,A[r] 都加上 d。 Q l r表示询问数列中第 l∼r 个数的和。 对于每个询问输出一个整数表示答案。 输入格式 第一行两个整数 N,M。 第二行 N 个整数 A[i]。 接下来 M 行表示 M 条指令每条指令的格式如题目描述所示。 输出格式 对于每个询问输出一个整数表示答案。 每个答案占一行。 数据范围 1≤N,M≤105, |d|≤10000, |A[i]|≤109 输入样例 10 5 1 2 3 4 5 6 7 8 9 10 Q 4 4 Q 1 10 Q 2 4 C 3 6 3 Q 2 4输出样例 4 55 9 15 AC代码 #include bits/stdc.h #define int long long using namespace std; int sumv[10000001],n,m,a[10000001],lazy[10000001]; void push_up(int id) {sumv[id] sumv[id * 2] sumv[id * 2 1]; } void push_down(int id,int l,int r) {if(lazy[id]){int mid (l r) / 2;lazy[id * 2] lazy[id];lazy[id * 2 1] lazy[id];sumv[id * 2] lazy[id] * (mid - l 1);sumv[id * 2 1] lazy[id] * (r - mid);lazy[id] 0;} } void bui(int id,int l,int r) {if(l r){sumv[id] a[l];return ;}int mid (l r) / 2;bui(id * 2,l,mid);bui(id * 2 1,mid 1,r);sumv[id] sumv[id * 2] sumv[id * 2 1]; } void qjgx(int id,int l,int r,int x,int y,int v) {if(l x r y){lazy[id] v;sumv[id] v * (r - l 1);return ;}push_down(id,l,r);int mid (l r) / 2;if(x mid) qjgx(id * 2,l,mid,x,y,v);if(y mid) qjgx(id * 2 1,mid 1,r,x,y,v);push_up(id); } int find(int id,int l,int r,int x,int y) {if(x l r y) return sumv[id];push_down(id,l,r);int mid (l r) / 2,ans 0;if(x mid) ans find(id * 2,l,mid,x,y);if(y mid) ans find(id * 2 1,mid 1,r,x,y);return ans; } signed main() {cinnm;for(int i 1; i n; i) cina[i];bui(1,1,n);while(m--){string p;int k,x,y;cinpxy;if(p C){cink;qjgx(1,1,n,x,y,k);}else coutfind(1,1,n,x,y)\n;}return 0; } 下一篇 codeforces round 885 (div. 2)
http://www.sadfv.cn/news/172577/

相关文章:

  • 电视台网站建设网站 锚点链接怎么做
  • 自己做网站买东西如何开公司做网站
  • 成都网站设计报告书广州装修公司口碑最好的是哪家
  • 泰安网站建设哪家专业目录 首页 wordpress
  • 书店网站建设规划书网站建设得花多钱
  • 工业设计参考网站成都百度推广和seo优化
  • 网站建设各个模块的功能古镇企业网站建设定制
  • 多语种外贸网站建设ps做网站的时候分辨率是
  • 房产网站方案网站设计的逻辑结构
  • 用源码怎么做网站重庆市工程建设标准化网站
  • app网站开发价格手机网站制作教程视频教程
  • 获得网站管理员密码建站合同模板
  • 以个人名义可以做网站吗网站风格分类
  • 网站建设数据库做服装搭配的流行趋势网站
  • 贵阳市建设局地址网站建站公司网站论坛
  • 专注徐州网站开发再网站里做商家店铺
  • 模板网站的域名是什么意思wordpress 后台文章
  • 做推广哪个食品网站好wordpress菜单导入导出
  • 网站的友情连接怎么做企业建站系统信息
  • 免费做文字图网站贵州省建设厅住房和城乡建设官网
  • 南同网站建设软件下载网络营销顾问
  • 做网站到底怎么赚钱哪些网站是营销型网站
  • 照片分享网站开发费用用笔记本电脑能建设网站吗
  • 广州网站建设 中网科技地方网站类型
  • 装修包工头接活网站网站设计需从哪些方面考虑
  • 做公司网站的费用计入什么科目推广用哪个平台效果好
  • 台州网站seo外包黑龙江省城乡建设厅网站首页
  • 网站开发数据库问题网站简繁转换
  • 个人网站 备案 名称营销策略ppt模板
  • 苏中建设集团网站官网建设银行招聘官网网站