第一次 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的更多相关文章

  1. AtCoder Beginner Contest 100 2018/06/16

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

  2. AtCoder Beginner Contest 052

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

  3. AtCoder Beginner Contest 053 ABCD题

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

  4. AtCoder Beginner Contest 136

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

  5. AtCoder Beginner Contest 137 F

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

  6. AtCoder Beginner Contest 076

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

  7. AtCoder Beginner Contest 079 D - Wall【Warshall Floyd algorithm】

    AtCoder Beginner Contest 079 D - Wall Warshall Floyd 最短路....先枚举 k #include<iostream> #include& ...

  8. AtCoder Beginner Contest 064 D - Insertion

    AtCoder Beginner Contest 064 D - Insertion Problem Statement You are given a string S of length N co ...

  9. AtCoder Beginner Contest 075 D - Axis-Parallel Rectangle【暴力】

    AtCoder Beginner Contest 075 D - Axis-Parallel Rectangle 我要崩溃,当时还以为是需要什么离散化的,原来是暴力,特么五层循环....我自己写怎么都 ...

随机推荐

  1. spring ioc踏出第一步

    spring IOC(容器) AOP(面向切面编程) IOC容器:他的功能就是可以整合像 Structs2 .Hibernate.Mybatis: IOC:控制反转:所谓的控制就是控制资源的获取方法, ...

  2. Openstack 启动一个实例(九)

    Openstack 启动一个实例(九) 创建一个提供者网络: # 创建一个提供者网络: openstack network create --share --external --provider-p ...

  3. python学习笔记 | PyCharm出现卡顿解决方法

    问题:使用pycharm时常出现 the IDE is running low on memory 的问题 表示pycharm这款IDE使用内存不足 需要在系统内存充足的情况下扩充IDE memory ...

  4. 断言封装之key检查及kv实战示例

    ️️️️️️️️️️️️️️️️️️️️️️️️️️️️️ 测试: 断言处理: demo_04.pyimport jsonjson_obj = {"access_token":&q ...

  5. Hbase 手动执行MajorCompation

    说明: Major Compaction 的作用: 1.将一个Region下的所有StoreFile合并成一个StoreFile文件 2.对于删除.过期.多余版本的数据进行清除 由于MajorComp ...

  6. (十九)hashlib模块

    hashlib模块用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 注意:md5和sha25 ...

  7. 【TNS】listener.ora模板;tnsnames.ora模板

    好多人使用监听的时候误操作,将监听弄的不好使了,这次这个模板,不光是针对大家出现的这种问题,也是给我自己留一个记录,方便他人,方便自己. listener.ora模板样例 -------------- ...

  8. Java调用Linux命令执行

    调用方式 Java调用linux命令执行的方式有两种,一种是直接调用linux命令,一种是将linux命令写到.sh脚本中,然后调用脚本执行. 详细说明 直接调用:使用java中lang包下面的Run ...

  9. SAP ERP中权限参数和角色相关表

    SAP版本:S/4 HANA 1809

  10. es_python_操作

    获取es索引 https://www.itranslater.com/qa/details/2583886977221264384