cf295A. Greg and Array
来源:互联网 发布:ubuntu jdk 1.7 编辑:程序博客网 时间:2024/04/28 21:08
//代码含全角空格
#include <iostream>#include <cstdio>using namespace std;const int N=100010;long long a[N],b[N],query[N],sumq[N];int n,m,k,x,y;struct state{ int l,r,d;}op[N];int main(){ cin>>n>>m>>k; for(int i=1;i<=n;i++) { scanf("%I64d",&a[i]); b[i]=a[i]-a[i-1];//差分 } for(int i=1;i<=m;i++){ scanf("%d%d%d",&op[i].l,&op[i].r,&op[i].d); } while(k--){ scanf("%d%d",&x,&y); query[x]++;query[++y]--;//++y } for(int i=1;i<=m;i++){ sumq[i]=query[i]+sumq[i-1];//差分 b[op[i].l]+=sumq[i]*op[i].d; b[op[i].r+1]-=sumq[i]*op[i].d;//op[i].r+1 } for(int i=1;i<=n;i++){ a[i]=a[i-1]+b[i]; printf("%I64d ",a[i]); } cout<<endl; return 0;}/*思路:用两次差分数列, 先处理出对于每个op调用了几次, 再对数列执行操作.*/
0 0
- cf295A. Greg and Array
- CF295A Greg and Array(差分+前缀和)
- codeforces 295A - Greg and Array
- CodeForces 295A Greg and Array
- Codeforces 295A Greg and Array
- CodeForces 295A Greg and Array
- 【线段树】295A Greg and Array
- Codeforces 296C Greg and Array【思维】
- Codeforces Round #179 (Div. 2) C. Greg and Array
- Codeforces Round #179 (Div. 2) C Greg and Array
- Codeforces Round#179(Div 2)C Greg and Array
- Codeforces Round #179 (Div. 1)-A. Greg and Array
- Codeforces Round #179 (Div. 1) A. Greg and Array
- Codeforces Round #179 (Div. 2)---C. Greg and Array
- CodeForces 296C Greg and Array (线段树)
- CodeForces 295A Greg and Array(线段树)
- CF A. Greg and Array (区间离线处理)
- Codeforces #179(Div 2)C Greg and Array
- uva10557 - XYZZY(图的bfs ;dfs)
- 解决scanf或者cin造成的死循环问题
- HDU 1754 I Hate It(线段树,最值查询)
- [水]ZOJ1350
- wait events in oracle
- cf295A. Greg and Array
- 位图算法 C语言
- java coder一名,分享学习经验
- 所愿
- 【运维】小白学数据分析之 日活跃人数分析
- For Fans of Statistics(STL)
- Maven的项目管理(POM)应用和常见问题
- 移动应用崩溃了,你能怎么样?
- tmd123.com