Codeforces Round #586
Contest Info
| Solved | A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|---|
| 4/7 | O | O | O | Ø | - | - | - |
- O 在比赛中通过
- Ø 赛后通过
- ! 尝试了但是失败了
- - 没有尝试
A. Cards
签到。
B. Multiplication Table
题意:
给出一个\(n \cdot n\)的矩阵,\(a_{i, j} = b_i \cdot b_j\),现在告诉你\(a_{i, j}(i \neq j)\),要你还原出\(b_i\)。
思路:
考虑\(a_{1, 2} \cdots a_{1, n}\),我们发现\(b_1\)肯定是这些数的\(gcd\)的因数,那么枚举因数,\(n^2\)判断即可
C. Substring Game in the Lesson
题意:
给出一个字符串,问你刚开始有个子串\(S[l, r]\),现在要求找一个\(l' \leq l, r' \geq r\),使得\(S[l', r']\)的字典序小于\(S[l, r]\)。
两个人轮流操作,谁不能操作谁输,问两个人最优操作下,对于每个\(i\)令\(l = r = i\),谁会胜利?
思路:
显然,如果可以找到一个\(l', r'\),那么我们肯定可以找到最左的\(l'\),使得下一个人没办法操作。
现在\(l = r = i\),如果存在字典许比它小的,显然是第一个字母就比\(S_i\)小。
那么问题转化成,对于每个\(i\),是否存在一个\(j(j < i)\)并且\(S_j < S_i\)
D. Alex and Julian
题意:
有一个集合\(B\),以及所有的整数组成的点,对于一个整数\(i\),那么该点的标号为\(i\),现在如果两个点\(i, j\)满足\(|i - j| \in B\),那么\(i, j\)之间有一条无向边。
问至少删去\(B\)中多少个数,使得所有点按要求连完边之后该图是一个二分图。
思路:
- 没有奇圈的图是一个二分图
考虑\(x, y\),假设从\(1\)出发,往后连边,那么他们相遇的点是\(lcm(x, y) + 1\),那么这个环的边数是:
\[
\begin{eqnarray*}
\frac{lcm(x, y)}{x} + \frac{lcm(x, y)}{y} = \frac{x}{gcd(x, y)} + \frac{y}{gcd(x, y)}
\end{eqnarray*}
\]
我们发现要使得这个式子不能为奇数,那么显然有偶加偶或者奇+奇。
我们考虑先将两个数都尽可能除\(2\),直到这两个数的公约数中没有\(2\)为止。
然后再来判断,那么现在至少有一个数是奇数,假设为\(x\),那么剩下的公约数肯定是个奇数。
那么考虑剩下的\(x, y\):
- 如果\(x, y\)都是奇数,那么除掉一个奇数后还是奇数。
- 如果只有一个是奇数,那么偶数的那个除掉一个奇数还是偶数,奇数那个除掉奇数还是奇数,那么就是奇 + 偶 = 奇,不合法
所以所有可以共存的数必然满足他们的最低二进制位一样。
Codeforces Round #586的更多相关文章
- Codeforces Round #586 (Div. 1 + Div. 2) E. Tourism
链接: https://codeforces.com/contest/1220/problem/E 题意: Alex decided to go on a touristic trip over th ...
- Codeforces Round #586 (Div. 1 + Div. 2) D. Alex and Julian
链接: https://codeforces.com/contest/1220/problem/D 题意: Boy Dima gave Julian a birthday present - set ...
- Codeforces Round #586 (Div. 1 + Div. 2) C. Substring Game in the Lesson
链接: https://codeforces.com/contest/1220/problem/C 题意: Mike and Ann are sitting in the classroom. The ...
- Codeforces Round #586 (Div. 1 + Div. 2) B. Multiplication Table
链接: https://codeforces.com/contest/1220/problem/B 题意: Sasha grew up and went to first grade. To cele ...
- Codeforces Round #586 (Div. 1 + Div. 2) A. Cards
链接: https://codeforces.com/contest/1220/problem/A 题意: When Serezha was three years old, he was given ...
- Codeforces Round #586 (Div. 1 + Div. 2)
传送门 A. Cards 记录一下出现的个数就行. Code #include <bits/stdc++.h> #define MP make_pair #define fi first ...
- Codeforces Round #586 (Div. 1 + Div. 2) D.Alex and Julian 简单证明
题意:在序列中删除最少元素使得得到的图是二分图. 其中点是整数域的点. 比如b1=2 那么a可以连b当且仅当|a-b|=2 同时这里的a,b是任意整数. 怎样判定一个序列是否合法呢?于是想到了二分 ...
- Codeforces Round #586 (Div. 1 + Div. 2)D(二分图构建,思维,结论需数论证明)
#include<bits/stdc++.h>using namespace std;long long a[200007];vector<int>v[77];int main ...
- Codeforces Round #586 (Div. 1 + Div. 2)E(拓扑排序,思维)
#include<bits/stdc++.h>using namespace std;int n,m,s; vector<int>edge[200007];queue<i ...
随机推荐
- C语言的关键字和数据类型
C语言关键字 C语言数据类型
- linux下的打包与解包的简单总结
.tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ---------------------- ...
- vue cli3 项目优化
vue-cli3 Prefetch (官网内容) <link rel="prefetch"> 是一种 resource hint,用来告诉浏览器在页面加载完成后,利用空 ...
- es6☞对象的解构赋值
变量必须与属性同名 let {name, age} = {name: 'wang', age: 22}; console.log(name, age); //wang 22 let {name} = ...
- An unavoidable detour for home CodeForces - 814E (dp)
大意: 给定一棵树每个点的度数, 求所有满足条件的树的个数 每个点到$1$的最短路唯一 假设$l_i$为点$i$到$1$的最短距离, 那么$l_i\ge l_{i-1}$ 每个点度数范围$2\le d ...
- 发布后的项目打开swagger
使用netcore作为纯后端提供api已经变得越来越频繁,swagger也成为很多人的选择.通常会在代码中限制ASPNETCORE_ENVIRONMENT为Production时关闭swagger.但 ...
- PCA(Principal Component Analysis)笔记
PCA是机器学习中recognition中的传统方法,今天下午遇到了,梳理记一下 提出背景: 二维空间里,2个相近的样本,有更大概率具有相同的属性,但是在高维空间里,由于样本在高维空间里,呈现越来越稀 ...
- 二、openfeign生成并调用客户端动态代理对象
所有文章 https://www.cnblogs.com/lay2017/p/11908715.html 正文 上一篇文章中,我们了解到了@FeignClient注解的接口被扫描到以后,会生成一个Fe ...
- Leaflet 调用百度瓦片地图服务
在使用 leaflet 调用第三方瓦片地图服务的项目,主要谷歌地图.高德地图.百度地图和 OSM 地图,与其他三种地图对比,百度地图的瓦片组织方式是不同的.百度从中心点经纬度(0,0)度开始计算瓦片, ...
- XSS的类型