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 我要崩溃,当时还以为是需要什么离散化的,原来是暴力,特么五层循环....我自己写怎么都 ...
随机推荐
- Databricks 第5篇:Databricks文件系统(DBFS)
Databricks 文件系统 (DBFS,Databricks File System) 是一个装载到 Azure Databricks 工作区的分布式文件系统,可以在 Azure Databric ...
- 在JavaScript种遇到这样的错误如何解决XML 解析错误:格式不佳 位置:http:/... 行 27,列 32:
相信很多人在开发的过程中都会遇到在js中解析xml文档的问题.有时候文档解析失败,但就是不知道怎么失败的,哪里格式不对.这里教大家一个方法来排查JavaScript解析xml文档格式出错的办法. 1. ...
- MySQL 使用MD5对数据进行加密
数据库MD5加密 -- ================ 测试 MD5 加密 ============== CREATE TABLE `testmd5`( id INT(11) NOT NULL AU ...
- 【Linux】一个网卡部署多个内网ip
1.用root权限的用户登录CENTOS,进入network-scripts文件夹下(本步骤可以省略,与二步骤一起完成): shell命令:cd /ect/sysconfig/network-scri ...
- 【Linux】 多个会话同时执行命令后history记录不全的解决方案
基本认识 linux默认配置是当打开一个shell终端后,执行的所有命令均不会写入到~/.bash_history文件中,只有当前用户退出后才会写入,这期间发生的所有命令其它终端是感知不到的. 问题场 ...
- 【Oracle】B-tree和函数索引
转自:https://www.cnblogs.com/yumiko/p/5957613.html 函数索引 1.1 概述 在实际应用中,当条件列使用函数运算进行数据匹配时,即使该列建立了索引,索引也不 ...
- 07--Docker安装Redis
1.拉取redis:3.2 docker pull redis:3.2 2.创建redis容器 docker run -p 6379:6379 -v /zhengcj/myredis/data:/da ...
- zabbix-server安装部署配置
zabbix-server安装部署配置 zabbixLinux安装部署安装脚本 1 一步一步部署 1.1 安装zabbix仓库源 这里安装阿里的zabbix仓库地址 选用zabbix版本3.4 rpm ...
- .NetCore 在不同位置添加过滤器
前言 以ParaModelValidateAttribute(参数校验)和ErrorCatch(错误捕捉)为例. 在方法上添加(局部) 这种方式比较灵活 [ParaModelValidate] [Er ...
- 安装OpenDaylight及Openflow插件
1. 安装 Java 和 Maven CentOS7: yum install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 ma ...