ural2062 Ambitious Experiment
Ambitious Experiment
Memory limit: 128 MB
- Measure current charge of the particle number i.
- Direct radiation with power d at particles with numbers from l to r inclusive.
Input
- 1 i — measure current charge of the particle number i (1 ≤ i ≤ n).
- 2 l r d — direct radiation with power d at particles with numbers from l to r inclusive (1 ≤l ≤ r ≤ n, 0 ≤ d ≤ 106).
Output
Samples
| input | output |
|---|---|
3 |
12 |
6 |
3 |
分析:对每个询问,只有他的因子才会对答案有贡献,所以sqrt(n)枚举因子;
树状数组前缀和可以获得因子的贡献;
代码:
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <climits>
#include <cstring>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <vector>
#include <list>
#define rep(i,m,n) for(i=m;i<=n;i++)
#define rsp(it,s) for(set<int>::iterator it=s.begin();it!=s.end();it++)
#define mod 1000000007
#define inf 0x3f3f3f3f
#define vi vector<int>
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define ll long long
#define pi acos(-1.0)
#define pii pair<int,int>
#define Lson L, mid, rt<<1
#define Rson mid+1, R, rt<<1|1
const int maxn=3e5+;
using namespace std;
ll gcd(ll p,ll q){return q==?p:gcd(q,p%q);}
ll qpow(ll p,ll q){ll f=;while(q){if(q&)f=f*p%mod;p=p*p%mod;q>>=;}return f;}
int n,m,k,t,q,a[maxn];
ll b[maxn];
void add(int x,int y)
{
for(int i=x;i<=n;i+=(i&(-i)))
b[i]+=y;
}
ll get(int x)
{
ll ans=;
for(int i=x;i;i-=(i&(-i)))
ans+=b[i];
return ans;
}
int main()
{
int i,j;
scanf("%d",&n);
rep(i,,n)scanf("%d",&a[i]);
scanf("%d",&q);
while(q--)
{
int c[];
scanf("%d",&c[]);
if(c[]==)
{
scanf("%d",&c[]);
ll ans=;
for(i=;i*i<=c[];i++)
{
if(c[]%i)continue;
ans+=get(i);
if(i!=c[]/i)ans+=get(c[]/i);
}
printf("%lld\n",ans+=a[c[]]);
}
else
{
rep(i,,)scanf("%d",&c[i]);
add(c[],c[]);add(c[]+,-c[]);
}
}
//system("Pause");
return ;
}
ural2062 Ambitious Experiment的更多相关文章
- ural 2062 Ambitious Experiment
2062. Ambitious Experiment Time limit: 3.0 secondMemory limit: 128 MB During several decades, scient ...
- ural Ambitious Experiment 树状数组
During several decades, scientists from planet Nibiru are working to create an engine that would all ...
- URAL 2062 Ambitious Experiment(分块)
[题目链接] http://acm.timus.ru/problem.aspx?space=1&num=2062 [题目大意] 给出两个操作,操作一给出区间[l,r],对l到r中的每一个下标i ...
- 【树状数组】【枚举约数】 - Ambitious Experiment
给定一个序列,支持以下操作: 对区间[l,r]的每个i,将1i,2i,3i,...这些位置的数都加d. 询问某个位置的数的值. 如果把修改看作对区间[l,r]的每个数+d,那么询问x位置上的数时,显然 ...
- Ural 2062:Ambitious Experiment(树状数组 || 分块)
http://acm.timus.ru/problem.aspx?space=1&num=2062 题意:有n个数,有一个值,q个询问,有单点询问操作,也有对于区间[l,r]的每个数i,使得n ...
- An interesting experiment on China’s censorship
This paper presented a very interesting topic. Censorship in China has always drawn people's attenti ...
- Reading With Purpose: A grand experiment
Reading With Purpose: A grand experiment This is the preface to a set of notes I'm writing for a sem ...
- [POJ3684]Physics Experiment
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 1363 Accepted: 476 Special Judge ...
- poj 3684 Physics Experiment(数学,物理)
Description Simon ), the first ball is released and falls down due to the gravity. After that, the b ...
随机推荐
- Light OJ 1136
Division by 3. 发现一些规律: 一个数的数字和相加能被三整除,那么这个数也能被3整除.(1) 然后可以发现: 连续三个整数并排在一起组成的数的数字和必然能被3整除.(2) 最后通过(2) ...
- find unique values in an array
Problem: given an array that contains duplicates (except one value), find the one value that does no ...
- linq中的分组和排序
一.分组 group 组内成员 by 分组条件 into 组的信息 class Program { static void Main(string[] args) { string[] name = ...
- JS-将input输入框写入的小写字母全部转换成为大写字母的JS代码
<input name="htmer" type="text" onkeyup="this.value=this.value.toUpperCa ...
- springmvc中的几个问题
一 url-pattern的问题: <!-- No mapping found for HTTP request with URI [/WEB-INF/jsp/homePage.jsp] i ...
- jave学习1--基础介绍
java 技术主要分为三个部分: jave SE基础知识. 对于各个程序的开发语言都包含的基本数据类型,循环控制,数组,方法等. jave SE的面向对象部分. 所有的面向对象的概念,为最终的接口准备 ...
- UIImagePickerController 相关
UIImagePickerController是系统封装好的一个导航视图控制器,使用其开发者可以十分方便的进行相机相册相关功能的调用.UIImagePickerController继承于UINavig ...
- dhcpv6开源软件配置
ISC-dhcp server for IPv6 1. 下载源码:http://www.isc.org/software/dhcp 2.安装:最好以root身份安装,否则会permission de ...
- java 对象的上转型对象(父类)
Example5_10.java class 类人猿 { void crySpeak(String s) { System.out.println(s); } } class People exten ...
- 使用RPM包安装、配置和拆卸MySQL
通过rpm包安装.配置及卸载mysql的详细过程. 以MySQL-server-4.0.14-0.i386.rpm为例,放在/usr/src目录下 cd /usr/src rpm -ivh MySQL ...