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: ...
随机推荐
- logstash 配置文件语法介绍
大家好,我是蓝胖子,之前在构建服务监控实践那个系列里,有提到用logstash来做日志的收集,但是对于logstash的配置文件语法没有做很详细的介绍,今天就来详细聊聊logstash配置文件的语法. ...
- C++ Qt开发:PushButton按钮组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QPushBu ...
- 2023年奔走的总结---吉特日化MES 制药项目 篇二
书接上文,反正今年也就折腾一下了,索性好好整理一下思绪写写文章,当做工作笔记.今年工作中遇到了各种各样的事情,可能是由于今年项目压力像无头苍蝇一样瞎撞,也打发一下按耐不住的心.本篇将记录一下<吉 ...
- 安卓app填写域名和端口后点击保存没有反应(填错注册信息)
解决方法:域名填写错误导致(仔细检查填写的域名和端口是否正常,注册的信息是否与填写的一致) 域名是:3q9l302537.wicp.vip 中间有个字母 l 不是数字 1 填写成了:3q91302 ...
- svn、git服务器配置进程方式网关不生效常见处理方法
过华企盾DSC防泄密系统配置svn或者git服务器的时候,网关不生效如何解决? 1.先在cmd中运行一下命令netstat -ano|findstr "8080" 找到svn.gi ...
- Net 高级调试之十五:经典的锁故障
一.简介 今天是<Net 高级调试>的第十五篇文章,这个系列的文章也快结束了,但是我们深入学习的脚步还不能停止.上一篇文件我们介绍了C# 中一些锁的实现逻辑,并做到了眼见为实的演示给大家它 ...
- 整一个工具类【根据URL地址获取file文件对象】
整一个工具类[根据URL地址获取file文件对象] 直接将网络url文件转换为file对象 import java.io.*; import java.net.URL; public class Im ...
- Visual Studio 2022版本17.8中的实用功能
前言 今天介绍一下Visual Studio 2022版本17.8这一发行版中的4个比较实用功能. 保留大小写查找和替换 这个功能之前就有,不过我觉得对于日常搜索.替换而言还是比较实用的.在执行查找. ...
- C语言之检验三边能否构成三角形
要求: 编写程序检验由三边能否构成三角形,检验方法是任意两边和均要大于第三边. 输出格式:若结果可以构成,输出YES,否则输出ERROR DATA 其实很简单,运用与逻辑运算符&&判断 ...
- springboot的启动器
前言 ~ 面试的时候,被问到springboot 官方提供的启动器常见的有哪些?(头大) 正文 ~ 启动器作用: 启动器是为了 适应 一个特定的场景的,里面定义了 这个场景下 需要用到的依赖. 启动器 ...