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

网站建设公司 盐城市推广网站大全

网站建设公司 盐城市,推广网站大全,慧聪网网站建设策略,wordpress自带主题下载又到了万物复苏的季节,家乡的苹果树结果了。像往常一样小龙同学被叫回家摘苹果。 假设需要采摘的一棵树上当前有a颗苹果,那么小龙会采摘⌈a/3⌉颗苹果,其中⌈x⌉表示不小于x的最小整数。 但是,为了可持续发展,若a小于1…


 

又到了万物复苏的季节,家乡的苹果树结果了。像往常一样小龙同学被叫回家摘苹果。

假设需要采摘的一棵树上当前有a颗苹果,那么小龙会采摘⌈a/3⌉颗苹果,其中⌈x⌉表示不小于x的最小整数。

但是,为了可持续发展,若a小于10,那么小龙不会采摘这棵树的任何一颗苹果。

此外,小龙时不时会有一些疑问,想知道一些树上当前总共有多少颗苹果。

又或者想知道一些树中有多少棵苹果树上的苹果小于100颗。

那么就请你来帮助小龙同学吧。

输入描述:

第1行2个正整数 n和 m。表示小龙同学家有n棵苹果树,m次采摘(或疑问)。第2行 n 个整数,第 i 个整数 ai​ 表示第 i棵苹果树上原本结有 ai​ 颗苹果 。接下来 m 行,每行共3个正整数op,l,r。

若op=1,表示小龙会采摘 [l,r] 区间内的苹果树。

若op=2,表示小龙想知道 [l,r]区间内的有多少棵苹果树上的苹果小于100颗。

若op=3,表示小龙想知道 [l,r] 区间内的共有多少颗苹果。

输出描述:

对于每个 op=2或者op=3的操作,输出1行1个整数表示答案。

示例1

输入

5 5
1 10 100 1000 10000
2 1 5
3 1 5
1 1 5
2 1 5
3 1 5

输出

2
11111
3
7405

备注:

1e5范围

 

#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1e5 + 10;
typedef long long ll;
typedef pair<int,int> pii;
int n,m;
int a[N];
struct node{int l,r;int max,num100;ll sum;
}tr[N*4];
void pushup(int u){tr[u].max= max(tr[u<<1].max,tr[u<<1|1].max);tr[u].num100=tr[u<<1].num100+tr[u<<1|1].num100;tr[u].sum=tr[u<<1].sum+tr[u<<1|1].sum;
}
void build(int u,int l,int r){tr[u]={l,r,0,0,0};if(l==r){tr[u].max=a[r];tr[u].sum=a[r];if(a[r]<100) tr[u].num100=1;return;}int mid=(l+r)>>1;build(u<<1,l,mid);build(u<<1|1,mid+1,r);pushup(u);
}
void modify(int u,int l,int r){if(tr[u].max<10) return;if(tr[u].l==tr[u].r){int p=tr[u].sum/3;if(tr[u].sum%3) p++;tr[u].sum-=p;tr[u].max=(int)tr[u].sum;if(tr[u].sum<100)tr[u].num100=1;return;}int mid=tr[u].r+tr[u].l>>1;if(l<=mid) modify(u<<1,l,r);if (r>mid) modify(u<<1|1,l,r);pushup(u);
}
ll querynum100(int u,int l,int r){if(l<=tr[u].l&&r>=tr[u].r) return tr[u].num100;ll res=0;int mid = tr[u].l + tr[u].r >> 1;if (l <= mid) res += querynum100(u << 1, l, r);if (r > mid) res += querynum100(u << 1 | 1, l, r);return res;
}
ll querysum(int u,int l,int r){if(l<=tr[u].l&&r>=tr[u].r) return tr[u].sum;ll res=0;int mid = tr[u].l + tr[u].r >> 1;if (l <= mid) res += querysum(u << 1, l, r);if (r > mid) res += querysum(u << 1 | 1, l, r);return res;
}
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=n;i++) scanf("%d",&a[i]);build(1,1,n);while(m--){int op,l,r;scanf("%d%d%d",&op,&l,&r);if(op==1) modify(1,l,r);if(op==2) printf("%lld\n",querynum100(1,l,r));if(op==3) printf("%lld\n",querysum(1,l,r));}return 0;
}

 

http://www.tj-hxxt.cn/news/126796.html

相关文章:

  • 网站开发与运维面试问题哪里可以引流到精准客户呢
  • 上海网站建设 百家号论坛如何做seo
  • 中山公司网站制作厦门百度竞价
  • 山东做网站的公司搜索引擎优化是指
  • 网站空间和云服务器seo点击工具
  • 内网网站开发费用模板免费网站建设
  • 嘉兴网站建设嘉兴网站推广百度站长工具综合查询
  • 做模版网站网络营销教案ppt
  • 公司网站上传文章百度云引擎搜索
  • 中国企业网银怎么登录seo技术培训泰州
  • 做网站是要收费的吗百度网址大全 官网
  • 微信微博网站建设怎么联系地推公司
  • 北京做网站男生工资衡水seo营销
  • 小网站建设公司竞价培训班
  • jsp做的零食小网站视频优化是什么意思
  • 一家做特卖的网站叫什么时候谷歌浏览器在线入口
  • wordpress主题使用帮助旺道seo系统
  • wordpress 日期作者上海seo公司哪个靠谱
  • 济南专业网站托管公司龙网网络推广软件
  • 做网站公司佛山站点搜索
  • 外贸网站日本优化关键词快速排名
  • 做任务拍照片赚钱的网站长沙网络推广服务
  • 上海中小企业服务中心官网百度seo泛解析代发排名
  • 互联网产品设计网站东莞seo网络推广专
  • 长沙那个手机建网站公司好苏州seo关键词优化推广
  • flash个人网站模板怎么看关键词的搜索量
  • 网站后台怎么进入wordpress浙江百度查关键词排名
  • b2b网站分析结构优化
  • 十堰论坛网站搜索引擎营销简称
  • 江苏省网架公司关键词优化哪家强