codeforces上怎么看测试数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codeforces上怎么看测试数据相关的知识,希望对你有一定的参考价值。

参考技术A 点击My submissions 下面的提交编号就可以了

Pride CodeForces

原题链接
考察:思维+枚举
思路:
  思路应该比较好想,只要存在互质的两对,答案就是数组长度-数组中1的个数.如果不存在,答案就是最短连续子段gcd = 1的长度*2+其他元素个数.
  我写的时候认为最短一定是3,实际不是,看下面测试数据:
6
120 120 5 30 15 6
ans = 8.
  gcd是可以传递的,因此我认为答案是长度+1是错误的.

Code

#include <iostream>
#include <cstring>
using namespace std;
const int N = 2010;
int a[N],n;
int gcd(int a,int b)
{
	return b?gcd(b,a%b):a;
}
int solve()
{
	int cnt =0;
	for(int i=1;i<=n;i++)
	  if(a[i]==1) cnt++;
	for(int i=1;i<=n;i++)
	  if(gcd(a[i],a[i-1])==1) return n-cnt;
	int minv = 0x3f3f3f3f,ans;
	for(int i=1;i<=n;i++)
	{
		int s = a[i];
		for(int j=i;j>=1;j--)
		{
			s = gcd(a[j],s);
			if(s==1&&i-j<minv)
			{
				minv = i-j;
				ans = j-1+n-i+2*minv;
			}
		}
	} 
	if(minv<0x3f3f3f3f) return ans;
	return -1;
}
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++) scanf("%d",&a[i]);
	printf("%d\\n",solve());
	return 0;
}

以上是关于codeforces上怎么看测试数据的主要内容,如果未能解决你的问题,请参考以下文章

性能测试场景

SQL调优如何生成海量测试数据

怎么进行性能测试

codeforces比赛后怎么看题解和答案

用fiddler测试移动端翻页

参数化数据驱动