【AC】

 #include<iostream>
#include<math.h>
#include<cstring> using namespace std; typedef long long LL; int N,M;
int type,l,r,v;
int A[+];
LL TreeArr[+];
int lowbit(int i)
{
return i&(-i);
} void toValue(int i,int num)
{
while(i<=N)
{
TreeArr[i] += num;
i += lowbit(i);
}
} LL sum(int i)
{
LL total = ;
while(i != )
{
total += TreeArr[i];
i -= lowbit(i);
}
return total;
} int main(){ cin>>N>>M;
memset(TreeArr,,sizeof(TreeArr));
for(int j=; j<=N; j++){
cin>>A[j];
toValue(j, A[j]);
}
while(M--){
cin>>type;
if(type==){
cin>>l>>r>>v;
if(v==) continue;
for(int i=l; i<=r; i++){
if(A[i]>=v&&A[i]%v==){
toValue(i, A[i]/v-A[i]);
A[i] /= v;
}
}
}else if(type==){
cin>>l>>r;
cout<< sum(r) - sum(l-)<<endl;
}
}
return ;
}

【90分】

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
#include<queue>
#include<map>
using namespace std;
typedef long long ll;
const int maxn=1e5+;
ll a[maxn];
ll tree[maxn];
int n,m;
int lowbit(int x){
return x&(-x);
}
void add(int k,ll x){
while(k<=n){
tree[k]+=x;
k+=lowbit(k);
}
}
ll query(int k){
ll res=;
while(k){
res+=tree[k];
k-=lowbit(k);
}
return res;
}
void init(){
memset(tree,,sizeof(tree));
}
int main(){
while(~scanf("%d%d",&n,&m)){
init();
for(int i=;i<=n;i++){
scanf("%lld",&a[i]);
add(i,a[i]);
}
int opt,l,r;
ll v;
for(int i=;i<=m;i++){
scanf("%d%d%d",&opt,&l,&r);
if(opt==){
scanf("%lld",&v);
if(v==) continue;
for(int j=l;j<=r;j++){
if(a[j]>=v&&a[j]%v==){
add(j,a[j]/v-a[j]);
a[j]/=v;
}
}
}else{
ll ans=query(r)-query(l-);
printf("%lld\n",ans);
}
}
}
return ;
}

【CCF】除法 树状数组的更多相关文章

  1. 【HDU4947】GCD Array(莫比乌斯反演+树状数组)

    点此看题面 大致题意: 一个长度为\(n\)的数组,实现两种操作:将满足\(gcd(i,k)=d\)的\(a_i\)加上\(v\),询问\(\sum_{i=1}^xa_i\). 对于修改操作的推式子 ...

  2. inline void 树状数组神奇感悟【雾

    才发现扫描线可以用树状数组搞... 致远星患者 (另外根据这篇博文的内容怎么越来越感觉自己往 PJ 入门靠拢了...) 还有一点,咱把树状数组当做线段树来康的话其实一切都会很清晰,这个来张四合一的图: ...

  3. neuoj1472 yuki的氪金之旅(倒置树状数组

    这题一直re不造为啥..后来yww大神把树状数组“倒过来”就过了,倒过来的好处是算sum(d[i]+1)就行,不涉及除法,不用求逆元. 题意:初始手牌颜值是0,一共抽卡n次,第i次抽卡有pi的概率能抽 ...

  4. 牛客网暑期ACM多校训练营(第五场) F - take —— 期望+树状数组+逆元

    看到一篇好的博客特意转出来观摩大佬:转:https://blog.csdn.net/greybtfly/article/details/81413526 题目大意:给n个箱子排成一排,从头到尾按顺序依 ...

  5. 康拓展开 & 逆康拓展开 知识总结(树状数组优化)

    康拓展开 : 康拓展开,难道他是要飞翔吗?哈哈,当然不是了,康拓具体是哪位大叔,我也不清楚,重要的是 我们需要用到它后面的展开,提到展开,与数学相关的,肯定是一个式子或者一个数进行分解,即 展开. 到 ...

  6. 清北学堂—2020.1提高储备营—Day 2 afternoon(线段树、树状数组)

    qbxt Day 2 afternoon --2020.1.18 济南 主讲:李佳实 目录一览 1.线段树 2.二叉搜索树(略过) 3.树状数组 总知识点:基础数据结构(本人初学感觉好难) 一.线段树 ...

  7. BZOJ 1103: [POI2007]大都市meg [DFS序 树状数组]

    1103: [POI2007]大都市meg Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2221  Solved: 1179[Submit][Sta ...

  8. bzoj1878--离线+树状数组

    这题在线做很麻烦,所以我们选择离线. 首先预处理出数组next[i]表示i这个位置的颜色下一次出现的位置. 然后对与每种颜色第一次出现的位置x,将a[x]++. 将每个询问按左端点排序,再从左往右扫, ...

  9. codeforces 597C C. Subsequences(dp+树状数组)

    题目链接: C. Subsequences time limit per test 1 second memory limit per test 256 megabytes input standar ...

随机推荐

  1. 委托、事件与Observer设计模式

    范例说明 上面的例子已不足以再进行下面的讲解了,我们来看一个新的范例,因为之前已经介绍了很多的内容,所以本节的进度会稍微快一些: 假设我们有个高档的热水器,我们给它通上电,当水温超过95度的时候:1. ...

  2. 2018年ElasticSearch6.2.2教程ELK搭建日志采集分析系统(教程详情)

    章节一  2018年 ELK课程计划和效果演示1.课程安排和效果演示    简介:课程介绍和主要知识点说明,ES搜索接口演示,部署的ELK项目演示    es: localhost:9200    k ...

  3. nginx安装与部署

    1:安装工具包 wget.vim和gcc yum install -y wget yum install -y vim-enhanced yum install -y make cmake gcc g ...

  4. python3.7 random模块

    #!/usr/bin/env python __author__ = "lrtao2010" #python3.7 random模块 import random #随机模块 # r ...

  5. linux安装vmware出现kernel-header问题

    查看日志文件, cat /tmp/vmware-xiuyuan/vmware-modconfig-9996.log | more在日志文件中有这么几行:Setting header path for ...

  6. 笔记-网络-抓包-wireshark

    笔记-网络-抓包-wireshark 1.      开始 环境:win8笔记本,无线网 1.1.    无线网卡设置 因为需抓捕无线网卡上的数据包,需要进行一项设置,如捕获有线网卡,无需设置. 打开 ...

  7. MySQL之索引(四)

    压缩索引 MyISAM使用前缀压缩来减少索引的大小,从而让更多的索引可以放入内存中,这在某些情况下能极大地提高性能.默认只压缩字符串,但通过参数设置也可以对整数做压缩. MyISAM压缩每个索引块的方 ...

  8. luogu3375 【模板】KMP字符串匹配

    nxt数组下标从1开始而a,b数组下标从0开始. #include <iostream> #include <cstring> #include <cstdio> ...

  9. 运维自动化之puppet3分钟入门

    运维自动化之puppet3分钟入门 几个月前曾因为项目需求而学了点puppet的一些知识,最近因为要给别人讲一下,也就借此博文来做一下回忆,当然了,这个puppet用起来还是很不错的,尤其对我这种懒人 ...

  10. 35、键盘布局的tableLayout备份

    <TableLayout android:layout_width="wrap_content" android:layout_height="wrap_conte ...