Codeforces Round 837题解(A、B、C)
A. Hossam and Combinatorics
long long
。
int n;
int a[N];
void solve() {
cin >> n;
int min_v = INF, max_v = 0;
for (int i = 1; i <= n; i ++) {
cin >> a[i];
min_v = min(min_v, a[i]);
max_v = max(max_v, a[i]);
}
int cnt_min = 0, cnt_max = 0;
if (min_v == max_v) {
cout << n * (n - 1) << '\n';
return;
}
for (int i = 1; i <= n; i ++) {
if (a[i] == min_v) cnt_min ++;
if (a[i] == max_v) cnt_max ++;
}
cout << cnt_min * cnt_max * 2 << '\n';
}
B. Hossam and Friends
考虑对每一个
设共有
那么我们开个优先队列维护即可。
int n, m;
vector<int> bag[N];
priority_queue<PII, vector<PII>, greater<>> pq;
void solve() {
cin >> n >> m;
for (int i = 1; i <= n; i ++) bag[i].clear();
while (!pq.empty()) pq.pop();
for (int i = 1; i <= m; i ++) {
int l, r;
cin >> l >> r;
if (l > r) swap(l, r);
bag[l].push_back(r);
}
int ans = 0;
for (int i = n; i >= 1; i --) {
for (auto j : bag[i]) pq.push({j, i});
if (pq.empty()) {
ans += n - i + 1;
continue;
}
ans += pq.top().first - i;
}
cout << ans << '\n';
}
C. Hossam and Trainees
如果
考虑对每个数分解质因数,那么如果
我们可以先预处理出map
来存,
int primes[N], cnt, st[N];
int a[N];
int n;
int cnt_prime[N];
map<int, int> mp;
void getPrimes(int n) {
for (int i = 2; i <= n; i ++) {
if (!st[i]) primes[cnt++] = i;
for (int j = 0; primes[j] <= n / i; j ++) {
st[primes[j] * i] = 1;
if (i % primes[j] == 0) break;
}
}
}
void solve() {
cin >> n;
for (int i = 1; i <= n; i ++) {
cin >> a[i];
}
int flag = 0;
mp.clear();
memset(cnt_prime, 0, (cnt + 2) * sizeof(int));
for (int i = 1; i <= n; i ++) {
for (int j = 0; j < cnt && primes[j] <= a[i]; j ++) {
if (a[i] % primes[j] == 0) {
cnt_prime[j] ++;
while (a[i] % primes[j] == 0) a[i] /= primes[j];
}
}
if (a[i] > 1) {
if (mp[a[i]]) {
flag = 1;
break;
}
mp[a[i]] = 1;
}
}
for (int i = 0; i < cnt; i ++) {
if (cnt_prime[i] > 1) {
flag = 1;
break;
}
}
cout << (flag ? "YES" : "NO") << '\n';
}
bool Med;
signed main() {
fprintf(stderr, "%.3lf MB\n", (&Med - &Mbe) / 1048576.0);
// setIO();
int T = 1;
cin >> T;
getPrimes(3.4e4);
while (T --) solve();
cerr << 1e3 * clock() / CLOCKS_PER_SEC << " ms\n";
return 0;
}
标签:
codeforces
, 堆
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】