补题链接:Here

A - Don't be late

题意:高桥(Takahashi )现在要去距离家 \(D\) 米的地方面基,请问如果以最高速度 \(S\) 能否再 \(T\) 时刻准时到达?

\(cout << (d / s <= t ? "Yes" : "No");\)

注意点使用 float

B - Substring

注意到 S T 长度很小,所有可以枚举

int main() {
ios_base::sync_with_stdio(false), cin.tie(0);
string s, t;
cin >> s >> t;
int n = s.size(), m = t.size();
int ans = m;
for (int start = 0; start <= n - m; ++start) {
int cnt = 0;
for (int i = 0; i < m; ++i)
if (t[i] != s[start + i]) cnt++;
ans = min(ans, cnt);
}
cout << ans << "\n";
return 0;
}

C - Sum of product of pairs

维护后缀和,记得取模即可

using ll = long long;
const ll mod = 1e9 + 7;
int main() {
ios_base::sync_with_stdio(false), cin.tie(0);
int n;
cin >> n;
ll a[n + 1], lst[n + 2] = {};
for (int i = 1; i <= n; ++i) cin >> a[i];
for (int i = n; i >= 1; --i) {
lst[i] = (lst[i + 1] % mod + (i == n ? 0 : a[i + 1]) % mod) % mod;
}
ll ans = 0;
for (int i = 1; i < n; ++i) {
ans = (ans + a[i] * lst[i] + mod) % mod;
}
cout << ans % mod << "\n";
return 0;
}

D - Friends

题意:给定 n 个人的 m 对朋友关系,现在进行最小化分组要是每个组里都没有互相认识的人,

思路:并查集,求出最大连通分量即可

  • \(\mathcal{O}(NlogN)\)
const int N = 2e5 + 7;
int f[N], Siz[N];
int find(int x) {
return f[x] == x ? x : f[x] = find(f[x]);
}
void merge(int x, int y) {
x = find(x), y = find(y);
if (x != y)
f[x] = y, Siz[y] += Siz[x];
}
int main() {
ios_base::sync_with_stdio(false), cin.tie(0);
int n, m;
for (int i = 1; i <= N - 1; ++i) f[i] = i, Siz[i] = 1;
cin >> n >> m;
while (m--) {
int x, y;
cin >> x >> y;
merge(x, y);
}
sort(Siz, Siz + n + 1);
cout << Siz[n];
return 0;
}

E - Coprime

质因数分解,统计含有每个质因子的数的个数,然后求出最大的个数。如果这个值为 \(1\),说明两两互质;如果这个值小于\(N\),说明总体互质。

int cnt[1 << 20];
int all = 0;
bool isp[1 << 20];
int gcd(int a, int b) { return b ? gcd(b, a % b) : a; }
int main() {
ios_base::sync_with_stdio(false), cin.tie(0);
int n;
cin >> n;
for (int i = 0, x; i < n; ++i) {
cin >> x;
cnt[x]++;
all = gcd(all, x);
}
bool f = true;
for (int i = 2; i < (1 << 20); ++i) {
int sum = 0;
for (int j = i; j < (1 << 20); j += i) sum += cnt[j];
if (sum > 1) f = false;
}
cout << (f ? "pairwise coprime" : all == 1 ? "setwise coprime"
: "not coprime");
return 0;
}

AtCoder Beginner Contest 177

