题目大意:将一个数组分成长度为k的几个连续区间,如果每个区间内各个元素出现的次数相同,则称k为一个阿贝尔周期,从小到大打印所有阿贝尔周期,数据间加空格。

题目思路:map+暴力

 #include<iostream>
#include<algorithm>
#include<cstring>
#include<vector>
#include<stdio.h>
#include<stdlib.h>
#include<queue>
#include<math.h>
#include<map>
#define INF 0x3f3f3f3f
#define MAX 100005
#define Temp 1000000000 using namespace std; int a[MAX],vis[MAX]; int check(int k,int n)
{
map<int ,int> map1,map2;
for(int i=; i<=k; i++)
map1[a[i]]++;
for(int i=k+; i<=n-k+; i+=k)
{
map2.clear();
for(int j=; j<k; j++)
{
int num=a[i+j];
map2[num]++;
}
if(map1!=map2)
return ;
}
return ;
} int main()
{
int T,n,ans;
scanf("%d",&T);
while(T--)
{
memset(vis,,sizeof(vis));
scanf("%d",&n);
for(int i=; i<=n; i++)
{
scanf("%d",&a[i]);
} for(int i=; i<=n/; i++)
{
if(!vis[i] && n%i==)//如果2成立,那么如果2的倍数m能被n整除,则m也成立
{
if(check(i,n))
{
for(int j=i; j<=n/; j+=i)
{
if(j!=n && n%j==)
{
vis[j]=;
}
}
}
}
}
for(int i=; i<n; i++)
{
if(vis[i])
printf("%d ",i);
}
printf("%d\n",n);
}
return ;
}

HDU5908 Abelian Period 暴力的更多相关文章

  1. HDU 5908 Abelian Period(暴力+想法题)

    传送门 Description Let S be a number string, and occ(S,x) means the times that number x occurs in S. i. ...

  2. HDU 5908 Abelian Period 暴力

    Abelian Period 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5908 Description Let S be a number st ...

  3. HDU 5908 Abelian Period (BestCoder Round #88 模拟+暴力)

    HDU 5908 Abelian Period (BestCoder Round #88 模拟+暴力) 题目链接http://acm.hdu.edu.cn/showproblem.php?pid=59 ...

  4. Abelian Period

    Abelian Period Accepts: 288 Submissions: 984 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 26 ...

  5. hdu_5908_Abelian Period(暴力)

    题目链接:hdu_5908_Abelian Period 题意: 给你n个数字,让你找出所有的k,使得把这n个数字分为k分,并且每份的数字种类和个数必须相同 题解: 枚举k,首先k必须是n的约数,然后 ...

  6. HDU 5908 Abelian Period 可以直接用multiset

    http://acm.hdu.edu.cn/showproblem.php?pid=5908 要求把数组分成k组使得每组中的元素出现次数相同 就是分成k个集合,那么直接用multiset判定就可以 有 ...

  7. 【29.27%】【hdu 5908】Abelian Period

    Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/131072 K (Java/Others) 问题描述 设SS是一个数字串,定义 ...

  8. BestCoder #88(1001 1002)

    Find Q Accepts: 392 Submissions: 780 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/131 ...

  9. centos 7 DenyHosts 安装 防暴力破解ssh登陆

    为了减少软件扫描ssh登陆 还是用这个比较好点  默认端口号22 也要改 登陆密码也不要使用 弱口令 123456 这样的 Description DenyHosts is a python prog ...

随机推荐

  1. Storm常见问题处理

    错误1:发布topologies到远程集群时,出现Nimbus host is not set异常.异常内容如下所示: [root@xop-dev-a bin]# ./storm jar /home/ ...

  2. idea代码调试debug篇

    主要看图,看图一目了然. 断点的设定和eclipse一样,只要点一下就可以,下面是我设定的几个断点,再下面的三个窗口是用来调试代码的,这个和eclipse类似 调试常用的快捷键 F9          ...

  3. 关于string的对象引用

    什么都不说了, 一切都在代码里:                         Console.WriteLine(object.ReferenceEquals(c5, c4));  //False ...

  4. Redis持久存储-AOF&RDB

    Redis中数据存储模式有2种:cache-only,persistence;cache-only即只做为"缓存"服务,不持久数据,数据在服务终止后将消失,此模式下也将不存在&qu ...

  5. MC- 交易并设置止损

    using System; using System.Drawing; using System.Linq; using PowerLanguage.Function; using ATCenterP ...

  6. Openjudge-计算概论(A)-奇数求和

    描述: 计算非负整数 m 到 n(包括m 和 n )之间的所有奇数的和,其中,m 不大于 n,且n 不大于300.例如 m=3, n=12, 其和则为:3+5+7+9+11=35. 输入两个数 m 和 ...

  7. tomcat安装完设定用户名和密码

    vi conf/tomcat-user.xml<tomcat-users> <role rolename="manager"/> <role role ...

  8. MYSQL:SQL中Group By的使用

    SQL中Group By的使用   1.概述 2.原始表 3.简单Group By 4.Group By 和 Order By 5.Group By中Select指定的字段限制 6.Group By ...

  9. 工作中遇到的http返回码

    普通常见的200.404.500,工作中遇到的还有206 .302 .304.400.403. 206----服务器返回部分数据 302----请求跳转 304----not modify 服务器内容 ...

  10. mysql5.7.16安装

    系统:centOS6.5 mysql: 5.7.16 wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.16-linux-glib ...