A - Tiny Arithmetic Sequence

水题,判断3个数是否能构成等差数列

void solve() {
int a, b, c;
cin >> a >> b >> c;
if (a + b == 2 * c || a + c == 2 * b
|| b + c == 2 * a)cout << "Yes\n";
else cout << "No\n";
}

B - Do you know the second highest mountain?

排序,先按山脉高度排序,高度一样则按名字排序

struct node {
string s; int t;
};
vector<node>v;
bool cmp(node a, node b) {
if (a.t == b.t)return a.s > b.s;
return a.t > b.t;
}
void solve() {
int n;
cin >> n;
for (int i = 0; i < n; ++i) {
string s; int t;
cin >> s >> t;
v.push_back({s, t});
}
sort(v.begin(), v.end(), cmp);
cout << v[1].s << '\n';
}

赛后发现自己写复杂化了

pair<int, string>a[1010];
void solve() {
int n;
cin >> n;
for (int i = 1; i <= n; ++i)cin >> a[i].second >> a[i].first;
sort(a + 1, a + 1 + n);
cout << a[n - 1].second << endl;
}

C - Secret Number

这道题,是检测 0000 ~ 9999 的每一个值,但我们可以通过高桥的字符串进行简化

void solve() {
string s; cin >> s;
int ans = 0;
for (int i = 0; i <= 9999; ++i) {
vector<bool> f(10);
int x = i;
for (int j = 0; j < 4; ++j) {
f[x % 10] = true;
x /= 10;
}
bool f2 = true;
for (int j = 0; j < 10; ++j) {
if (s[j] == 'o' and !f[j]) f2 = false;
if (s[j] == 'x' and f[j]) f2 = false;
}
ans += f2;
}
cout << ans << '\n';
}
S = input()
ans = 0
for i in range(10000):
flag = [False]*10
now = i
for j in range(4):
flag[now%10] = True
now //= 10
flag2 = True
for j in range(10):
if S[j] == 'o' and not flag[j]:
flag2 = False
if S[j] == 'x' and flag[j]:
flag2 = False
ans += flag2
print(ans)

D - Game in Momotetsu World

虽然正向搜索会很麻烦,但反过来从终点搜索起点使用DP记录即可

using ll = long long;
ll n, m, dp[2010][2010];
char s[2011][2011];
void solve() {
scanf("%lld%lld", &n, &m);
for (int i = 1; i <= n; i++)
scanf("%s", s[i] + 1);
memset(dp, 63, sizeof(dp));
dp[n][m] = 0;
for (int i = n; i > 0; i--)
for (int j = m; j > 0; j--) {
if (i == n && j == m)
continue;
dp[i][j] = max((s[i + 1][j] == '+' ? 1 : -1) - dp[i + 1][j],
(s[i][j + 1] == '+' ? 1 : -1) - dp[i][j + 1]);
}
if (dp[1][1] > 0)cout << "Takahashi\n";
else if (dp[1][1] == 0)cout << "Draw\n";
else cout << "Aoki\n";
}

E - Xor Distances

#include<bits/stdc++.h>
#define int long long
#define N 200005
#define MOD 1000000007
using namespace std;
int n, d[N], ans;
vector<int> to[N], w[N];
void add(int u, int v, int wt) {to[u].push_back(v), w[u].push_back(wt);}
void dfs(int u, int fa) {
for (int i = 0, v; i < to[u].size(); i++)
if ((v = to[u][i]) != fa)d[v] = d[u] ^ w[u][i], dfs(v, u);
}
signed main() {
cin >> n;
for (int i = 1, u, v, wt; i < n;
i++)scanf("%lld%lld%lld", &u, &v, &wt), add(u, v, wt), add(v, u, wt);
dfs(1, 0);
for (int k = 0; k < 60; k++) {
int a = 0;
for (int i = 1; i <= n; i++)a += ((d[i] >> k) & 1);
ans = (ans + a * (n - a) % MOD * ((1ll << k) % MOD) % MOD) % MOD;
}
cout << ans << endl;
return 0;
}

F - Insertion Sort

待补

