关于NOIP T3
  • 板块灌水区
  • 楼主131354320hy
  • 当前回复0
  • 已保存回复0
  • 发布时间2021/11/29 23:10
  • 上次更新2023/11/3 23:14:51
查看原帖
关于NOIP T3
362183
131354320hy楼主2021/11/29 23:10

有没有神犇帮看一下写的暴搜为啥会RE

#include<iostream> 
#include<cstdio> 
#include<cmath>
#include<cstring> 
#include<algorithm> 
#include<queue> 
#include<vector>
#include<map>
#define MAXN 100000000
using namespace std;
string ab;
int n,sz[10001],qk[3000][10001],k=1,ffmin=MAXN;
map<string,int> jy; 
void dfs(int a[])
{
	for(int i=1;i<n-1;i++)
		{
		int u=a[i];
		a[i]=a[i-1]+a[i+1]-a[i];
		string aa;
		for(int j=0;j<n;j++)
			{
			aa.push_back(a[j]+'0');
			}
		if(!jy.count(aa)) 
			{
			jy[aa]=1;
			for(int kk=0;kk<n;kk++)
				{
				qk[k][kk]=a[kk];
				}
			k++;
			dfs(a);
			}
		a[i]=u;
		}
}
int main()
{
//	freopen("variance.in","r",stdin);
//	freopen("variance.out","w",stdout);
	cin>>n;		
	for(int i=0;i<n;i++) cin>>sz[i];
	string ab;
	for(int i=0;i<n;i++)
		{
		ab.push_back(sz[i]+'0');
		}
	jy[ab]=1;
	dfs(sz);
	for(int i=0;i<n;i++)
		{
		qk[0][i]=sz[i];
		}
	int fccc[1000];
	for(int i=0;i<k;i++)
		{
		double pjz=0,fc=0;
		for(int j=0;j<n;j++)
			{
			pjz=pjz+qk[i][j];
			}
		pjz/=n;
		for(int j=0;j<n;j++)
			{
			fc=fc+(qk[i][j]-pjz)*(qk[i][j]-pjz);
			}
		fc=fc*n;
		int fcc=fc;
		ffmin=min(ffmin,fcc);
		fccc[i]=fcc;
		}
	cout<<ffmin;
	return 0;	
} 
2021/11/29 23:10
加载中...