ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

【记录】[COCI 2025/2026] 模拟赛四道 / 8.20

2026/8/27 11:28:51 拓冰建站 浏览量
【记录】[COCI 2025/2026] 模拟赛四道 / 8.20 P15889 [COCI 2025/2026 #6] 零花钱 / Džeparac - 洛谷推公式推出来的那一刻我觉得我是天才。但其实不用二项式定理。#includebits/stdc.h using namespace std; typedef long long LL; const LL P 1e9 7; LL q_pow(LL a, LL b) { LL c 1; while (b) { if (b 1) { c c * a % P; } a a * a % P; b 1; } return c; } int main () { ios::sync_with_stdio(false); cin.tie(0); LL n; cin n; n / 2; cout q_pow(2, n) \n; return 0; }P15890 [COCI 2025/2026 #6] 抄写 / Prepisivanje - 洛谷很典的二分图。#includebits/stdc.h using namespace std; const int N 90; bool v[N][N]; char s[N]; int n, m; vectorint G[N * N]; int match[N * N], chw[N * N], tsp; int get_num(int x, int y) { return (x - 1) * m y; } bool findmuniu(int x) { for (int y : G[x]) { if (chw[y] ! tsp) { chw[y] tsp; if (match[y] 0 || findmuniu(match[y])) { match[y] x; return 1; } } } return 0; } int main () { ios::sync_with_stdio(false); cin.tie(0); cin n m; memset(v, 0, sizeof(v)); int sumo 0, sumt 0; for (int i 1; i n; i ) { cin (s 1); for (int j 1; j m; j ) { if (s[j] 1) { v[i][j] 1; } else if (s[j] 2) { v[i][j] 1; sumt ; if (i - 1 1 v[i - 1][j] 0) { v[i - 1][j] 1; } if (i 1 n v[i 1][j] 0) { v[i 1][j] 1; } if (j - 1 1 v[i][j - 1] 0) { v[i][j - 1] 1; } if (j 1 m v[i][j 1] 0) { v[i][j 1] 1; } } } } for (int i 1; i n; i ) { for (int j 1; j m; j ) if (v[i][j] 1) { sumo ; } } for (int i 1; i n; i ) { for (int j 1; j m; j ) if (v[i][j] 0 ((i j) % 2 0)) { int id get_num(i, j); if (i - 1 1 v[i - 1][j] 0) { G[id].push_back(get_num(i - 1, j)); } if (i 1 n v[i 1][j] 0) { G[id].push_back(get_num(i 1, j)); } if (j - 1 1 v[i][j - 1] 0) { G[id].push_back(get_num(i, j - 1)); } if (j 1 m v[i][j 1] 0) { G[id].push_back(get_num(i, j 1)); } } } tsp 0; memset(chw, 0, sizeof(chw)); memset(match, 0, sizeof(match)); int ans 0; for (int i 1; i n; i ) { for (int j 1; j m; j ) if (v[i][j] 0 ((i j) % 2 0)) { int id get_num(i, j); tsp id; if (findmuniu(id)) { ans ; } } } cout (n * m - sumo - ans sumt) \n; return 0; }P15892 [COCI 2025/2026 #6] 教室 / Učionica - 洛谷发现单调性后直接二分其他没有任何算法。#includebits/stdc.h using namespace std; typedef long long LL; const int N 2010; LL a[N][N]; LL sum[N][N]; LL mx[N][N]; LL h[N]; LL now[N]; int n, m, K; bool check(int x, int y) { for (int j y; j y K - 1; j ) { now[j - y 1] mx[x][j]; } sort(now 1, now K 1); for (int i 1; i K; i ) { if (h[i] now[i]) { return 0; } } return 1; } int main () { ios::sync_with_stdio(false); cin.tie(0); cin n m K; for (int i 1; i K; i ) { cin h[i]; } sort (h 1, h K 1); for (int i 1; i n; i ) { for (int j 1; j m; j ) { cin a[i][j]; } } for (int i 1; i n; i ) { sum[i][0] 0; for (int j 1; j m; j ) { sum[i][j] sum[i][j - 1] a[i][j]; } } for (int j 1; j m; j ) { mx[0][j] 0; for (int i 1; i n; i ) { mx[i][j] max(mx[i - 1][j], a[i][j]); } } int ans 0; for (int j 1; j K - 1 m; j ) { int l 1, r n, p 1; int mid; while (l r) { mid (l r) 1; if (check(mid, j)) { l mid 1; p mid; } else { r mid - 1; } } for (int i 1; i p; i ) { if (sum[i][j K - 1] - sum[i][j - 1] 0) { ans ; } } } cout ans \n; return 0; }P15891 [COCI 2025/2026 #6] 滑雪 / Skijanje - 洛谷我终于写完了两个解法。【题解】[COCI 2025/2026 #6] 滑雪 / Skijanje李超树 0 基础友好喵-CSDN博客