社区讨论

真没想到,unordered_map的常数这么大

P2119[NOIP 2016 普及组] 魔法阵参与者 3已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@mkqfkzb6
此快照首次捕获于
2026/01/23 13:19
4 周前
此快照最后确认于
2026/01/23 20:28
4 周前
查看原帖
CPP
#include <bits/stdc++.h>
#define ll long long
#define i128 __int128
#define il inline
#define befaster cin.tie(0)->sync_with_stdio(0)
using namespace std;

int n, m;
vector<int> x;
unordered_map<int, ll> cnt;
unordered_map<int, ll> a, b, c, d;

int main()
{
    befaster;
    cin >> n >> m;
    x.resize(m);
    for (int i = 0; i < m; i++)
    {
        cin >> x[i];
        cnt[x[i]]++;
    }
    for (int i = 1; 9 * i < n; i++)
    {
        ll sum = 0;
        for (int D = 9 * i + 2; D <= n; D++)
        {
            int A = D - 9 * i - 1;
            int B = A + 2 * i;
            int C = D - i;
            sum += cnt[A] * cnt[B];
            c[C] += cnt[D] * sum;
            d[D] += cnt[C] * sum;
        }
        sum = 0;
        for (int A = n - 9 * i - 1; A; A--)
        {
            int B = A + 2 * i;
            int C = B + 6 * i + 1;
            int D = A + 9 * i + 1;
            sum += cnt[C] * cnt[D];
            a[A] += cnt[B] * sum;
            b[B] += cnt[A] * sum;
        }
    }
    for (int i = 0; i < m; i++)
        cout << a[x[i]] << " " << b[x[i]] << " " << c[x[i]] << " " << d[x[i]] << "\n";
    return 0;
}

回复

5 条回复,欢迎继续交流。

正在加载回复...