求助ARC C
  • 板块学术版
  • 楼主_Ad_Astra_
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/7/2 22:05
  • 上次更新2023/11/3 11:50:33
查看原帖
求助ARC C
317622
_Ad_Astra_楼主2023/7/2 22:05

RT,最后一个点一直过不去

做法就是朴素的裂项相加,当 NN 为 p×(p+1)p \times (p+1) 形式时在 N−1N-1 做法基础上拆一个相对较大的数,马蜂比较丑陋

	cin>>n;
	for(int i=1;i*i<=n;i++)
		if(i*(i+1)==n)
		{
			cout<<"Yes"<<endl;
			int d;
			d=min(n-2,24LL);
			for(int j=1;j<d;j++)cout<<j*(j+1)<<' ';
			cout<<n-1<<' '<<d*(d+1)+1<<' '<<d*(d+1)*(d*(d+1)+1)<<" ";
			for(int j=d+1;j<=n-2;j++)cout<<j*(j+1)<<" ";
			cout<<endl;
			return;
		}
	cout<<"Yes"<<endl;
	for(int i=1;i<n;i++)cout<<i*(i+1)<<' ';
	cout<<n<<endl;
2023/7/2 22:05
加载中...