比赛链接: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的更多相关文章

  1. AtCoder Beginner Contest 177 题解

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

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

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

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

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

  4. AtCoder Beginner Contest 100 2018/06/16

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

  5. AtCoder Beginner Contest 052

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

  6. AtCoder Beginner Contest 053 ABCD题

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

  7. AtCoder Beginner Contest 136

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

  8. AtCoder Beginner Contest 137 F

    AtCoder Beginner Contest 137 F 数论鬼题(虽然不算特别数论) 希望你在浏览这篇题解前已经知道了费马小定理 利用用费马小定理构造函数\(g(x)=(x-i)^{P-1}\) ...

  9. AtCoder Beginner Contest 076

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

随机推荐

  1. Second_week_mofangzhen

    第二周 奇数阶魔方阵 一.上节回顾 1.数组的基本操作 数组:若干个相同类型变量的集合. 声明:数据类型 数组名称[]; (在栈内存分配空间,存储的是数组的引用地址.数组首元素在堆内存 中的地址) 初 ...

  2. HP(惠普)服务器 修复 Intelligent Provisioning(摘录)

    摘录自:https://www.xxshell.com/1219.html 我们在给惠普服务器安装操作系统和配置RAID最常用的就是通过F10(Intelligent Provisioning)进行, ...

  3. Logrotate工具使用

    Logrotate ​ logrotate是一个被设计来简化系统管理日志文件的工具,在系统运行时,如果产生大量的日志文件,可以使用该工具进行管理,如/var/log/*文件夹是存储系统和应用日志的目录 ...

  4. 【Linux】在文件的指定位置插入数据

    今天遇到一个似乎很棘手的问题,要在文件的中间,插入几条配置 这里就以my.cnf这个文件为例 1 [mysqld] 2 datadir=/var/lib/mysql 3 socket=/var/lib ...

  5. dubbo快速入门demo

    参考文章 https://blog.csdn.net/abcwanglinyong/article/details/81906027 该demo包含三个项目,分别是: 服务提供端项目:provider ...

  6. [Usaco2015 dec]Breed Counting

    原题链接https://www.lydsy.com/JudgeOnline/problem.php?id=4397 用线段树维护区间和即可.时间复杂度\(O((N+Q)logN)\). #includ ...

  7. Spring入门及IoC的概念

    Spring入门 Spring是一个轻量级的Java开发框架,最早由Robd Johnson创建,目的为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题,它是一个分层的JavaSE/EE轻量级开源 ...

  8. jmeter-并发及常数吞吐量定时器设定

  9. java实现Excel定制导出(基于POI的工具类)

    我的需求: 项目中有一些工程表格需要导出,设计到行列合并,定制样式,原有工具类冗余,内聚性强.所以想写一个可以随意定制excel的工具类,工具类满足需求: 对于常用的工程表格有模板格式,可以任意插拔. ...

  10. 超微服务器重置ipmi登录密码

    超微服务器的ipmi登录密码不对,需要重置但是bios内并没有找到可以设置的选项. 以下是解决办法: 安装IPMITOOLyum install ipmitool -y 执行以下命令加载模块:modp ...