社区讨论
真没想到,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 条回复,欢迎继续交流。
正在加载回复...