大家好!我是小码匠。
上周六打AtCoder的线上赛,前4题都很顺利,都是一次AC掉(这次前4题还是有些小水)。
一看E那道题,感觉能搞定,到最后的一刻还一直在努力。结果很悲剧,太气人了,E那道题要能搞定,老码农说这次排名能冲进前1150,我就可以涨大分了,真不知道以后还能不能有这种好机会。
下面分享下代码,最近要准备期末考试了,没写题解。
ABC335 - A - 202<s>3</s>
https://atcoder.jp/contests/abc335/tasks/abc335_a
代码
代码语言:javascript复制#include <bits/stdc .h>
using namespace std;
void best_coder() {
string s;
cin >> s;
s[s.size() - 1] = '4';
cout << s;
}
void happy_coder() {
}
int main() {
// 提升cin、cout效率
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
// 小码匠
best_coder();
// 最优解
// happy_coder();
return 0;
}
ABC335 - B - Tetrahedral Number
https://atcoder.jp/contests/abc335/tasks/abc335_b
代码
代码语言:javascript复制#include <bits/stdc .h>
using namespace std;
void best_coder() {
int n;
cin >> n;
for (int i = 0; i <= n; i) {
int cnt = 0;
cnt = i;
for (int j = 0; j <= n - cnt; j) {
cnt = j;
for (int s = 0; s <= n - cnt; s) {
cout << i << " " << j << " " << s << 'n';
}
cnt -= j;
}
}
}
void happy_coder() {
}
int main() {
// 提升cin、cout效率
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
// 小码匠
best_coder();
// 最优解
// happy_coder();
return 0;
}
ABC335 - C - Loong Tracking
https://atcoder.jp/contests/abc335/tasks/abc335_c
代码分享
代码语言:javascript复制#include <bits/stdc .h>
using namespace std;
const int max_n = 2e5 5;
struct pos {
int x, y;
} head[max_n];
void best_coder() {
int n, q;
cin >> n >> q;
head[0].x = 1;
head[0].y = 0;
int cnt = 0;
for (int i = 1; i <= q; i) {
int a;
cin >> a;
if (a == 1) {
char b;
cin >> b;
head[cnt 1] = head[cnt];
if (b == 'R') {
head[ cnt].x;
} else if (b == 'L') {
--head[ cnt].x;
} else if (b == 'U') {
head[ cnt].y;
} else {
--head[ cnt].y;
}
} else {
int b;
cin >> b;
if (b - 1 <= cnt) {
cout << head[cnt - b 1].x << " " << head[cnt - b 1].y << 'n';
} else {
cout << b - cnt << " " << 0 << 'n';
}
}
}
}
void happy_coder() {
}
int main() {
// 提升cin、cout效率
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
// 小码匠
best_coder();
// 最优解
// happy_coder();
return 0;
}
ABC335 - D - Loong and Takahashi
https://atcoder.jp/contests/abc335/tasks/abc335_d
代码分享
代码语言:javascript复制#include <bits/stdc .h>
using namespace std;
int g[50][50], a;
void color(int start, int m) {
for (int i = start; i < m; i) {
g[start][i] = a;
a;
}
for (int i = start 1; i < m; i) {
g[i][m - 1] = a;
a;
}
for (int i = m - 2; i >= start; --i) {
g[m - 1][i] = a;
a;
}
for (int i = m - 2; i > start; --i) {
g[i][start] = a;
a;
}
}
void best_coder() {
int n;
cin >> n;
a = 1;
for (int i = 0; i < n / 2; i) {
color(i, n - i);
}
for (int i = 0; i < n; i) {
for (int j = 0; j < n; j) {
if (i == n / 2 && j == n / 2) {
cout << 'T' << " ";
} else {
cout << g[i][j] << " ";
}
}
cout << 'n';
}
}
void happy_coder() {
}
int main() {
// 提升cin、cout效率
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
// 小码匠
best_coder();
// 最优解
// happy_coder();
return 0;
}
ABC335 - E - Non-Decreasing Colorful Path
https://atcoder.jp/contests/abc335/tasks/abc335_e
代码分享:
代码语言:javascript复制#include <bits/stdc .h>
using namespace std;
const int max_n = 2e5 5;
bool vis[max_n];
vector<int> g[max_n];
int ans = 0;
int w[max_n];
int b[max_n];
void dfs(int u, int fa) {
b[u] = max(b[fa] (w[u] != w[fa]), b[u]);
vis[u] = true;
for (auto i : g[u]) {
// if (w[i] == w[u] && !vis[i]) {
// b[i] = max(b[i], cnt);
// dfs(i);
// continue;
// }
if (vis[i] && b[i] >= b[u] (w[u] != w[i])) {
continue;
}
// cnt;
dfs(i, u);
// --cnt;
}
}
void best_coder() {
int n, m;
cin >> n >> m;
for (int i = 1; i <= n; i) {
cin >> w[i];
}
for (int i = 0; i < m; i) {
int u, v;
cin >> u >> v;
if (w[u] < w[v]) {
g[u].push_back(v);
} else if (w[u] == w[v]) {
g[u].push_back(v);
g[v].push_back(u);
} else {
g[v].push_back(u);
}
}
// cnt = 1;
dfs(1, 0);
cout << b[n];
}
void happy_coder() {
}
int main() {
// 提升cin、cout效率
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
// 小码匠
best_coder();
// 最优解
// happy_coder();
return 0;
}
- 下面代码不是AC版代码,最初我是想用并查集 DP,可不太会打,就开始DFS了,结果废了九牛二虎之力,还是有14个测试点没过去,这版代码是TLE的代码。
- 对了,想问一句,有没有谁E这道题用DFS卡过去的,有吗?本来我还想尝试快读在卡下。。。