9.25 总结
T1 变换
一道DP题,用
赛事想到前面是不是山谷点的情况但是直接忽略力(悲)
#include <fstream>
using namespace std;
using ll = long long;
const int kMaxN = 2001;
ifstream cin("change.in");
ofstream cout("change.out");
ll n, k, a[kMaxN], dp[kMaxN][kMaxN][2], maxn[kMaxN];
int main() {
cin >> n >> k;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
ll ans = 0;
for (int i = 2; i < n; i++) {
for (int j = 0; j <= k; j++) {
if (a[i] < a[i - 1] && a[i] < a[i + 1]) {
dp[i][j][1] = dp[i - 1][j][0] + a[i];
dp[i][j][0] = dp[i - 1][j][1];
} else {
if (j != 0) {
dp[i][j][1] = dp[i - 1][j - 1][0] + min(a[i - 1] - 1, a[i + 1] - 1);
}
dp[i][j][0] = max(dp[i - 1][j][0], dp[i - 1][j][1]);
}
ans = max(ans, dp[i][j][0]);
ans = max(ans, dp[i][j][1]);
}
}
cout << ans << '\n';
return 0;
}
ans += ans2;
}
cout << (ans % kMod + kMod) % kMod << '\n';
return 0;
}
T2 交替
根据超大眼观察法,我们可以发现,当剩余数组大小为偶数的时候,呈现一个组合数的形式,于是使用公式
码量中等,花了25min才调出来。
#include <fstream>
using namespace std;
using ll = long long;
const ll kMaxN = 1e5 + 1, kMod = 1e9 + 7;
ifstream cin("alternate.in");
ofstream cout("alternate.out");
ll n, a[kMaxN], jie[kMaxN];
ll fpow(ll a, ll b) { // 快速幂
ll res = 1;
while (b) {
(b & 1) && (res = res * a % kMod);
b >>= 1;
a = a * a % kMod;
}
return res;
}
ll C(ll m, ll n) { // 逆元求组合数
return jie[m] * fpow(jie[m - n], kMod - 2) % kMod * fpow(jie[n], kMod - 2) % kMod;
}
int main() {
jie[0] = 1;
cin >> n;
for (ll i = 1; i <= n; i++) {
cin >> a[i], jie[i] = jie[i - 1] * i % kMod;
}
ll ans = 0;
if (n & 1) { // 奇数的情况
for (int i = 1; i <= n; i += 2) {
ans = (ans + C(n / 2, i / 2) * fpow(-1, i / 2) * a[i] % kMod) % kMod;
}
} else { // 偶数的情况
ll ans2 = 0;
for (int i = 1; i < n; i += 2) {
ans = (ans + C(n / 2 - 1, i / 2) * fpow(-1, i / 2) * a[i] % kMod) % kMod;
}
for (int i = 2; i <= n; i += 2) {
ans2 = (ans2 + C(n / 2 - 1, i / 2 - 1) * fpow(-1, i / 2 - 1) * a[i] % kMod) % kMod;
}
ans += ans2;
}
cout << (ans % kMod + kMod) % kMod << '\n';
return 0;
}
T3 拳击
赛事不会。
暴力出所有序列,然后跑DP, 码量比较大,暂时没写完。
T4 扑克
(经典永流传)
预先处理出每一个三元组添加两个牌的五元组,然后排序,最后用二分求得即可。
依旧是没有写完。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 百万级群聊的设计实践
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期