关于昨天晚上CF的C题
  • 板块学术版
  • 楼主lsz_
  • 当前回复15
  • 已保存回复15
  • 发布时间2023/8/13 10:24
  • 上次更新2024/9/24 21:22:33
查看原帖
关于昨天晚上CF的C题
351310
lsz_楼主2023/8/13 10:24

乱搞一通,思路是暴力枚举一个 ii 点,让pj=j(j<i)p_j=j(j<i),pj=n+i−j(j≥i)p_j=n+i-j(j\geq i),求答案。效率O(n2)O(n^2),不能保证正确性。

最后居然过了。

下面是代码:

#include<bits/stdc++.h>
using namespace std;
int t;
int main()
{
	cin>>t;
	while(t--)
	{
		int n,ans=0;
		cin>>n;
		for(int i=1;i<=n;i++)
		{
			int mx=0,sum=0;
			for(int j=1;j<i;j++)
			{
				sum+=j*j;
				mx=max(mx,j*j);
			}
			for(int j=i;j<=n;j++)
			{
				sum+=j*(n+i-j);
				mx=max(mx,j*(n+i-j));
			}
			ans=max(ans,sum-mx);
		}
		cout<<ans<<endl;
	}
	return 0;
}

可以证明我这种做法的正确性吗,以及正解是啥/yiw

2023/8/13 10:24
加载中...