2022icpc杭州铜牌题题解
A. Modulo Ruins the Legend
LL exgcd(LL a, LL b, LL &x, LL &y) { if (!b) { x = 1, y = 0; return a; } LL d = exgcd(b, a % b, y, x); y -= a / b * x; return d; } void work() { LL n, m; cin >> n >> m; LL sum = 0; rep (i, 1, n) { LL x; cin >> x; sum = (sum + x) % m; } LL x_s, y_d; LL t = exgcd(n, n * (n + 1) / 2, x_s, y_d); LL x_k, y_p; LL g = exgcd(t, m, x_k, y_p); LL q = (m - sum + g - 1) / g; LL s = q * x_k % m * x_s % m, d = q * x_k % m * y_d % m; cout << (q * g + sum) % m << endl; cout << (s + m) % m << " " << (d + m) % m << endl; }
C. No Bug No Game
int n, k, s; int p[N][11], dp[N][N][2]; // dp[i][j][0/1]:从前i个物品中选,体积为j,是否完全的最大值 void work() { cin >> n >> k; rep (i, 1, n) { cin >> p[i][0]; s += p[i][0]; rep (j, 1, p[i][0]) cin >> p[i][j]; } memset(dp, -0x3f, sizeof dp); dp[0][0][0] = 0; rep (i, 1, n) { rep (j, 0, k) { //不选第i个物品 dp[i][j][0] = dp[i - 1][j][0]; dp[i][j][1] = dp[i - 1][j][1]; //完全选择第i个物品 if (p[i][0] <= j) { dp[i][j][0] = max(dp[i][j][0], dp[i - 1][j - p[i][0]][0] + p[i][p[i][0]]); //完全更新完全 dp[i][j][1] = max(dp[i][j][1], dp[i - 1][j - p[i][0]][1] + p[i][p[i][0]]); //完全更新不完全 } //不完全选择第i个物品 rep (t, 1, p[i][0] - 1) { if (t <= j) dp[i][j][1] = max(dp[i][j][1], dp[i - 1][j - t][0] + p[i][t]); //不完全更新完全 else break; } } } if (s <= k) cout << dp[n][s][0] << endl; else cout << max(dp[n][k][0], dp[n][k][1]) << endl; }
K. Master of Both
#define int long long int n, q; int son[N][30], cnt[N][30], idx = 1; int mp[26][26], ex; void insert(string s){ int cur = 0; for (int i = 0; i < s.length(); i++) { if (!son[cur][s[i] - 'a']) son[cur][s[i] - 'a'] = idx++; rep (j, 0, 25) { if (j == s[i] - 'a') continue; mp[s[i] - 'a'][j] += cnt[cur][j]; } cnt[cur][s[i] - 'a']++; cur = son[cur][s[i] - 'a']; } rep (i, 0, 25) ex += cnt[cur][i]; } void work() { cin >> n >> q; rep (i, 1, n) { string s; cin >> s; insert(s); } rep (i, 1, q) { string s; cin >> s; int res = ex; rep (i, 0, 25) rep (j, i + 1, 25) res += mp[s[i] - 'a'][s[j] - 'a']; cout << res << endl; } }
本文作者:xhy666
本文链接:https://www.cnblogs.com/xhy666/p/16975726.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下