AtCoder Beginner Contest 177
比赛链接:https://atcoder.jp/contests/abc177/tasks
A - Don't be late
#include <bits/stdc++.h>
using namespace std;
int main() {
int d, t, s;
cin >> d >> t >> s;
cout << (t * s >= d ? "Yes" : "No") << "\n";
}
B - Substring
#include <bits/stdc++.h>
using namespace std;
int main() {
string s, t;
cin >> s >> t;
int ans = INT_MAX;
for (int i = 0; i + t.size() <= s.size(); i++) {
int change = 0;
for (int j = 0; j < t.size(); j++)
if (s[i + j] != t[j])
++change;
ans = min(ans, change);
}
cout << ans << "\n";
}
C - Sum of product of pairs
#include <bits/stdc++.h>
using namespace std;
constexpr int mod = 1e9 + 7;
int main() {
int n;
cin >> n;
vector<int> a(n);
for (int i = 0; i < n; i++)
cin >> a[i];
vector<long long> pref(n);
for (int i = 0; i < n; i++) {
if (i == 0) pref[i] = a[i];
else pref[i] = pref[i - 1] + a[i];
}
long long ans = 0;
for (int i = 0; i < n; i++) {
ans += a[i] * ((pref[n - 1] - pref[i]) % mod) % mod;
ans %= mod;
}
cout << ans << "\n";
}
D - Friends
原题hdu 1856。
#include <bits/stdc++.h>
using namespace std;
constexpr int N = 2e5 + 100; int fa[N], son_num[N]; int Find(int x) {
if (fa[x] == x) return fa[x];
else return fa[x] = Find(fa[x]);
} void Union(int x, int y) {
x = Find(x);
y = Find(y);
if (x != y) {
fa[y] = x;
son_num[x] += son_num[y];
}
} void Init() {
for (int i = 0; i < N; i++) {
fa[i] = i;
son_num[i] = 1;
}
} int main() {
Init();
int n, m;
cin >> n >> m;
for (int i = 0; i < m; i++) {
int x, y;
cin >> x >> y;
Union(x, y);
}
cout << *max_element(son_num, son_num + N) << "\n";
}
E - Coprime
#include <bits/stdc++.h>
using namespace std;
constexpr int N = 1e6 + 100; int p[N]; void init() {
for (int i = 2; i < N; i++) {
if (p[i]) continue;
for (int j = i; j < N; j += i) {
p[j] = i;
}
}
} int main() {
init();
int n;
cin >> n;
vector<int> a(n);
for (int i = 0; i < n; i++)
cin >> a[i];
vector<set<int>> div(n);
for (int i = 0; i < n; i++) {
for (int j = a[i]; p[j] != 0; j /= p[j]) {
div[i].insert(p[j]);
}
}
bool pairwise = true;
map<int, int> cnt;
for (int i = 0; i < n; i++) {
for (const auto &x : div[i]) {
if (++cnt[x] >= 2)
pairwise = false;
}
}
bool setwise = false;
int gcd = 0;
for (int i = 0; i < n; i++)
gcd = __gcd(gcd, a[i]);
if (gcd == 1)
setwise = true;
if (pairwise)
cout << "pairwise coprime" << "\n";
else if (setwise)
cout << "setwise coprime" << "\n";
else
cout << "not coprime" << "\n";
}
AtCoder Beginner Contest 177的更多相关文章
- AtCoder Beginner Contest 177 题解
AtCoder Beginner Contest 177 题解 目录 AtCoder Beginner Contest 177 题解 A - Don't be late B - Substring C ...
- AtCoder Beginner Contest 177 E - Coprime (数学)
题意:给你\(n\)个数,首先判断它们是否全都__两两互质__.然后再判断它们是否全都互质. 题解:判断所有数互质很简单,直接枚举跑个gcd就行,关键是第一个条件我们要怎么去判断,其实我们可以对所有数 ...
- AtCoder Beginner Contest 177 D - Friends (并查集)
题意:有\(n\)个人,给你\(m\)对朋友关系,朋友的朋友也是朋友,现在你想要将他们拆散放到不同的集合中,且每个集合中的人没有任何一对朋友关系,问最少需要多少集合. 题解:首先用并查集将朋友关系维护 ...
- AtCoder Beginner Contest 100 2018/06/16
A - Happy Birthday! Time limit : 2sec / Memory limit : 1000MB Score: 100 points Problem Statement E8 ...
- AtCoder Beginner Contest 052
没看到Beginner,然后就做啊做,发现A,B太简单了...然后想想做完算了..没想到C卡了一下,然后还是做出来了.D的话瞎想了一下,然后感觉也没问题.假装all kill.2333 AtCoder ...
- AtCoder Beginner Contest 053 ABCD题
A - ABC/ARC Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Smeke has ...
- AtCoder Beginner Contest 136
AtCoder Beginner Contest 136 题目链接 A - +-x 直接取\(max\)即可. Code #include <bits/stdc++.h> using na ...
- AtCoder Beginner Contest 137 F
AtCoder Beginner Contest 137 F 数论鬼题(虽然不算特别数论) 希望你在浏览这篇题解前已经知道了费马小定理 利用用费马小定理构造函数\(g(x)=(x-i)^{P-1}\) ...
- AtCoder Beginner Contest 076
A - Rating Goal Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Takaha ...
随机推荐
- 查找Command
Find [路径] [匹配表达式] -name filename : 查找指定名称的文件 -user username: 查找属于指定用户的文件 -group grpname: 查找属于指定组的文件 ...
- fastjson反序列化漏洞原理及利用
重要漏洞利用poc及版本 我是从github上的参考中直接copy的exp,这个类就是要注入的类 import java.lang.Runtime; import java.lang.Process; ...
- DG主备切换遇到not allwod或者RESOLVABLE GAP解决办法
今天做switchover,环境是11.2.0.3+OEL5.7,开始时主备库状态都是正常的,符合直接切换条件: 主库: SQL> select open_mode,database_role, ...
- 【Oracle】增量备份和全库备份怎么恢复数据库
1差异增量实验示例 1.1差异增量备份 为了演示增量备份的效果,我们在执行一次0级别的备份后,对数据库进行一些改变. 再执行一次1级别的差异增量备份: 执行完1级别的备份后再次对数据库进行更改: 再执 ...
- 未使用绑定变量对share_pool的影响
oracle SGA中包含数据高速缓冲,重做日志缓冲,以及共享池(share_pool).共享池中包含库高速缓冲(所有的SQL,执行计划等)和数据字典缓冲(对象的定义,权限等). 所以,如果SQL中没 ...
- oracle创建恢复编录(recovery catalog)
1.在要作为恢复编录的数据库创建用户 create user rman identified by oracle default tablespace system temporary TABLESP ...
- JavaSE 基础知识(常识概念 + 基础语法)问答总结/面试题 —— 讲给应届生的 Java 开源知识项目
写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...
- Java 8中字符串拼接新姿势:StringJoiner
介绍 StringJoiner是java.util包中的一个类,用于构造一个由分隔符分隔的字符序列(可选),并且可以从提供的前缀开始并以提供的后缀结尾.虽然这也可以在StringBuilder类的帮助 ...
- ElasticSearch Python 基本操作
创建索引 from elasticsearch import Elasticsearch es = Elasticsearch('192.168.149.96:9200') mappings = { ...
- CentOS系统内核升级(在线 离线)
为什么要升级内核? Docker 在CentOS系统中需要安装在 CentOS 7 64 位的平台,并且内核版本不低于 3.10:CentOS 7.× 满足要求的最低内核版本要求,但由于 CentOS ...