求助关于细节上的问题
  • 板块P4231 三步必杀
  • 楼主bzzltl
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/10/12 21:50
  • 上次更新2023/10/27 07:44:49
查看原帖
求助关于细节上的问题
699852
bzzltl楼主2022/10/12 21:50

求助关于标注的那一行为什么是 j=(e-s)/(r-l)而不是j=(e-s)/(r-l+1)

#include<bits/stdc++.h>
using namespace std;
#define int long long
const long long LLM=9223372036854775807;
const int IM=2147483647;
const int N=10000005;
inline int read(){int x=0,y=1;char c=getchar();while(c<'0'||c>'9'){if(c=='-') y=-y;c=getchar();}while(c>='0'&&c<='9'){x=x*10+(c^'0');c=getchar();}return x*y;}

int n,m,d[N];

signed main()
{
	n=read();
	m=read();
	for(int p=1;p<=m;p++)
	{
		int l=read(),r=read(),s=read(),e=read();
		int j=(e-s)/(r-l);//这里 
		d[l]+=s;
		d[l+1]+=j-s;
		d[r+1]-=j+e;
		d[r+2]+=e;
	}
	int ans=0,maxn=0,op=0,p=0;
	for(int i=1;i<=n;i++)
	{
		op+=d[i];
		p+=op;
		ans=(ans?(ans^p):p);
		maxn=maxn>p?maxn:p;
	}
	printf("%lld %lld\n",ans,maxn);
	return 0;
}


2022/10/12 21:50
加载中...