今天上午第四题为什么我照抄题解代码也能错啊
  • 板块题目总版
  • 楼主zznomortypig
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/5/19 19:40
  • 上次更新2024/5/19 19:44:36
查看原帖
今天上午第四题为什么我照抄题解代码也能错啊
1310634
zznomortypig楼主2024/5/19 19:40
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll maxn=2e5+5;
const ll p=998244353;
ll n,m,q,sq[maxn],sum[maxn],l[maxn],r[maxn],b[maxn];
signed main()
{
	scanf("%lld%lld%lld",&n,&m,&q);
	for(ll i=1;i<=m;i++)
	{
		scanf("%lld%lld%lld",&l[i],&r[i],&b[i]);
		b[i]%=p;
		sq[i]=((b[i]*b[i]%p*((r[i]-l[i]+1)%p))%p+sq[i-1])%p;
		sum[i]=(b[i]*(r[i]-l[i]+1)%p+sum[i-1])%p;
	}
	for(ll i=1;i<=q;i++)
	{
		ll x,y,sqsum=0,sum1=0;
		scanf("%lld%lld",&x,&y);
		int L=upper_bound(l+1,l+m+1,x)-l-1;
		int R=lower_bound(r+1,r+m+1,y)-r;
		if(L==R) {printf("0\n");continue ;};
		sqsum+=(r[L]-x+1)%p*b[L]%p*b[L]%p+(y-l[R]+1)%p*b[R]%p*b[R]%p;
		sum1+=(r[L]-x+1)%p*b[L]%p+(y-l[R]+1)*b[R]%p;
		L++;R--;
		if(L<=R);
		sqsum=(sqsum+(sq[R]-sq[L-1]+p)%p)%p;
		sum1=(sum1+(sum[R]-sum[L-1]+p)%p)%p;
		printf("%lld\n",((sqsum%p*(y-x+1)%p-sum1*sum1%p+p)%p+p)%p);
	}
	return 0;
}
2024/5/19 19:40
加载中...