比赛链接: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. linux中常用服务的安装

    安装环境:centos7.5 配置离线yum源参考:https://blog.csdn.net/mayh554024289/article/details/54236336vi /etc/yum.co ...

  2. .NET Core引入日志(Log4Net篇)

    Demo版本信息如下: VS:2019 框架:.Net Core 3.1 Log4Net:2.0.12 思维导图: [1]添加依赖项 通过nuget添加Log4Net [2]创建公共类 添加公共类Lo ...

  3. 在IDEA中通过Module管理多个项目

    你身边有没有这种顽固的Eclipse忠实用户:IDEA不能一个窗口管理多个项目!太不方便了! 对于一个窗口同时管理多个项目的需求,在我们日常开发时候是经常需要的.尤其当我们在分布式环境下,在一个窗口中 ...

  4. element el-table表格的vue组件二次封装(附表格高度自适应)

    基于vue的el-table表格二次封装组件方法 前言 在公司实习使用vue+element-ui框架进行前端开发,使用表格el-table较为多,有些业务逻辑比较相似,有些地方使用的重复性高,如果多 ...

  5. C语言流程图画法(C语言学习笔记)

    常用符号及其含义 图片来自百度文库 https://wenku.baidu.com/view/beb410dea216147916112853.html 常用结构 N-S图

  6. oracle rac切换到单实例DG后OGG的处理

    在RAC切换到单实例DG后,将OGG目录复制过去,在使用alter extract ext_name,begin now的时候报错 2016-04-10 11:27:03 WARNING OGG-01 ...

  7. 用 CSS background 实现刻度线的呈现

    有的时候,我们需要在网页中的进度条或某种度量计上呈现一条条的刻度线.例如这种: 简单的实现方式,大致有两种:一是用图片做背景,横向平铺线条图片:二是给每一块刻度区域平铺一个元素,然后用边线实现.身为一 ...

  8. Java中的基本数据类型与引用数据类型

    一.基本数据类型 byte.short.int.long(整数类型) float.double(浮点数类型) char(字符型) boolean(布尔类型 ) Java数据大多数存放在堆栈中. 栈区: ...

  9. 在Ubuntu18.04下编译出ffmpeg(支持推流H265成rtmp)

    Ubuntu18.04下编译libx264.libx265.libfdk_aac和ffmpeg 一.编译x264库 二.编译fdk-aac库 三.编译x265库 四.编译FFmpeg源码 五.设置环境 ...

  10. Zabbix监控虚拟机服务-告警与自动恢复

    今天稍微空闲,使用下zabbix的5.0版本,目前生产环境是4.x版本 今天就只实现一个目的:监控任意一个服务(示例中监控的是docker.service),如果服务挂了,自动给恢复,先看一个动图 搭 ...