AtCoder Beginner Contest 174
第一次 ak ABC,纪念一下。
比赛链接:https://atcoder.jp/contests/abc174
A - Air Conditioner
#include <bits/stdc++.h>
using namespace std;
int main() {
int n; cin >> n;
cout << (n >= 30 ? "Yes" : "No");
}
B - Distance
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, d; cin >> n >> d;
int cnt = 0;
for (int i = 0; i < n; i++) {
int x, y; cin >> x >> y;
if (1ll * x * x + 1ll * y * y <= 1ll * d * d) ++cnt;
}
cout << cnt << "\n";
}
C - Repsept
#include <bits/stdc++.h>
using namespace std;
int main() {
int k; cin >> k;
int ans = 1;
for (int mod = 7; mod % k; mod = (mod * 10 + 7) % k)
if (++ans > k) { ans = -1; break; }
cout << ans << "\n";
}
D - Alter Altar
#include <bits/stdc++.h>
using namespace std;
int main() {
int n; string s; cin >> n >> s;
int ans = 0;
int l = 0, r = n - 1;
while (l < r) {
if (s[l] == 'W') {
while (r > l and s[r] != 'R') --r;
if (r > l) {
++ans;
++l;
--r;
}
} else ++l;
}
cout << ans << "\n";
}
E - Logs
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 100; int n, k;
int a[N]; bool ok(int mid) {
int need = 0;
for (int i = 0; i < n; i++) {
need += (a[i] - 1) / mid;
}
return need <= k;
} int main() {
cin >> n >> k;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
int l = 1, r = 1e9;
while (r - l > 1) {
int mid = (l + r) / 2;
if (ok(mid)) r = mid;
else l = mid;
}
cout << (ok(l) ? l : r) << "\n";
}
F - Range Set Query
原题P1972。
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 100; int a[N], bit[N], vis[N], ans[N]; struct P{
int l, r, pos;
}p[N]; void add(int pos, int val) {
for (int i = pos; i <= N; i += i & (-i)) {
bit[i] += val;
}
} int sum(int pos) {
int ans = 0;
for (int i = pos; i != 0; i -= i & (-i)) {
ans += bit[i];
}
return ans;
} int main() {
int n, m; cin >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
for (int i = 1; i <= m; i++) {
cin >> p[i].l >> p[i].r;
p[i].pos = i;
}
sort(p + 1, p + 1 + m, [&] (P x, P y) {
return x.r < y.r;
});
int r = 1;
for (int i = 1; i <= m; i++) {
for (int j = r; j <= p[i].r; j++) {
if (vis[a[j]]) add(vis[a[j]], -1);
add(j, 1);
vis[a[j]] = j;
}
r = p[i].r + 1;
ans[p[i].pos] = sum(p[i].r) - sum(p[i].l - 1);
}
for (int i = 1; i <= m; i++) {
cout << ans[i] << "\n";
}
}
AtCoder Beginner Contest 174的更多相关文章
- 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 ...
- AtCoder Beginner Contest 079 D - Wall【Warshall Floyd algorithm】
AtCoder Beginner Contest 079 D - Wall Warshall Floyd 最短路....先枚举 k #include<iostream> #include& ...
- AtCoder Beginner Contest 064 D - Insertion
AtCoder Beginner Contest 064 D - Insertion Problem Statement You are given a string S of length N co ...
- AtCoder Beginner Contest 075 D - Axis-Parallel Rectangle【暴力】
AtCoder Beginner Contest 075 D - Axis-Parallel Rectangle 我要崩溃,当时还以为是需要什么离散化的,原来是暴力,特么五层循环....我自己写怎么都 ...
随机推荐
- 用python+sklearn(机器学习)实现天气预报 准备
用python+sklearn机器学习实现天气预报 准备 项目地址 系列教程 0.流程介绍 1. 环境搭建 a.python b.涉及到的机器学习相关库 sklearn panda seaborn j ...
- Array.apply(null, {length: 2}) 的理解
// apply 的第二参数通常是数组 但是也可以传递类数组对象{length: 2}console.log(Array.apply(null, {length: 2})) // [undefined ...
- Java 设置Excel条件格式(高亮条件值、应用单元格值/公式/数据条等类型)
概述 在Excel中,应用条件格式功能可以在很大程度上改进表格的设计和可读性,用户可以指定单个或者多个单元格区域应用一种或者多种条件格式.本篇文章,将通过Java程序示例介绍条件格式的设置方法,设置条 ...
- Mybatis的CRUD 增删改查
目录 namespace 命名空间 select insert update delete Mybatis 官网: https://mybatis.org/mybatis-3/zh/getting-s ...
- linux下安装zsh和p10k的详细过程
目录 下载zsh 下载oh-my-zsh 切换shell 下载p10k 下载zsh sudo apt-get install zsh sudo apt-get install git 下载oh-my- ...
- 深度学习DeepLearning技术实战研修班
深度学习DeepLearning(Python)实战培训班 时间地点: 2020 年 12 月 18 日-2020 年 12 月 21日 (第一天报到 授课三天:提前环境部署 电脑测试) 一.培训方式 ...
- centos7安装docker、docker-compose、es7.3.0、kibana7.3.0
一.安装docker 1.更新yum包 sudo yum update 2.卸载旧版本(如果安装过旧版本的话) sudo yum remove docker docker-common docker- ...
- 【Android初级】使用TypeFace设置TextView的文字字体(附源码)
在Android里面设置一个TextView的文字颜色和文字大小,都很简单,也是一个常用的基本功能.但很少有设置文字字体的,今天要分享的是通过TypeFace去设置TextView的文字字体,布局里面 ...
- LR_添加系统资源监控失败
1.服务开启情况:RPC.Rmote Resgistry.Network DDE.Server.Workstation.Network connection以上服务是否已开启 2.是否开了防火墙,如有 ...
- (014)每日SQL学习:oracle下lag和lead分析函数
/*语法*/ lag(exp_str,offset,defval) over() Lead(exp_str,offset,defval) over() --exp_str要取的列 --offset取偏 ...