1607: [Usaco2008 Dec]Patting Heads 轻拍牛头
来源:互联网 发布:linux 重置网络配置 编辑:程序博客网 时间:2024/05/21 22:27
题目链接
题目大意:给出n个数,输出对于每个数x,其它的数有多少个是它的约数
题解:类似于筛素数。对于出现的每个数x,计算它对1–mx中所有其倍数的贡献。优化:把重复出现的数字一起筛
我的收获:合并相同项;筛法应用
#include <iostream>#include <cstdio>using namespace std;const int M=100005;int n,mx,a[M],cnt[M*10],ans[M*10];void sieve(){ for(int i=1;i<=mx;i++) if(cnt[i]) for(int j=i;j<=mx;j+=i) ans[j]+=cnt[i];}void work(){ sieve(); for(int i=1;i<=n;i++) printf("%d\n",ans[a[i]]-1);//去掉自己}void init(){ cin>>n; for(int i=1;i<=n;i++){ scanf("%d",&a[i]); cnt[a[i]]++,mx=max(mx,a[i]); } }int main(){ init(); work(); return 0;}
0 0
- 1607: [Usaco2008 Dec]Patting Heads 轻拍牛头
- 1607: [Usaco2008 Dec]Patting Heads 轻拍牛头
- [BZOJ1607] [Usaco2008 Dec]Patting Heads 轻拍牛头
- [BZOJ1607][Usaco2008 Dec]Patting Heads 轻拍牛头
- bzoj1607【Usaco2008 Dec】Patting Heads 轻拍牛头
- bzoj1607: [Usaco2008 Dec]Patting Heads 轻拍牛头
- bzoj1607 [Usaco2008 Dec]Patting Heads 轻拍牛头
- bzoj1607[Usaco2008 Dec]Patting Heads 轻拍牛头
- bzoj1607 [Usaco2008 Dec]Patting Heads 轻拍牛头
- [Usaco2008 Dec]Patting Heads 轻拍牛头
- BZOJ1607: [Usaco2008 Dec]Patting Heads 轻拍牛头
- bzoj1607: [Usaco2008 Dec]Patting Heads 轻拍牛头
- BZOJ 1607: [Usaco2008 Dec]Patting Heads 轻拍牛头
- BZOJ 1607: [Usaco2008 Dec]Patting Heads 轻拍牛头
- BZOJ 1607([Usaco2008 Dec]Patting Heads 轻拍牛头-线性筛)
- BZOJ-1607 [Usaco2008 Dec]Patting Heads 轻拍牛头 筛法+乱搞
- bzoj 1607: [Usaco2008 Dec]Patting Heads 轻拍牛头 暴力
- 筛-BZOJ-1607-[Usaco2008 Dec]Patting Heads 轻拍牛头
- 初识Java的接口和抽象类
- 198. House Robber
- 1034: [ZJOI2008]泡泡堂BNB
- OSRefTable 用法
- Java:Map与HashMap,Hashtable,HashSet比较
- 1607: [Usaco2008 Dec]Patting Heads 轻拍牛头
- centos 7 下安装tomcat 8.5.11
- 2761: [JLOI2011]不重复数字
- JZOJ-senior-3899. 【NOIP2014模拟】逻辑的连通性
- weex学习笔记-Couldn't find preset "es2015" relative to directory
- [SCOI2005] 互不侵犯
- [NOI2001] 炮兵阵地
- translate动画
- 【eclipse】乱码问题解决,主要是中文