Codeforces Round 997 (Div. 2)
A. Shape Perimeter
题意:一个
假设每次都能盖
点击查看代码
void solve() {
int n, m;
std::cin >> n >> m;
std::vector<int> x(n), y(n);
for (int i = 0; i < n; ++ i) {
std::cin >> x[i] >> y[i];
}
i64 ans = m * 4 * n;
for (int i = 1; i < n; ++ i) {
ans -= (m - x[i] + m - y[i]) * 2;
}
std::cout << ans << "\n";
}
B. Find the Permutation
题意:有一个排列,给你一个矩阵表示
对于每一对
因为我们知道每个数有几个在他前面,那么位置也确定了,赛时没想这么多,其实不用拓扑排序。
点击查看代码
void solve() {
int n;
std::cin >> n;
std::vector<std::string> s(n);
for (int i = 0; i < n; ++ i) {
std::cin >> s[i];
}
std::vector<std::vector<int> > adj(n);
std::vector<int> in(n);
for (int i = 0; i < n; ++ i) {
for (int j = i + 1; j < n; ++ j) {
if (s[i][j] == '1') {
adj[i].push_back(j);
++ in[j];
} else {
adj[j].push_back(i);
++ in[i];
}
}
}
std::queue<int> q;
std::vector<int> ans;
for (int i = 0; i < n; ++ i) {
if (in[i] == 0) {
q.push(i);
}
}
while (q.size()) {
int u = q.front(); q.pop();
ans.push_back(u);
for (auto & v : adj[u]) {
if ( -- in[v] == 0) {
q.push(v);
}
}
}
for (auto & x : ans) {
std::cout << x + 1 << " \n"[x == ans.back()];
}
}
C. Palindromic Subsequences
题意:构造一个数组使得长度最长的最长回文子序列数量最多。
如果我们填
点击查看代码
void solve() {
int n;
std::cin >> n;
if (n == 6) {
std::cout << 1 << " " << 1 << " " << 2 << " " << 3 << " " << 1 << " " << 2 << "\n";
return;
}
int m = n - 3;
for (int i = 1, x = 0; i <= n; ++ i) {
std::cout << x + 1 << " \n"[i == n];
x = (x + 1) % m;
}
}
D. Unique Median
不会。坐了两个小时牢
题意:如果一个数组长度为奇数,或者长度是偶数以及两个中位数相等,就是好的。给你一个数组,求有多少个子数组是好的。
这题我们反着做,求出有多少不好的子数组,然后用总数减去就是答案。
什么样的数组是不好的?恰好有一个
设
点击查看代码
void solve() {
int n;
std::cin >> n;
std::vector<int> a(n);
for (int i = 0; i < n; ++ i) {
std::cin >> a[i];
}
i64 ans = (i64)n * (n + 1) / 2;
for (int x = 1; x <= 10; ++ x) {
std::vector<int> sum(n + 1);
for (int i = 0; i < n; ++ i) {
sum[i + 1] = sum[i] + (a[i] > x ? 1 : -1);
}
std::vector<int> cnt(2 * n + 1);
for (int i = 1, j = 0; i <= n; ++ i) {
if (a[i - 1] == x) {
while (j < i) {
++ cnt[sum[j] + n];
++ j;
}
}
ans -= cnt[sum[i] + n];
}
}
std::cout << ans << "\n";
}
分类:
codeforces
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具