本文主要是介绍【SSL_2020.10.27】まほう阵~,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
まほう阵~
解题思路
咳咳
如果你这道题只是单纯的排序+贪心的话,那么恭喜你,在理解错题意的情况下还可以获得30分! (数据怎么这么水)
我们来画个正八边形
如果我们在去掉一些点之后仍然可以保证这是一个正多边形,这些多边形应该满足什么条件呢?
时间有限 (主要是懒) ,我们可以发现:去掉一些点后仍然能组成正多边形的边数恰好是原正多边形的边数的因子,那么就简简单单了。
code
#include<iostream>
#include<cstdio>
using namespace std;int n;
int a[20010],maxn=-0x3f3f3f3f;void check(int m)
{if(m<3)return;for(int i=1;i<=n/m;i++){int s=0;for(int j=i;j<=n;j+=n/m)s+=a[j];maxn=max(maxn,s);}
}void fjzy()
{check(n);for(int i=1;i*i<=n;i++)if(n%i==0)check(i),check(n/i);
}int main()
{cin>>n;for(int i=1;i<=n;i++)scanf("%d",&a[i]);fjzy();cout<<maxn<<endl;
}
这篇关于【SSL_2020.10.27】まほう阵~的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!