题目

今天是贝茜的生日,为了庆祝自己的生日,贝茜邀你来玩一个游戏.

贝茜让N(1≤N≤100000)头奶牛坐成一个圈.除了1号与N号奶牛外,i号奶牛与i-l号和i+l号奶牛相邻.N号奶牛与1号奶牛相邻.农夫约翰用很多纸条装满了一个桶,每一张包含了一个独一无二的1到1,000,000的数字.

接着每一头奶牛i从柄中取出一张纸条Ai.每头奶牛轮流走上一圈,同时拍打所有编号能整除在纸条上的数字的牛的头,然后做回到原来的位置.牛们希望你帮助他们确定,每一头奶牛需要拍打的牛.

输入格式

第1行包含一个整数N,接下来第2到N+1行每行包含一个整数Ai.

输出格式

第1到N行,每行的输出表示第i头奶牛要拍打的牛数量.

输入样例

5 //有五个数,对于任一个数来说,其它的数有多少个是它的约数

2

1

2

3

4

INPUT DETAILS:

The 5 cows are given the numbers 2, 1, 2, 3, and 4, respectively.

输出样例

2

0

2

1

3

OUTPUT DETAILS:

The first cow pats the second and third cows; the second cows pats no cows;

etc.

题解

倍数关系,可以用筛法

先记下每个值各有几个,再成倍筛选

复杂度O(nlogn)

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define LL long long int
#define REP(i,n) for (int i = 1; i <= (n); i++)
#define Redge(u) for (int k = h[u]; k != -1; k = ed[k].nxt)
using namespace std;
const int maxn = 100005,maxm = 1000005,INF = 1000000000;
inline int RD(){
int out = 0,flag = 1; char c = getchar();
while (c < 48 || c > 57) {if (c == '-') flag = -1; c = getchar();}
while (c >= 48 && c <= 57) {out = (out << 1) + (out << 3) + c - '0'; c = getchar();}
return out * flag;
}
int cnt[maxm],A[maxn],ans[maxm],N,Max = -1;
int main(){
N = RD();
REP(i,N) A[i] = RD(),Max = max(Max,A[i]),cnt[A[i]]++;
REP(i,Max)
if (cnt[i])
for (int j = i; j <= Max; j += i)
ans[j] += cnt[i];
REP(i,N) printf("%d\n",ans[A[i]] - 1);
return 0;
}

最新文章

  1. 解决MyEclipe出现An error has occurred,See error log for more details的错误
  2. 数据结构之KMP算法next数组
  3. java中匿名类的注意细节
  4. Yii2.0中文开发向导——控制器(Controller)
  5. sublime添加PHP语法检查
  6. 第2章 面向对象的设计原则(SOLID):3_依赖倒置原则(DIP)
  7. java I/O之装饰者模式
  8. C#开发客户端、JAVA和tomcat开发服务端
  9. ios 刷新BUG
  10. sn9c291 驱动载入成功,mpayer无法播放
  11. 文件搜索神器everything 你不知道的技巧总结
  12. 用java来实现验证码功能(本帖为转载贴),作为个人学习收藏用
  13. sass学习笔记(一)接上个 持续学习中..(还发现个讲解的bug) sass至少我现在学的版本支持局部变量了
  14. maven项目打包成war包发布到tomcat下...
  15. C++内存管理(转)
  16. Java IO如何读写文件
  17. 1051: 手机(MOBILE)
  18. 利用PHP QR Code生成二维码(带logo)
  19. Java多线程学习笔记(二)
  20. CodeForces - 1004B

热门文章

  1. Centos7 搭建 hadoop3.1.1 集群教程
  2. js bom和dom
  3. 怎么修复网站漏洞 骑士cms的漏洞修复方案
  4. 用filter()筛选出素数
  5. [拉格朗日反演][FFT][NTT][多项式大全]详解
  6. .Net 面试题 汇总(三)
  7. WPF中,如何将绑定源设置到单件实例
  8. struts2官方 中文教程 系列九:Debugging Struts
  9. ip4addr_ntoa和不可重入函数
  10. leetcode笔记--2 reverse string