AtCoder Beginner Contest 177 (个人题解,C后缀和,D并查集,E质因数分解)的更多相关文章

  1. AtCoder Beginner Contest 177 题解

    AtCoder Beginner Contest 177 题解 目录 AtCoder Beginner Contest 177 题解 A - Don't be late B - Substring C ...

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

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

  3. AtCoder Beginner Contest 177 E - Coprime (数学)

    题意:给你\(n\)个数,首先判断它们是否全都__两两互质__.然后再判断它们是否全都互质. 题解:判断所有数互质很简单,直接枚举跑个gcd就行,关键是第一个条件我们要怎么去判断,其实我们可以对所有数 ...

  4. AtCoder Beginner Contest 177 D - Friends (并查集)

    题意:有\(n\)个人,给你\(m\)对朋友关系,朋友的朋友也是朋友,现在你想要将他们拆散放到不同的集合中,且每个集合中的人没有任何一对朋友关系,问最少需要多少集合. 题解:首先用并查集将朋友关系维护 ...

  5. AtCoder Beginner Contest 089完整题解

    A - Grouping 2 Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement There a ...

  6. AtCoder Beginner Contest 177

    比赛链接:https://atcoder.jp/contests/abc177/tasks A - Don't be late #include <bits/stdc++.h> using ...

  7. 2018.09.08 AtCoder Beginner Contest 109简要题解

    比赛传送门 水题大赛? 全是水题啊!!! T1 ABC333 就是判断是不是两个数都是奇数就行了. 代码: #include<bits/stdc++.h> using namespace ...

  8. Atcoder Beginner Contest 138 简要题解

    D - Ki 题意:给一棵有根树,节点1为根,有$Q$次操作,每次操作将一个节点及其子树的所有节点的权值加上一个值,问最后每个节点的权值. 思路:dfs序再差分一下就行了. #include < ...

  9. AtCoder Beginner Contest 148 题解

    目录 AtCoder Beginner Contest 148 题解 前言 A - Round One 题意 做法 程序 B - Strings with the Same Length 题意 做法 ...

  10. AtCoder Beginner Contest 154 题解

    人生第一场 AtCoder,纪念一下 话说年后的 AtCoder 比赛怎么这么少啊(大雾 AtCoder Beginner Contest 154 题解 A - Remaining Balls We ...

随机推荐

  1. Maven安装与配置【idea2022版本】

    一.maven下载 https://maven.apache.org/download.cgi 下载完毕后解压,注意解压路径不要有中文 二.环境变量 在环境变量Path里面新建(自己的maven的bi ...

  2. 黑客玩具入门——9、Burp Suite

    Burp Suite是一款集成化的渗透测试工具,包含了很多功能,可以帮助我们快速完成对web应用程序的渗透测试和攻击.Burp Suite是由Java语言编写,因为Java是可以跨平台的,所以Burp ...

  3. [ABC310G] Takahashi And Pass-The-Ball Game

    Problem Statement There are $N$ Takahashi. The $i$-th Takahashi has an integer $A_i$ and $B_i$ balls ...

  4. Ef Core花里胡哨系列(7) 使用Ef Core也能维护表架构?

    Ef Core花里胡哨系列(7) 使用Ef Core也能维护表架构? 我们这里指的并不是查询,而是利用Ef的迁移原理,生成可用的其它表架构操作的Sql. 例如你想在Ef Core里建表,并且可能程序里 ...

  5. Python——第一章:for循环

    字符串是可迭代的for循环: for 任意变量名 in 字符串|列表|元祖|字典|集合(可迭代的东西): 代码 for循环把可迭代的东西中的每一项内容拿出来. 挨个的赋值给变量. 每一次赋值都要执行一 ...

  6. 如何用 vscode 捞出还未国际化的中文词条

    做国际化一个很头疼的坑就是,你不知道项目里到底还有哪些中文词条没有国际化处理 纯靠人工去检查不现实,也不靠谱,而且浪费资源 所以还是得通过脚本工具来检查,思路是: 先保存好本地代码变更,准备好一个无文 ...

  7. Numpy计算近邻表时间对比

    技术背景 所谓的近邻表求解,就是给定N个原子的体系,找出满足cutoff要求的每一对原子.在前面的几篇博客中,我们分别介绍过CUDA近邻表计算与JAX-MD关于格点法求解近邻表的实现.虽然我们从理论上 ...

  8. Windows桌面自动化测试工具:WinAppDriver

    大家好,今天给大家介绍一款Windows桌面自动化测试工具:WinAppDriver. 1.介绍 WinAppDriver是一个开源的自动化测试工具,用于测试Windows应用程序.它是一个Windo ...

  9. 从C++CLI工程的依赖库引用问题看.Net加载程序集机制

    问题 最近在为某第三方MFC项目写C++/CLI工程插件时遇到了如下一个问题: MFC的工程不允许把.Net的依赖程序集放到执行程序的目录(防止影响其稳定性),依赖库只能放到非执行程序子目录的其他目录 ...

  10. gmap构建离线地图,用createCustomerTiledLayer方法,瓦片地址尾部多了 ?x={x}&y={y}&z&{z} 导致无法显示地图。

    gmap构建离线地图,用createCustomerTiledLayer方法,瓦片地址尾部多了 ?x={x}&y={y}&z&{z} 导致无法显示地图. function in ...