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

b2c电子商务网站源码/廊坊百度快照优化哪家服务好

b2c电子商务网站源码,廊坊百度快照优化哪家服务好,wordpress注册登录小工具,网页制作包括哪些内容题目链接 P2023 [AHOI2009]维护序列 解题思路 线段树板子。不难,但是...有坑。坑有多深?一页\(WA\)。 由于乘法可能乘\(k0\),我这种做法可能会使结果产生负数。于是就有了这篇题解。 (详情见代码注释) AC代码 #include…

题目链接

P2023 [AHOI2009]维护序列

解题思路

线段树板子。不难,但是...有坑。坑有多深?一页\(WA\)
由于乘法可能乘\(k=0\),我这种做法可能会使结果产生负数。于是就有了这篇题解。
(详情见代码注释)

AC代码

#include<stdio.h>
#define min(a,b) (a>b?b:a)
#define max(a,b) (a>b?a:b)
typedef long long ll;
int n,m;
ll mod,k,a[500010];
struct Tree{int left,right;ll data,lazy,mul;
}tree[2000010];
void build(int p,int left,int right){tree[p].left=left;tree[p].right=right;tree[p].mul=1;if(left==right){tree[p].data=a[left];return;}build(p<<1,left,(left+right)>>1);build(p<<1|1,((left+right)>>1)+1,right);tree[p].data=(tree[p<<1].data+tree[p<<1|1].data)%mod;
}
void pushdown(int p){ll mul=tree[p].mul,lazy=tree[p].lazy;tree[p<<1].lazy*=mul;tree[p<<1].lazy+=lazy;tree[p<<1].lazy%=mod;tree[p<<1].mul*=mul;tree[p<<1].mul%=mod;tree[p<<1|1].lazy*=mul;tree[p<<1|1].lazy+=lazy;tree[p<<1|1].lazy%=mod;tree[p<<1|1].mul*=mul;tree[p<<1|1].mul%=mod;tree[p].data*=tree[p].mul;tree[p].data+=(tree[p].right-tree[p].left+1)*tree[p].lazy;tree[p].data%=mod;tree[p].lazy=0;tree[p].mul=1;
}
void add(int left,int right,ll k,int p){int l=tree[p].left,r=tree[p].right;if(l>right||r<left||p>4*n)return;pushdown(p);if(l>=left&&r<=right){tree[p].lazy+=k;tree[p].lazy%=mod;return;}tree[p].data+=k*(min(right,r)-max(left,l)+1);tree[p].data%=mod;add(left,right,k,p<<1);add(left,right,k,p<<1|1);
}
ll multy(int left,int right,ll k,int p){int l=tree[p].left,r=tree[p].right;if(l>right||r<left||p>4*n)return 0;pushdown(p);if(l>=left&&r<=right){ll temp=tree[p].data*tree[p].mul+tree[p].lazy*(r-l+1);tree[p].lazy*=k;tree[p].lazy%=mod;tree[p].mul*=k;tree[p].mul%=mod;return ((k-1)*temp%mod+mod)%mod;//非常重要!!!!!! }ll temp=multy(left,right,k,p<<1)+multy(left,right,k,p<<1|1); tree[p].data+=temp;tree[p].data=;return temp;
}
ll query(int left,int right,int p){int l=tree[p].left,r=tree[p].right;if(l>right||r<left||p>4*n)return 0;pushdown(p);if(l>=left&&r<=right)return tree[p].data;return query(left,right,p<<1)+query(left,right,p<<1|1);
}
int main(){int s,x,y,i;scanf("%d%lld",&n,&mod);for(i=1;i<=n;i++)scanf("%lld",&a[i]);build(1,1,n);scanf("%d",&m);while(m--){scanf("%d%d%d",&s,&x,&y);if(s-3){scanf("%lld",&k);if(s-1)add(x,y,k,1);else multy(x,y,k,1);}else printf("%lld\n",query(x,y,1)%mod);}return 0;
}

转载于:https://www.cnblogs.com/Potassium/p/10240855.html

http://www.jmfq.cn/news/4860847.html

相关文章:

  • 为离职员工做的网站/app拉新平台哪个好佣金高
  • 重庆网站建设排名/seo营销推广
  • 临漳seo整站排名/杭州百度推广
  • 山西建设官方网站/找个免费的网站
  • axure怎么做优酷网站/企业网站设计欣赏
  • 用花生做网站/聚名网域名注册
  • 南京 网站制作公司哪家好/潍坊网站开发公司
  • 企业网站建设课程体会/百度贴吧官网首页
  • 锦州做网站多少钱/怎样做网站平台
  • 西安网站建设服务价格信息/百度营销推广官网
  • 建设威客网站/西安网站seo技术
  • 做网站的细节/那种网站怎么搜关键词
  • vps如何做网站步骤/百度快照投诉中心官网
  • 政府网站建设招标文件/seo综合查询是什么意思
  • 怎么自己开发一个app软件/整站优化系统厂家
  • 个人做外贸网站/seo初学教程
  • 排名优化网站/网络营销出来可以干什么工作
  • 沙河企业做网站/广州网络推广公司排名
  • 网站文件保护怎么做/帮收款的接单平台
  • 亳州做网站的公司/百度seo在哪里
  • wordpress自定义筛选/seo实战培训教程
  • 沈阳企业网站建设/南宁百度seo排名
  • 晨旭东方网站建设/网页推广怎么收取费用
  • wordpress footer copyright/山西seo基础教程
  • 泵阀网站建设/西安seo托管
  • 安庆 网站建设/百度广告公司联系方式
  • 做网站如何上传/网站检测中心
  • 郑州文化企业设计公司/厦门谷歌seo公司有哪些
  • 汕头怎么进行关键词优化/seo推广论坛
  • 网站建站多钱/搜索引擎营销是指