[CF 295A]Grag and Array[差分数列]
题意:
有数列a[ ]; 操作op[ ] = { l, r, d }; 询问q[ ] = { x, y };
操作表示对a的[ l, r ] 区间上每个数增加d; 询问表示执行[ x, y ]之间的op.
打印最终数列.
思路:
用两次差分数列, 先处理出对于每个op调用了几次, 再对数列执行操作.
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int MAXN = 1e5+5;
typedef long long ll;
ll a[MAXN],sum[MAXN];
ll d[MAXN],delta[MAXN];
int l[MAXN],r[MAXN]; int main()
{
int n,m,k;
scanf("%d %d %d",&n,&m,&k);
for(int i=1;i<=n;i++)
scanf("%I64d",a+i);
for(int i=1;i<=m;i++)
scanf("%d %d %I64d",l+i,r+i,delta+i);
int x,y;
while(k--)
{
scanf("%d %d",&x,&y);
d[x]++;d[y+1]--;
}
for(int i=1;i<=m;i++)
{
sum[i] = sum[i-1] + d[i];
delta[i] *= sum[i];
}
memset(d,0,sizeof(d));
memset(sum,0,sizeof(sum));
for(int i=1;i<=m;i++)
{
if(!delta[i]) continue;
d[l[i]] += delta[i];
d[r[i]+1] -= delta[i];
}
for(int i=1;i<=n;i++)
{
sum[i] = sum[i-1] + d[i];
a[i] += sum[i];
printf("%I64d%c",a[i],i==n?'\n':' ');
}
}
[CF 295A]Grag and Array[差分数列]的更多相关文章
- CF 295A Greg and Array (两次建树,区间更新,单点查询)
#include <iostream> #include <stdio.h> #include <string.h> #include <algorithm& ...
- [CF 276C]Little Girl and Maximum Sum[差分数列]
题意: 给出n项的数列A[ ], q个询问, 询问 [ l, r ] 之间项的和. 求A的全排列中该和的最大值. 思路: 记录所有询问, 利用差分数列qd[ ], 标记第 i 项被询问的次数( 每次区 ...
- CF460C Present (二分 + 差分数列)
Codeforces Round #262 (Div. 2) C C - Present C. Present time limit per test 2 seconds memory limit p ...
- hdu4970 Killing Monsters (差分数列)
2014多校9 1011 http://acm.hdu.edu.cn/showproblem.php?pid=4970 Killing Monsters Time Limit: 2000/1000 M ...
- UVALive 4119 Always an integer (差分数列,模拟)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud Always an integer Time Limit:3000MS M ...
- Codeforces 295A Greg and Array
传送门 A. Greg and Array time limit per test 1.5 seconds memory limit per test 256 megabytes input stan ...
- CF 1008C Reorder the Array
You are given an array of integers. Vasya can permute (change order) its integers. He wants to do it ...
- LA 4119 (差分数列 多项式) Always an integer
题意: 给出一个形如(P)/D的多项式,其中P是n的整系数多项式,D为整数. 问是否对于所有的正整数n,该多项式的值都是整数. 分析: 可以用数学归纳法证明,若P(n)是k次多项式,则P(n+1) - ...
- CodeForces Round #179 (295A) - Greg and Array
题目链接:http://codeforces.com/problemset/problem/295/A 我的做法,两次线段树 #include <cstdio> #include < ...
随机推荐
- CodeForcs 797E Array Queries
$dp$预处理,暴力. 如果$k > sqrt(n)$,那么答案不会超过$sqrt(n)$,暴力模拟即可.如果$k <= sqrt(n)$,那么可以$dp$预处理打表. #include ...
- 实验吧 recursive write up
这是一个python写的文件 推测是用Freeze打包 所以必有一个Py_FrozenMain函数 分析函数有两个变量PYTHONINSPECT”和“PYTHONUNBUFFERED”之后都会调用ge ...
- mcnp的重复探测器单元计数-fmesh卡的介绍
第一步:首先前面是cell surface和material等的定义,忽略,然后写上下面的这些抽样信息等.最后写入fmesh卡的信息定义 第二步:计算上述输入卡,得到结果,显然不在outx,x代表p ...
- Kali Linux缺少ifconfig命令
Kali Linux缺少ifconfig命令 ifconfig是配置和查看网络的基础命令.在某些Kali Linux版本中,可能会缺少ifconfig命令.这个时候,用户需要手动安装该命令.该命令 ...
- JavaScript with JSONPath
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>JavaScript JSO ...
- django常见问题小结,细节容易忽视
中文URL:这个其实是很常识的东西,但是之前做web一直没注意过,在使用HttpResponseRedirect的时候,如果Redirect的URL中带中文的话,会报UnicodeEncodeErro ...
- React Native 系列(四)
前言 本系列是基于React Native版本号0.44.3写的.RN支持CSS中的布局属性,因此可以使用CSS布局属性,这里就不详细地讲解了,这篇文章的重点主要是讲述一下RN中的Flex布局. CS ...
- 如何配置FastReport.Net环境
利用FastReport.Net工具箱中的EnvironmentSettings组件可以控制FastReport.Net的环境设置.把EnvironmentSettings组件放到窗体上,并使用下面的 ...
- android 同一个service启动之后 能不能被绑定bind
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 可以 startService 启动了一个服务,这个服务可以再调用 bindServic ...
- 「TJOI 2018」教科书般的亵渎
「TJOI 2018」教科书般的亵渎 题目描述 小豆喜欢玩游戏,现在他在玩一个游戏遇到这样的场面,每个怪的血量为 \(a_i\) ,且每个怪物血量均不相同, 小豆手里有无限张"亵渎" ...