NOIP第三階段總結
阿新 • • 發佈:2020-11-27
模擬賽41
階段排名 9
A 四個質數的和
- 質數才有9592個,n2跑一遍求出組成兩個質數的方案數,其實跑不滿,就跑25371441次,很快的,計算的時候前兩個乘後兩個就好了
Show Code
#include <cstdio> const int N = 1e5 + 5; int p[N], m, f[N]; bool v[N]; int main() { freopen("plus.in", "r", stdin); freopen("plus.out", "w", stdout); for (int i = 2; i < N; ++i) { if (!v[i]) p[++m] = i; for (int j = 1; j <= m && i * p[j] < N; ++j) { v[i*p[j]] = 1; if (i % p[j] == 0) break; } } for (int i = 1; i <= m && p[i] * 2 < N; ++i) { f[p[i]*2]++; for (int j = i + 1; j <= m && p[i] + p[j] < N; ++j) f[p[i]+p[j]] += 2; } int T; scanf("%d", &T); while (T--) { int x; scanf("%d", &x); long long s = 0; for (int i = 4; i + i < x; ++i) s += f[i] * f[x-i] * 2; if (!(x & 1)) s += f[x>>1] * f[x>>1]; printf("%lld\n", s); } return 0; }
B 匹配最大異或 (Unaccepted)
- 暴力60分
Show Code
C 染色相鄰的邊 (Unaccepted)
- 鏈的情況寫掛了,只有60分
Show Code
D 垃圾分類 (Unaccepted)
- 最後半小時40分暴力沒打出來,輸出大樣例10分,考完10分鐘就寫出來了暴力
Show Code