AtCoder Beginner Contest 177 (个人题解,C后缀和,D并查集,E质因数分解)
补题链接: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质因数分解)的更多相关文章
- AtCoder Beginner Contest 177 题解
AtCoder Beginner Contest 177 题解 目录 AtCoder Beginner Contest 177 题解 A - Don't be late B - Substring C ...
- KYOCERA Programming Contest 2021(AtCoder Beginner Contest 200) 题解
KYOCERA Programming Contest 2021(AtCoder Beginner Contest 200) 题解 哦淦我已经菜到被ABC吊打了. A - Century 首先把当前年 ...
- AtCoder Beginner Contest 177 E - Coprime (数学)
题意:给你\(n\)个数,首先判断它们是否全都__两两互质__.然后再判断它们是否全都互质. 题解:判断所有数互质很简单,直接枚举跑个gcd就行,关键是第一个条件我们要怎么去判断,其实我们可以对所有数 ...
- AtCoder Beginner Contest 177 D - Friends (并查集)
题意:有\(n\)个人,给你\(m\)对朋友关系,朋友的朋友也是朋友,现在你想要将他们拆散放到不同的集合中,且每个集合中的人没有任何一对朋友关系,问最少需要多少集合. 题解:首先用并查集将朋友关系维护 ...
- AtCoder Beginner Contest 089完整题解
A - Grouping 2 Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement There a ...
- AtCoder Beginner Contest 177
比赛链接:https://atcoder.jp/contests/abc177/tasks A - Don't be late #include <bits/stdc++.h> using ...
- 2018.09.08 AtCoder Beginner Contest 109简要题解
比赛传送门 水题大赛? 全是水题啊!!! T1 ABC333 就是判断是不是两个数都是奇数就行了. 代码: #include<bits/stdc++.h> using namespace ...
- Atcoder Beginner Contest 138 简要题解
D - Ki 题意:给一棵有根树,节点1为根,有$Q$次操作,每次操作将一个节点及其子树的所有节点的权值加上一个值,问最后每个节点的权值. 思路:dfs序再差分一下就行了. #include < ...
- AtCoder Beginner Contest 148 题解
目录 AtCoder Beginner Contest 148 题解 前言 A - Round One 题意 做法 程序 B - Strings with the Same Length 题意 做法 ...
- AtCoder Beginner Contest 154 题解
人生第一场 AtCoder,纪念一下 话说年后的 AtCoder 比赛怎么这么少啊(大雾 AtCoder Beginner Contest 154 题解 A - Remaining Balls We ...
随机推荐
- 金蝶云星空与吉客云电商ERP数据对接
01 系统说明: 吉客云 吉客云: 从业务数字化和组织数字化两个方向出发,以生成流程的闭环为依归,致力于为企业的数字化升级提供落地工具.销售订单层面,吉客云对接了国内外主流的销售平台,兼容了电商渠道. ...
- Kafka集群调优+能力探底
一.前言 我们需要对4个规格的kafka能力进行探底,即其可以承载的最大吞吐:4个规格对应的单节点的配置如下: 标准版: 2C4G 铂金版: 4C8G 专业版: 8C16G 企业版: 16C32G 另 ...
- 使用nacos配置,启动服务时一直报 Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. APPLICATION FAILED TO START
报错日志如下: Error starting ApplicationContext. To display the conditions report re-run your application ...
- [ABC311G] One More Grid Task
Problem Statement There is an $N \times M$ grid, where the square at the $i$-th row from the top and ...
- IDEA插件(1 UI美化)
一.IDEA 插件怎么安装?(图文讲解) IntelliJ IDEA 支持丰富的插件,熟练使用相关插件,能够有效提高我们的开发效率以及用户体验.那么,要如何在 IDEA 中安装插件呢?这里有两种方式: ...
- 聊聊 从源码来看ChatGLM-6B的模型结构
基于ChatGLM-6B第一版,要注意还有ChatGLM2-6B以及ChatGLM3-6B 概述 ChatGLM是transformer架构的神经网络模型,因此从transformer结构入手,分析其 ...
- Vue.js 原理分析
本文内容提炼于<Vue.js设计与实现>,全书共 501 页,对 Vue.js 的设计原理从 0 到 1,循序渐进的讲解. 篇幅比较长,需要花些时间慢慢阅读,在合适的位置会给出在线示例以供 ...
- 技术解读丨GaussDB数仓高可用容灾利器之逻辑备份
摘要:GaussDB数仓的Roach工具,同时提供物理备份和逻辑备份两种主要形态的备份.逻辑备份针对数据库的逻辑对象进行抽取和备份,能够有效地应对单表.schema级等较细粒度的备份,较为灵活和便利. ...
- 华为云“网红”语言Python课程来啦!
摘要:来华为云社区学Python,瓜分40万码豆还有HUAWEI GT手表拿! 现代职场大量重复性的工作.日报周报月报无穷无尽.不计其数的数据提取.琐碎繁杂的事物让工作效率极低. 而Python的出现 ...
- 华山论“件”:Kafka、RabbitMQ、RocketMQ技能大比拼
摘要:主流的消息中间件包含Kafka.RabbitMQ和RocketMQ,本期云图说为您介绍它们之前的差异. 本文分享自华为云社区<第234期 华山论"件"-Kafka.Ra ...