Codeforces Round #719 (Div. 3) A~E题解
51鸽了几天,有几场比赛的题解还没发布,今天晚上会补上的
1520A. Do Not Be Distracted!
问题分析
模拟,如果存在已经出现的连续字母段则输出NO
using ll = long long;
void solve() {
int n;
string s;
cin >> n >> s;
bool vis[30] = {false};
for (int i = 0; i < n; ++i) {
if (vis[s[i] - 'A']) {
cout << "NO\n";
return;
}
int j = i;
while (s[j] == s[i]) j++;
vis[s[i] - 'A'] = true;
i = j;
}
cout << "YES\n";
}
1520B. Ordinary Numbers
using ll = long long;
bool check(int x) {
string temp = to_string(x);
for (int i = 0; i < temp.size() - 1; i++)
if (temp[i] != temp[i + 1]) return false;
return true;
}
ll ans;
void solve() {
ll n;
cin >> n, ans = 0;
int k = 1, temp = 1;
for (int i = temp; i <= n; i += temp) {
if (check(i)) ans++;
else {
temp = temp * 10 + 1;
i = 0;
}
}
cout << ans << endl;
}
1520C. Not Adjacent Matrix
问题分析:构造思想
,无论怎么构造矩阵都会产生相邻的矩阵。- 其他情况,以
为起点每次间隔 + 2,因为 数值不超过 所以,在大于此值时再从 开始枚举,这样一定能填充整个 矩阵
void solve() {
int n;
cin >> n;
vector<int> a(100 * 100 + 10);
if (n == 2) {
cout << -1 << "\n";
return;
}
int cnt = 1;
for (int i = 1; i <= n * n; ++i) {
if (cnt <= n * n) a[i] = cnt, cnt += 2;
if (cnt > n * n) cnt = 2;
}
for (int i = 1; i <= n * n; ++i) {
cout << a[i];
if (i % n == 0) cout << "\n";
else
cout << " ";
}
}
1520D. Same Differences
问题分析
变换公式,
所以我们可以存储
using ll = long long;
void solve() {
int n;
map<int, ll> mp;
cin >> n;
for (ll i = 1, x; i <= n; ++i) {
cin >> x;
mp[x - i]++;
}
ll cnt = 0;
for (auto p : mp) cnt += p.second * (p.second - 1) / 2;
cout << cnt << "\n";
}
1520E. Arranging The Sheep
问题分析:贪心
对于绵羊序列,两端都往中间移动一定最优
void solve() {
int n;
string s;
cin >> n >> s;
vector<int> a;
int empty = 0;
for (int i = 0; i < n; ++i) {
if (s[i] == '.') empty++;
else
a.push_back(empty);
}
int mid = (a.size() - 1) >> 1;
ll ans = 0;
for (auto x : a) ans += abs(x - a[mid]);
cout << ans << "\n";
}
1520F1. Guess the K-th Zero (Easy version)
// 待补
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 全程不用写代码,我用AI程序员写了一个飞机大战
2020-05-06 LeetCode | 983.最低票价(动态规划)