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++语言动态创建对象
焦头烂额的考试月终于过去了,终于有时间能停下来思考记录一下这一个月学过的东西,首先先总结一下,在自己仿写魂斗罗游戏时遇见的问题之一,人物在移动的时候如何去判断什么时候掉入水中显示水中画面,什么时候敌人 ...
- javascript语法糖
语法糖(Syntactic sugar),也译为糖衣语法 指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用. 通常来说使用语法糖能够增加程序的可读性,从而减少程序代码 ...
- THUPC2019/CTS2019/APIO2019/PKUSC2019游记
THUPC2019/CTS2019/APIO2019/PKUSC2019游记 5.10 中铺,火车好晃啊 5.11 打了THUPC2019的练习赛,华容道好评(四个小兵,杠鸭!) 5.12 打了THU ...
- 关闭ShowDialog的模态窗口
[DllImport("user32.dll")] private static extern IntPtr FindWindow(string a, string b); [Dl ...
- 线程三(Mutex)
C# 中 Mutex 类也是用于线程同步操作的类,例如,当多个线程同时访问一个资源时保证一次只能有一个线程访问资源. 在 Mutex 类中,WaitOne() 方法用于等待资源被释放, Release ...
- java中的权限修饰符&关键字
1.类的权限修饰符default(不写权限修饰符),public 说明:类的权限修饰符只有default(不写权限修饰符)和public. package world default Y N pu ...
- Go net/http 发送常见的 http 请求
使用 golang 中的 net/http 包来发送和接收 http 请求 开启 web server 先实现一个简单的 http server,用来接收请求 package main import ...
- Qt定时器
PS: 本案例使用的是Qt 4.8.4版本,不同版本代码可能会有差异. 第一步: // 重写此虚函数(继承自QObject) virtual void timerEvent(QTimerEvent* ...
- Linux 之 压缩解压缩
Linux中常见的压缩格式 .zip .gz .bz2 .tar.gz tar.bz2 zip zip格式的压缩文件和win ...
- Python函数Day2
一.函数补充 只有一个参数时,变量用argv 二.动态参数 为了拓展,对于传入的实参数量不固定,需要万能参数,即动态参数 *args **kwargs 在函数定义时,在 *args为位置参数,起聚合的 ...