【记录】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;
}
相关推荐
倒头就睡的小比特3 天前
算法竞赛C++常用的STL
c++·算法
weilx12343 天前
C++笔记-文件IO-<fcntl.h>
c++
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
猎头南楼3 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
Smileyqp沛沛3 天前
前端?C++ ?较大差异基础罗列
c++·基础·前端转c++
C语言小火车3 天前
C/C++ 为什么需要编译器?
开发语言·c++
旖旎夜光3 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
wzdark3 天前
大规模并行计算中的负载均衡算法研究4
算法
吞下星星的少年·-·3 天前
C++ 萌新语法入门篇
c++·算法比赛
Because_of_Her13 天前
并查集-听课笔记
笔记·算法·并查集