tb的数数问题(牛客小白月赛)

思路:首先好的数一定在A数组里面,之后我们就可以判断哪些数是好数,如果一个数的所有约数都在A里面,那就是一个好数,这个问题我们可以用调和级数暴力来解决,就是当一个数x的约数个数等于其位于A数组中的约数的个数时就是好数。

我们用f[i]来代表,数i的约数个数,用h[i]表示数i位于A数组中的约数个数。

cpp 复制代码
const int maxn = 1000100;
 
ll n, m, a[maxn], f[maxn], g[maxn], h[maxn];
 
void solve() {
    scanf("%lld", &n);
    for (int i = 1; i <= n; ++i) {
        scanf("%lld", &a[i]);
        m = max(m, a[i]);
        g[a[i]] = 1;
    }
    for (int i = 1; i <= m; ++i) {
        for (int j = i; j <= m; j += i) {
            ++f[j];
            h[j] += g[i];
        }
    }
    ll ans = 0;
    for (int i = 1; i <= m; ++i) {
        ans += (f[i] == h[i]);
    }
    printf("%lld\n", ans);
}
相关推荐
wayz117 小时前
数据分析中的异常值处理:MAD
算法·数据挖掘·数据分析
飞Link7 小时前
LangGraph 核心架构解析:节点 (Nodes) 与边 (Edges) 的工作机制及实战指南
java·开发语言·python·算法·架构
Mr_Xuhhh7 小时前
深入理解二叉树:从数据结构到算法实战
数据结构·算法
xuhaoyu_cpp_java7 小时前
Boyer-Moore 投票算法
java·经验分享·笔记·学习·算法
kobesdu8 小时前
FAST-LIO2 + 蓝海M300激光雷达:从建图到实时栅格图的完整流程
算法·机器人·ros·slam·fast lio
x_xbx8 小时前
LeetCode:438. 找到字符串中所有字母异位词
算法·leetcode·职场和发展
MThinker8 小时前
K230+canMV+micropython实现低成本MLX90640红外热成像测温模块(续)
算法·智能硬件·micropython·canmv·k230
小菜鸡桃蛋狗8 小时前
C++——string(下)
算法
学习永无止境@8 小时前
灰度图像中值滤波算法实现
图像处理·算法·计算机视觉
ysa0510308 小时前
斐波那契上斐波那契【矩阵快速幂】
数据结构·c++·笔记·算法