AtCoder Beginner Contest 166 (A~E)
比赛链接:Here
AB水题
C - Peaks
题意:
- 给出 \(n\) 个观察台的高度,以及 \(m\) 条边,定义“好观察台”:比所有直接相连的观测台都高
思路:
因为道路是双向的,互相判断一下即可
a &= bool 这个写法学习了
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
int n, m; cin >> n >> m;
vector<int>h(n), st(n, 1);
for (int &i : h) cin >> i;
while (m--) {
int a, b;
cin >> a >> b, a -= 1, b -= 1;
st[a] &= h[a] > h[b];
st[b] &= h[b] > h[a];
}
int cnt = 0;
for (int i = 0; i < n; ++i) cnt += st[i];
cout << cnt;
}
D - I hate Factorization
题意:
- 给出 \(X(\le1e9)\) 请问存在 \((A,B)\) 使得 \(A^5-B^5 =X\) 吗
思路:
因为 A,B可取负值,而且数据范围挺大的,说明应该有技巧
实际写了一下数据发现 \(A,B\) 取值范围应该在 \([-1000,1000]\) 之中,而且一定存在(证明不提供)
那么直接枚举就好了
ll fac(ll x) {return x * x * x * x * x;}
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
ll n; cin >> n;
for (ll i = -1000; i <= 1000; ++i) {
ll y = fac(i) + n;
for (ll j = -1000; j <= 1000; ++j)
if (fac(j) == y) {
return printf("%lld %lld", j, i), 0;
}
}
}
E - This Message Will Self-Destruct in 5s
题意:
给出一个长度为 n 的序列 h,
求问有多少组不同的无序数对 \((i,j)\) 使得 \(|i-j| = h_i + h_j\)
思路:
思维题,题意是找数对 \((i,j)\) 使得 \(|i-j| = h_i + h_j\) ,我们不妨设讠<j,移项得:a-j=-0-,很容易想到用map存数,每次更新答案即可
我们可以设 \(i<j\) 简单移项后 map 存数即可(在ABC里做过类似的了)
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
int n; cin >> n;
int a[n + 1];
ll cnt = 0;
map<int, int>mp;
for (int i = 1; i <= n; ++i) {
cin >> a[i];
cnt += mp[a[i] - i];
mp[-a[i] - i] += 1;
}
cout << cnt ;
}
AtCoder Beginner Contest 166 (A~E)的更多相关文章
- Atcoder Beginner Contest 147C(状态压缩)
最多15个人,用N个二进制的数字表示每个人的状态,然后检验.这串数字相当于已经把这些人的状态定了下来,如果和输入的情况不符则这串数字不正确,直接忽略,因为枚举了所有的情况,所以总有正确的,不必在错误的 ...
- AtCoder Beginner Contest 254(D-E)
Tasks - AtCoder Beginner Contest 254 D - Together Square 题意: 给定一个N,找出所有不超过N的 ( i , j ),使得( i * j )是一 ...
- AtCoder Beginner Contest 086 (ABCD)
A - Product 题目链接:https://abc086.contest.atcoder.jp/tasks/abc086_a Time limit : 2sec / Memory limit : ...
- AtCoder Beginner Contest 085(ABCD)
A - Already 2018 题目链接:https://abc085.contest.atcoder.jp/tasks/abc085_a Time limit : 2sec / Memory li ...
- AtCoder Beginner Contest 084(AB)
A - New Year 题目链接:https://abc084.contest.atcoder.jp/tasks/abc084_a Time limit : 2sec / Memory limit ...
- AtCoder Beginner Contest 083 (AB)
A - Libra 题目链接:https://abc083.contest.atcoder.jp/tasks/abc083_a Time limit : 2sec / Memory limit : 2 ...
- AtCoder Beginner Contest 264(D-E)
D - "redocta".swap(i,i+1) 题意: 给一个字符串,每次交换相邻两个字符,问最少多少次变成"atcoder" 题解: 从左到右依次模拟 # ...
- Atcoder Beginner Contest 121D(异或公式)
#include<bits/stdc++.h>using namespace std;int main(){ long long a,b; cin>>a>&g ...
- Atcoder Beginner Contest 156E(隔板法,组合数学)
#define HAVE_STRUCT_TIMESPEC #include<bits/stdc++.h> using namespace std; ; ; long long fac[N] ...
- Atcoder Beginner Contest 155E(DP)
#definde HAVE_STRUCT_TIMESPEC #include<bits/stdc++.h> using namespace std; ]; int main(){ ios: ...
随机推荐
- 学习JavaScript的第一天
JavaScript概述 JavaScript的介绍 js属于一门面向对象的编程语言 属于跨平台 面向对象(oop) 以对象方式实现所有的功能 跨平台:js代码不论是在什么样的操作系统上执行结果都是一 ...
- 【Javaweb】五(Service类)
一般Spring项目中处理业务的层为Service层,称为业务层.目前常见的风格有: 写法:Service层=Service接口+ServiceImpl实现类 AdminServiceImpl.jav ...
- Pycharm 2022 取消双击 shift 搜索框
Pycharm取消双击shift搜索框 基于PyCharm 2022.3.2 (Professional Edition),旧版本修改方式自行搜索 双击shift弹出搜索框,输入内容double mo ...
- DataGridView合并单元格,重绘后选中内容被覆盖的解决办法
DataGridView合并单元格只能进行重绘,网上基本上使用的是下面的方法: 1 /// <summary> 2 /// 说明:纵向合并单元格 3 /// 参数:dgv DataGrid ...
- Fragment动态添加与管理
activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...
- Spring整合Quartz简单入门
创建一个Web项目 导入相关jar包 <?xml version="1.0" encoding="UTF-8"?> <project xmln ...
- MySQL运维15-一主一从读写分离
一.读写分离介绍 读写分离,是把数据库的读和写分开操作,以应对不同的数据库服务器.主数据库提供写操作,从数据库提供读操作,这样能有效的减轻单台数据库的压力. 二.一主一从原理 MySQL的主从复制是基 ...
- 痞子衡嵌入式:在i.MXRT1170上快速点亮一款全新LCD屏的方法与步骤(MIPI DSI接口)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在i.MXRT1170上快速点亮一款全新LCD屏的方法与步骤. 我们知道 LCD 屏的接口有很多:DPI-RGB.MIPI DSI.DB ...
- P3537 [POI2012]SZA-Cloakroom 题解
题目大意 有 \(n\) 件物品,每件物品有三个属性 \(a_i, b_i, c_i (a_i < b_i)\). 再给出 \(q\) 个询问,每个询问由非负整数 \(m, k, s\)组成,问 ...
- String 类和 STL (Standard Template Library)
目录 一. string 类 1. 构造字符串 2. string类输入 3. 使用字符串 4. 其他string类方法 5. 字符串种类 一. string 类 很多应用程序都需要处理字符串.C语言 ...