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 我要崩溃,当时还以为是需要什么离散化的,原来是暴力,特么五层循环....我自己写怎么都 ...
随机推荐
- Docker-ce Centos8 笔记二:常见问题
- 集成spring框架的web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" ...
- sort方法和sorted()函数
sort方法和sorted()函数的区别: 相同点:都能完成排序操作. 不同点: (1)使用sort()方法对list排序会修改list本身,不会返回新list,sort()不能对dict字典进行排序 ...
- kubernets之服务发现
一 服务与pod的发现 1.1 服务发现pod是很显而易见的事情,通过简称pod的标签是否和服务的标签一致即可,但是pod是如何发现服务的呢?这个问题其实感觉比较多余,但是接下来你就可能不这么想了 ...
- Leetcode53. 最大子序列和
问题 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 代码 贪心算法 核心思想就是检查之前 i-1 的元素和,如果小于零就舍弃--对应下面第六行 ...
- ios获取缓存文件的大小并清除缓存
移动应用在处理网络资源时,一般都会做离线缓存处理,其中以图片缓存最为典型,其中很流行的离线缓存框架为SDWebImage. 但是,离线缓存会占用手机存储空间,所以缓存清理功能基本成为资讯.购物.阅读类 ...
- Redis 实战 —— 01. Redis 数据结构简介
一些数据库和缓存服务器的特性和功能 P4 名称 类型 数据存储选项 查询类型 附加功能 Redis 使用内存存储(in-memory)的非关系数据库 字符串.列表.哈希表.集合.有序集合 每种数据类型 ...
- sap alv grid 中的delete按键问题
今天发先一个问题,在使用ALV输出的时候,如果有字段设置为可编辑状态,则会在前面出现选择条,并且,当我们选择一行或者多行的时候,可以用键盘上的DELETE键将行删除!呵呵
- ElasticSearch极简入门总结
一,目录 安装es 项目添加maven依赖 es客户端组件注入到spring容器中 es与mysql表结构对比 索引的删除创建 文档的crud es能快速搜索的核心-倒排索引 基于倒排索引的精确搜索. ...
- 微服务网关2-搭建Gateway服务
一.创建父模块infrastructure 1.创建模块 在guli_parent下创建普通maven模块 Artifact:infrastructure 2.删除src目录 二.创建模块api_ga ...