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

网站设计需求原型图广西网站建设制作

网站设计需求原型图,广西网站建设制作,wordpress搜索收录,东营做网站哪里好目录 描述 输入 输出 样例输入 样例输出 思路 建树 第一次错误解法#xff08;正确解法在下面#xff0c;可跳过这一步#xff09; 正确解法 code 描述 You have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. One type of … 目录 描述 输入 输出 样例输入  样例输出  思路 建树  第一次错误解法正确解法在下面可跳过这一步 正确解法 code  描述 You have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. One type of operation is to add some given number to each number in a given interval. The other is to ask for the sum of numbers in a given interval. 输入 The first line contains two numbers N and Q. 1 ≤ N,Q ≤ 100000. The second line contains N numbers, the initial values of A1, A2, ... , AN. -1000000000 ≤ Ai ≤ 1000000000. Each of the next Q lines represents an operation. C a b c means adding c to each of Aa, Aa1, ... , Ab. -10000 ≤ c ≤ 10000. Q a b means querying the sum of Aa, Aa1, ... , Ab. 输出 You need to answer all Q commands in order. One answer in a line. 样例输入  10 5 C 3 6 3 Q 2 4样例输出  9 15 思路 不要看这题全英文但这题就是属于线段树模版题基本做法是一样的 建树  第一次错误解法正确解法在下面可跳过这一步 树没有更新成功id10id11理论上是要继续更新他们的sum值但我的错误代码没有更新 #define _CRT_SECURE_NO_WARNINGS 1 #includeiostream using namespace std; const int N 100010; #define ll long long ll nums[N]; struct Tree {int l, r;ll sum;ll tag; }tree[N 2]; void pushup(int u) {tree[u].sum tree[u 1].sum tree[u 1 | 1].sum; } void build(int l, int r, int u) {if (l r) tree[u] { l,r,nums[l] };//要与结构体Tree一一对应 else {tree[u] { l,r };int mid (l r) 1;build(l, mid, u 1);build(mid 1, r, u 1 | 1);pushup(u);} } ll query(int L, int R, int u) {int l tree[u].l, r tree[u].r;if (l L r R)return tree[u].sum;int mid (l r) 1;ll sum 0;if (L mid) sum query(L, R, u 1);if (R mid) sum query(L, R, u 1 | 1);return sum; } void pushdown(int u, int ln, int rn) {if (tree[u].tag) {tree[u 1].tag tree[u].tag;tree[u 1 | 1].tag tree[u].tag;tree[u 1].sum tree[u].tag * ln;tree[u 1 | 1].sum tree[u].tag * rn;tree[u].tag 0;} } void updatespan(int L, int R, int value, int u) {int l tree[u].l, r tree[u].r;int mid (l r) 1;if (l L r R) {tree[u].tag value;tree[u].sum value * (r - l 1);return;}pushdown(u, mid - l 1, r - mid);if (L mid) updatespan(L, R, value, u 1);if (R mid) updatespan(L, R, value, u 1 | 1);pushup(u); } int main() {int n, q;while (scanf(%d%d, n, q) ! EOF) {for (int i 1; i n; i) scanf(%lld, nums[i]);build(1, n, 1);while (q--) {string cz;int op1, op2;cin cz;if (cz C) {int val;scanf(%d%d%d, op1, op2, val);updatespan(op1, op2, val, 1);}else {scanf(%d%d, op1, op2);printf(%lld\n, query(op1, op2, 1));}}}return 0; } 正确解法 关键在于updatespan函数中if语句中我没有继续pushdown导致错误 code  #define _CRT_SECURE_NO_WARNINGS 1 #includeiostream using namespace std; const int N 100010; #define ll long long ll nums[N]; struct Tree {int l, r;ll sum;ll tag; }tree[N 2]; void pushup(int u) {tree[u].sum tree[u 1].sum tree[u 1 | 1].sum; } void build(int l, int r, int u) {if (l r) {tree[u] { l,r,nums[l] };//要与结构体Tree一一对应 else {tree[u] { l,r };int mid (l r) 1;build(l, mid, u 1);build(mid 1, r, u 1 | 1);pushup(u);} } ll query(int L, int R, int u) {int l tree[u].l, r tree[u].r;if (l L r R)return tree[u].sum;int mid (l r) 1;ll sum 0;if (L mid) sum query(L, R, u 1);if (R mid) sum query(L, R, u 1 | 1);return sum; } void pushdown(int u, int ln, int rn) {if (tree[u].tag) {tree[u 1].tag tree[u].tag;tree[u 1 | 1].tag tree[u].tag;tree[u 1].sum tree[u].tag * ln;tree[u 1 | 1].sum tree[u].tag * rn;tree[u].tag 0;} } void updatespan(int L, int R, int value, int u) {int l tree[u].l, r tree[u].r;int mid (l r) 1;if (l L r R) {tree[u].tag value;tree[u].sum value * (r - l 1);pushdown(u, mid - l 1, r - mid);//关键return;}pushdown(u, mid - l 1, r - mid);if (L mid) updatespan(L, R, value, u 1);if (R mid) updatespan(L, R, value, u 1 | 1);pushup(u); } int main() {int n, q;while (scanf(%d%d, n, q) ! EOF) {for (int i 1; i n; i) scanf(%lld, nums[i]);build(1, n, 1);while (q--) {string cz;int op1, op2;cin cz;if (cz C) {int val;scanf(%d%d%d, op1, op2, val);updatespan(op1, op2, val, 1);}else {scanf(%d%d, op1, op2);printf(%lld\n, query(op1, op2, 1));}}}return 0; }
http://www.pierceye.com/news/978435/

相关文章:

  • 最好网站建设公司运营团队南山医院网站建设
  • 微小店网站建设官网杭州网站设计上市公司
  • 合肥装饰公司做的好的网站采购销售管理软件
  • wordpress做后端wordpress的seo优化
  • 学术会议网站怎么做教学工作总结
  • 可以在线做试卷的网站互联网营销与管理
  • 国际重大新闻湛江做网站优化
  • 做app的模板下载网站有哪些长春网上建设网站
  • 建网站多少钱 万户项目管理软件手机版
  • 福州做网站需要多少钱win10 安装wordpress
  • 网站建设大约需要多少钱软文推广平台排名
  • 开发公司 网站建设价格seo优化排名怎么做
  • 网站开发如何使用微信登录鞍山专业做网站公司
  • 电子商务网站建设设计报告关于网站建设的指标
  • 电子商务网站建设实训展示网络技术就业方向
  • 乐清装修网站哪个好wordpress文章商品模板
  • 可以做超链接或锚文本的网站有哪些张店网站制作哪家好
  • 企业商城网站建设价格怎么自己建立公司网站
  • 网站上的广告怎么做工业设计是什么
  • 制作网站用c#做前台设计师合作网站
  • 做网站具体流程wordpress octopress
  • 怎么样增加网站权重图片wordpress博客
  • 网站开发接口文档模板个人在线网站推广
  • 百度关键词排名销售长沙网站优化
  • 阿里云部署多个网站wordpress 导航站点
  • 网站品牌词优化怎么做全国网站建设公司
  • 沧州做网站哪家好wordpress站点进入时弹窗
  • 中国化工建设网站做淘宝网站如何提取中间的提成
  • 柳州网站制作推荐怀化网站seo
  • iis网站ip兰州网站排名分析