Mynavi Programming Contest 2021(AtCoder Beginner Contest 201)A ~ E题题解的更多相关文章

  1. M-SOLUTIONS Programming Contest 2021(AtCoder Beginner Contest 232) 题解

    目录 G - Modulo Shortest Path H - King's Tour 因为偷懒就只写G和H的题解了. G - Modulo Shortest Path 首先可以观察到对于一条从点\( ...

  2. AtCoder Beginner Contest 076

    A - Rating Goal Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Takaha ...

  3. atcoder beginner contest 251(D-E)

    Tasks - Panasonic Programming Contest 2022(AtCoder Beginner Contest 251)\ D - At Most 3 (Contestant ...

  4. AtCoder Beginner Contest 100 2018/06/16

    A - Happy Birthday! Time limit : 2sec / Memory limit : 1000MB Score: 100 points Problem Statement E8 ...

  5. KYOCERA Programming Contest 2021(AtCoder Beginner Contest 200) 题解

    KYOCERA Programming Contest 2021(AtCoder Beginner Contest 200) 题解 哦淦我已经菜到被ABC吊打了. A - Century 首先把当前年 ...

  6. AtCoder Beginner Contest 184 题解

    AtCoder Beginner Contest 184 题解 目录 AtCoder Beginner Contest 184 题解 A - Determinant B - Quizzes C - S ...

  7. AtCoder Beginner Contest 255(E-F)

    Aising Programming Contest 2022(AtCoder Beginner Contest 255) - AtCoder E - Lucky Numbers 题意: 给两个数组a ...

  8. AtCoder Beginner Contest 052

    没看到Beginner,然后就做啊做,发现A,B太简单了...然后想想做完算了..没想到C卡了一下,然后还是做出来了.D的话瞎想了一下,然后感觉也没问题.假装all kill.2333 AtCoder ...

  9. AtCoder Beginner Contest 053 ABCD题

    A - ABC/ARC Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Smeke has ...

  10. AtCoder Beginner Contest 136

    AtCoder Beginner Contest 136 题目链接 A - +-x 直接取\(max\)即可. Code #include <bits/stdc++.h> using na ...

随机推荐

  1. 一个小型markdown读写编辑器推荐

    在作业完成时我和很多同学们发现并没有很好地利用博客园里面自带的markdown标记语法的形式完成作业 因此我在网上自己搜索发现了这款软件 下载地址 在帮助里可以学到一些简单的使用形式 可以方便编辑已有 ...

  2. 聊聊分布式 SQL 数据库Doris(八)

    稀疏索引 密集索引:文件中的每个搜索码值都对应一个索引值,就是叶子节点保存了整行. 稀疏索引:文件只为索引码的某些值建立索引项. 稀疏索引的创建过程包括将集合中的元素分段,并给每个分段中的最小元素创建 ...

  3. 三分钟使用github的技巧

    一.GitHub搜索技巧--找开发者 搜索条件 备注 location: location:china,匹配用户填写的地址在china language: language:javascript,匹配 ...

  4. lca 学习笔记

    定义 最近公共祖先简称 \(LCA\) 两个节点的最近公共祖先,就是这两个点的公共祖先里,离根最远的的那个 为了方便,我们记某点集 \(S={v1,v2,...,vn}\) 的最近公共祖先为 \(LC ...

  5. PersistenceException、ReflectionException、IllegalArgumentException、wrapException持久性异常 反射异常 非法参数异常 包装异常

    PersistenceException.ReflectionException.IllegalArgumentException.wrapException wrapException 持久性异常 ...

  6. 春秋云镜 - CVE-2022-28060

    Victor CMS v1.0 /includes/login.php 存在sql注入 找到页面的登录框,看介绍应该是post类型的表单注入. 上sqlmap用原本的梭发现ctf的那个表是空的,换用- ...

  7. 单位换算详解:bit、Byte、bps、Bps、pps、Gbps的单位详细说明及换算

    当谈论计算机存储和数据传输时,"bit"(比特)和"Byte"(字节)是两个常见的术语,它们具有不同的含义和用途. 位(bit):"位"来自 ...

  8. libGDX游戏开发之游戏纹理精灵切割(十六)

    libGDX游戏开发之游戏纹理精灵切割(十六) libGDX系列,游戏开发有unity3D巴拉巴拉的,为啥还用java开发?因为我是Java程序员emm-国内用libgdx比较少,多数情况需要去官网和 ...

  9. Salesforce LWC学习(四十六) record-picker组件浅谈

    本篇参考: https://developer.salesforce.com/docs/platform/lwc/guide/reference-graphql.html https://develo ...

  10. QNX 性能分析工具

    QNX 性能分析工具 小结 hogs:列出最占用 CPU/RAM 的进程,可以统计内存占用详细情况[可单个进程] pidin:显示进程信息.系统信息.库信息...[可单个进程] ps:显示进程信息[可 ...