【记录】loj2967「COCI 2010.03.06」PROGRAM

作为回归题挺有意思的。

这个求和级数需要了解一下:

so 暴力即可,相同的 可以搞个 cnt 优化一下。

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;

typedef long long LL;
const int N = 1e6 + 10;
int cnt[N];
int n, K;
LL s[N];
vector<int> G;

int main () {
    ios::sync_with_stdio(false);
    cin.tie(0);

    cin >> n >> K;
    memset(cnt, 0, sizeof(cnt));
    for (int i = 1; i <= K; i ++) {
        int x;
        cin >> x;
        if (cnt[x] == 0) {
            G.push_back(x);
        }
        cnt[x] ++;
    }

    sort(G.begin(), G.end());
    memset(s, 0, sizeof(s));
    for (int i : G) {
        for (int j = 0; j <= n; j += i) {
            s[j] += cnt[i];
        }
    }
    for (int i = 1; i <= n; i ++) {
        s[i] += s[i - 1];
    }

    int q;
    cin >> q;
    while (q --) {
        int l, r;
        cin >> l >> r;
        if (l != 0) {
            cout << s[r] - s[l - 1] << "\n";
        }
        else {
            cout << s[r] << "\n";
        }
    }

    return 0;
}
相关推荐
buhuizhiyuci7 小时前
【Linux 篇】数字世界的水流蓄水池 —— IO 缓冲区机制深度实战解析
linux·运维·服务器·c++
Suxing97 小时前
C语言基础分享:从“租房”到“拆迁”,C语言动态内存管理
java·数据结构·算法
啦啦啦啦啦zzzz7 小时前
moduo网络库 Acceptor TcpConnection
服务器·网络·c++·reactor·网络库
键盘会跳舞8 小时前
C++:右值引用与移动语义源码级深度拆解——现代C++性能优化的语言基石
c++·右值引用·移动语义
码匠许师傅8 小时前
【C++ 面试真题】聊聊 C++ 的虚函数和多态
java·c++·面试
LuminousCPP8 小时前
单链表专题(四)-刷题复盘篇-LeetCode 138 随机链表复制|原地拷贝法突破复杂指针操作
数据结构·笔记·算法·leetcode·链表
逆境不可逃8 小时前
【LeetCode 912】排序数组——随机化快速排序详解
数据结构·算法·排序算法
Coder-magician8 小时前
《代码随想录》刷题打卡day31:动态规划-背包问题part02
算法·动态规划
薛定e的猫咪8 小时前
从因果视角解决多智能体协作:细读 SCIC 算法
算法
c238569 小时前
《算法武林谱:四大排序神功与二分寻宝术全解》
数据结构·算法·排序算法