2020-2021年度第二届全国大学生算法设计与编程挑战赛 (春季赛)F - 这是一道大水题
Posted 你可以当我没名字
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020-2021年度第二届全国大学生算法设计与编程挑战赛 (春季赛)F - 这是一道大水题相关的知识,希望对你有一定的参考价值。
题目
代码
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#include<iostream>
#include<sstream>
#include<set>
#include<map>
#include<queue>
#include<bitset>
#include<vector>
#include<limits.h>
#include<assert.h>
#include<functional>
#include<numeric>
#include<ctime>
#define ini(a) memset(a,0,sizeof(a))
#define ini2(a,b) memset(a,b,sizeof(a))
#define rep(i,a,b) for(int i=a;i<=b;i++)
#define lowbit(x) x&(-x)
#define DBG(x) \\
(void)(cout << "L" << __LINE__ \\
<< ": " << #x << " = " << (x) << '\\n')
#define TIE \\
cin.tie(0);cout.tie(0);\\
ios::sync_with_stdio(false);
#define sc ll T;cin>>T;while(T--)
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const double PI = acos(-1.0);
const double eps = 1e-6;
const int INF = 0x3f3f3f3f;
const int maxn = 1000000005;
const int N = 100;
ll cb[200009][3];
ll an[200009];
int main()
{
ll ttt = 1;
TIE;
ini(an);
ll n,m,ans = 0,cnttt = 0;
cin>>n>>m;
for(ll i=0;i<m;i++){
ll q,a,b,c;
cin>>q;
if(q==0){
cin>>a>>b>>c;
an[1]+=(b-a+1)*c;
an[a]-=(b-a+1)*c;
//这里用的是差分
an[b+1]+=(b-a+1)*c;
an[200005]-=(b-a+1)*c;
}else{
cin>>a;
for(ll j=1;j<=a;j++){
ans+=an[j];
}
cout<<ans<<"\\n";
ans = 0;
}
}
return 0;
}
以上是关于2020-2021年度第二届全国大学生算法设计与编程挑战赛 (春季赛)F - 这是一道大水题的主要内容,如果未能解决你的问题,请参考以下文章
2020-2021年度第二届全国大学生算法设计与编程挑战赛(冬季赛)——正式赛
2020-2021年度第二届全国大学生算法设计与编程挑战赛 (春季赛)- 天才的操作(线段树+主席树+树上倍增)
个人赛组2021-2022年度第三届全国大学生算法设计与编程挑战赛(秋季赛)-正式赛
个人赛组2021-2022年度第三届全国大学生算法设计与编程挑战赛(秋季赛)——热身赛