Codeforces #698 Div.2 (A~D题)个人题解记录
1478A. Nezzar and Colorful Balls
看半天题,然后才发现是统计最大值。
int _;
int main() {
ios_base::sync_with_stdio(false), cin.tie(0);
for (cin >> _; _--;) {
int n;
cin >> n;
vector<int> a(n + 1, 0);
for (int i = 0, x; i < n; ++i) cin >> x, a[x]++;
cout << *max_element(a.begin(), a.end()) << "\n";
}
return 0;
}
1478B. Nezzar and Lucky Number
int _;
int dp[1010];
bool f(int x, int d) {
while (x) {
if (x % 10 == d) return true;
x /= 10;
}
return false;
}
int main() {
ios_base::sync_with_stdio(false), cin.tie(0);
for (cin >> _; _--;) {
int q, x, d;
cin >> q >> d;
vector<int> v(15, 1e9);
for (int i = 1; i <= 100; ++i) {
x = i % d;
if (f(i, d)) v[x] = min(v[x], i);
}
for (int i = 1; i <= q; ++i) {
cin >> x;
if (v[x % d] <= x)
cout << "YES\n";
else
cout << "NO\n";
}
}
return 0;
}
1478C. Nezzar and Symmetric Array
对d数组排个序,看一个每个出现的奇偶次数,其实 d 的顺序就是 a(绝对值) 的顺序对应过去的,两组应该是对称出现的。。
那可以按顺序求出对应的 a,要是求不出来或者出现重复,那么就失败,否则成功。
int _;
int main() {
ios_base::sync_with_stdio(false), cin.tie(0);
for (cin >> _; _--;) {
int n;
cin >> n;
vector<ll> d(2 * n);
for (auto& x : d) cin >> x;
sort(d.rbegin(), d.rend()); // 注意这里是逆排
bool yn = 1;
ll sum = 0;
for (int i = 2; i < 2 * n; i += 2)
if (d[i] == d[i - 1]) yn = 0;
for (int i = 0; i < n && yn; i++) {
if (d[2 * i] != d[2 * i + 1]) {
yn = 0;
break;
}
if ((d[2 * i] - sum) <= 0 or (d[2 * i] - sum) % (n - i) != 0) {
yn = 0;
break;
}
ll cur = (d[2 * i] - sum) / (n - i);
if (cur & 1) {
yn = 0;
break;
}
sum += cur;
}
cout << (yn ? "YES\n" : "NO\n");
}
return 0;
}
1478D. Nezzar and Board
\(2*x−y\) x想成 \(x + x − y\) ,也就是x加上x 和y的差值,这个差值可以是正的也可以是负的。执行完之后我们可以对新的数字继续增加这个差值,所以我们就可以根据两个数字得出一个等差数列。数列内的数字都可以倍包含在数组a里。
而我们的目的是找出一个最小的差值 \(d\),然后分别比对每一个 \(a[i]\)看是否可以由 \(a[i]\)和若干个 \(d\) 得到 k。先对 a 数组排个序,然后对所有的$ a[ i ]− a[ i − 1] $求 gcd
,就得出了那个最小的差值 d。
// RioTian 21/01/29
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int _, n;
ll k;
ll gcd(ll a, ll b) { return a % b == 0 ? b : gcd(b, a % b); }
int main() {
ios_base::sync_with_stdio(false), cin.tie(0);
for (cin >> _; _--;) {
cin >> n >> k;
vector<ll> a(n + 1);
for (int i = 1; i <= n; i++) cin >> a[i];
sort(a.begin() + 1, a.end());
ll tmp = a[2] - a[1];
for (int i = 2; i < n; i++) tmp = gcd(tmp, a[i + 1] - a[i]);
ll x = llabs(a[1] - k);
cout << (x % tmp == 0 ? "YES\n" : "NO\n");
}
return 0;
}
Codeforces #698 Div.2 (A~D题)个人题解记录的更多相关文章
- Codeforces #698 (Div. 2) E. Nezzar and Binary String 题解
中文题意: 给你两个长度为 \(n\) 的01串 \(s,f,\)有 \(q\) 次询问. 每次询问有区间 \([\ l,r\ ]\) ,如果 \([\ l,r\ ]\) 同时包含\(0\)和\(1\ ...
- Codeforces#441 Div.2 四小题
Codeforces#441 Div.2 四小题 链接 A. Trip For Meal 小熊维尼喜欢吃蜂蜜.他每天要在朋友家享用N次蜂蜜 , 朋友A到B家的距离是 a ,A到C家的距离是b ,B到C ...
- Codeforces Round #609 (Div. 2)前五题题解
Codeforces Round #609 (Div. 2)前五题题解 补题补题…… C题写挂了好几个次,最后一题看了好久题解才懂……我太迟钝了…… 然后因为longlong调了半个小时…… A.Eq ...
- Codeforces #344 Div.2
Codeforces #344 Div.2 Interview 题目描述:求两个序列的子序列或操作的和的最大值 solution 签到题 时间复杂度:\(O(n^2)\) Print Check 题目 ...
- Codeforces #345 Div.1
Codeforces #345 Div.1 打CF有助于提高做题的正确率. Watchmen 题目描述:求欧拉距离等于曼哈顿距离的点对个数. solution 签到题,其实就是求有多少对点在同一行或同 ...
- codeforces #592(Div.2)
codeforces #592(Div.2) A Pens and Pencils Tomorrow is a difficult day for Polycarp: he has to attend ...
- codeforces #577(Div.2)
codeforces #577(Div.2) A Important Exam A class of students wrote a multiple-choice test. There are ...
- Lyft Level 5 Challenge 2018 - Final Round (Open Div. 2) (前三题题解)
这场比赛好毒瘤哇,看第四题好像是中国人出的,怕不是dllxl出的. 第四道什么鬼,互动题不说,花了四十五分钟看懂题目,都想砸电脑了.然后发现不会,互动题从来没做过. 不过这次新号上蓝名了(我才不告诉你 ...
- Codeforces 828B Black Square(简单题)
Codeforces 828B Black Square(简单题) Description Polycarp has a checkered sheet of paper of size n × m. ...
- Codeforces Beta Round #27 (Codeforces format, Div. 2)
Codeforces Beta Round #27 (Codeforces format, Div. 2) http://codeforces.com/contest/27 A #include< ...
随机推荐
- Codeforces Round 905 (Div. 3)
Codeforces Round 905 (Div. 3) A. Morning 题意:操作:显示,向前走都为一次操作:目标:显示这四个数 思路:0->10,然后依次作差就行 #include ...
- 如何搭建园区3d可视化大屏
搭建园区3D可视化大屏需要考虑多个方面,包括硬件设备.数据源获取.软件工具和可视化设计. 以下是一个详细的步骤指南,帮助您了解如何搭建园区3D可视化大屏. 1. 硬件设备选择: - 显示屏幕:选择适合 ...
- 【UniApp】-uni-app-内置组件
前言 好,经过上个章节的介绍完毕之后,了解了一下 uni-app-全局数据和局部数据 那么了解完了uni-app-全局数据和局部数据之后,这篇文章来给大家介绍一下 UniApp 中内置组件 首先不管三 ...
- 18、defer
1.defer是什么? 字面意思来看,defer是延迟,推迟的意思 在go语言中,使用defer关键字来延迟一个函数或者方法的执行 2.defer能干嘛? 对象.close(),临时文件的删除 文件. ...
- AutoGPT实战
1.概述 人工智能(AI)的能力持续在全球范围内引起轰动,并对我们日常生活和职业生涯带来重大变革.随着像ChatGPT这样的先进生成型AI模型以及从GPT-3到GPT-4的加速,我们在高级推理.理解更 ...
- 【fmjava】 面试题突击训练-Java基础语法篇01
JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称, Java 开发工具包, 提供了 Java 的开发环境和运行环境. JRE:Java Runtime Env ...
- 技巧:在Excel或Word中将回车替换掉
一.在Excel中替换 将回车替换为逗号或其他字符,如下面的屏幕截图所示. 1. 在 查找和替换 对话框中 查找内容 字段,请按 Ctrl + J 键,然后在 更换 字段中,键入所需的字符,在这种情况 ...
- 2023河南省第五届“金盾信安杯”CRYPTO MISC 复现
MISC 来都来了 题目 我的解答: 给了一个加密压缩包,010查看发现是伪加密,修改如下两部分: 头部和尾部的09分别改为00 然后解压得到: 尝试base64解码得到很零散的结果..大眼一看不知道 ...
- kafka源码阅读之MacBook Pro M1搭建Kafka2.7版本源码运行环境
原创/朱季谦 最近在阅读Kafka的源码,想可以在阅读过程当中,在代码写一些注释,便决定将源码部署到本地运行. 日常开发过程中,用得比较多一个版本是Kafka2.7版本,故而在MacBook Pro笔 ...
- gentoo安装gcc出现error: C compiler cannot create executables
安装程序 systemd 过程中,出现了error: C compiler cannot create executables 这类错误,经过检查,由于没有配置本地编译器的结果. 输入命令如下: g ...