第一次 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. 发现一个怪象windows 7系统上老是丢包windows 10网络正常

    不知何故障,同一个局域网,windows 10系统上不丢包,windows 7系统老是丢包,不知是不是这二个系统的差区别,还是大家都有这样的情况. 相互PC之间ping也又不丢包,只有windos 7 ...

  2. Flink SQL结合Kafka、Elasticsearch、Kibana实时分析电商用户行为

    body { margin: 0 auto; font: 13px / 1 Helvetica, Arial, sans-serif; color: rgba(68, 68, 68, 1); padd ...

  3. ctfhub技能树—文件上传—前端验证

    打开靶机 查看页面信息 尝试直接上传一句话木马 提示不允许上传 查看源码 发现仅允许上传.jpg,.png,.gif三种格式的文件 上传shell.jpg并使用burpsuite抓取数据包 添加完成后 ...

  4. 集成 12 种协议、可于 USBC 端口的快充协议芯片IP2188

    1. 特性  支持 12 种 USB 端口快充协议  支持 USB TypeC PD2.0/PD3.0/PPS DFP 协议  支持多种充电协议(QC3.0/QC2.0,FCP,SCP, AFC,MT ...

  5. Flink的状态与容错

    本文主要运行到Flink以下内容 检查点机制(CheckPoint) 状态管理器(StateBackend) 状态周期(StateTtlConfig) 关系 首先要将state和checkpoint概 ...

  6. 推荐大家去撸60元的阿里云ACA DevOps认证

    要试题的右边扫码支付10元,私聊博客哈,说出你微信号,留下邮箱,发你邮箱Pdf文件,这么便宜拿证!!

  7. Serverless对研发效能的变革和创新 云托管和Serverless应用差异

    https://mp.weixin.qq.com/s/J4RXtKanh3IMr4fY7t0nyQ Serverless对研发效能的变革和创新 杨皓然(不瞋) 阿里巴巴中间件 2020-10-23

  8. TCP连接的超时时间

    无论你用任何语言或者是网络库,你都可以设置网络操作的超时时间,特别是connect.read.write的超时时间. 你可以在代码中把超时时间设置任意大小值,但是connect方法会有一点特殊. co ...

  9. Webpack4.0各个击破(8)tapable篇

    目录 一. tapable概述 二. tapable-0.2源码解析 2.1 代码结构 2.2 事件监听方法 2.3 事件触发方法 三. tapable1.0概述 一. tapable概述 tapab ...

  10. Python学习【第3篇】:列表魔法

    ##########################深灰魔法-list类中提供的方法###################list 类,列表list = [1,12,9,"age" ...