标签:www 数据 方向 const 区间 ret tps tin +=
搜索
和以前做过一道关于排序的题有亿点点像,看到这么小的数据范围竟然脑抽没去想搜索....
筛法
换个方向思考,我们考虑这个数是几个数的倍数
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1000000+10;
int n, sum, a[maxn], tong[maxn], ans[maxn];
signed main(){
scanf("%d", &n);
for(int i = 1; i <= n; ++ i){
scanf("%d", &a[i]);
tong[a[i]] ++;
sum = max(a[i], sum);
}
for(int i = 1; i <= sum; ++ i){
if(!tong[i]) continue;
for(int j = 1; j*i<= sum; ++ j){
ans[i*j] += tong[i];
}
}
for(int i = 1; i <= n; ++ i){
printf("%d\n", ans[a[i]]-1);
}
return 0;
}
区间DP
标签:www 数据 方向 const 区间 ret tps tin +=
原文地址:https://www.cnblogs.com/Vanyun/p/13290031.html