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 ...
随机推荐
- Java同C#的语法不同之处
Java同C#的语法不同之处... [注:转载而来但原出处不详:若是您原创请联系我]1,命名空间与包 C#为了把实现相似功能的类组织在一起,引入了命名空间的概念(namespace) Java中与此对 ...
- 一行代码实现Vue微信支付,无需引用wexin-sdk库,前后端分离HTML微信支付,无需引用任何库
前后端分离项目实现微信支付的流程: 1:用户点击支付 2:请求服务端获取支付参数 3:客户端通过JS调起微信支付(微信打开的网页) * 本文主要解决的是第3步,视为前两步已经完成,能正确拿到支付参数, ...
- Spring AOP 多个切点实现:JdkDynamicAopProxy
Spring Aop 的底层生成代理类i的实现除 jdk的动态代理技术外,还用到了Cglib,不过在封装两者的设计原理上相差不大,只是底层工具不同而已. 本文只分析JdkDynamicAopProxy ...
- Windows中的库编程
Windows操作系统中,库分为动态链接库(dll)和静态链接库(lib) 动态库是Windows中实现代码共享的一种方式.它是一个二进制式文件,不可单独运行,需要调用方调用才能运行.在Windows ...
- sqlserver导入Excel数据 总是报错:错误 0xc020901c: 数据流任务 1: 输出“Excel 源输出”(55) 上的 输出列“T2”(64) 出错。返回的列状态是:“文本被截断,或者一个或多个字符在目标代码页中没有匹配项
在网络上搜索解决办法,解决办法是把excel导入到access数据库中,再把access数据库导入到sqlsever中,公司机器上不让安装office工具,问了一个同事得到的回答是把数据中很长的那行数 ...
- C#在txt类文件中追加内容
string path = "test.txt"; FileStream mystream = new FileStream(path, FileMode.OpenOrCreate ...
- JavaScript 基础(数据类型、函数、流程控制、对象)
一.JavaScript概述 1.1 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名Script ...
- 基于socket.io客户端与服务端的相互通讯
socket.io是对websocket的封装,用于客户端与服务端的相互通讯.官网:https://socket.io/. 下面是socket.io的用法: 1.由于使用express开的本地服务,先 ...
- iOS退出APP
强制退出有四种: exit(); abort(); assert(); 主动制造一个崩溃: exit() 1.附加了关闭打开文件与返回状态码给执行环境,并调用你用atexit注册的返回函数: 2.警告 ...
- nginx 之 https 证书配置
HTTPS原理和作用 为什么需要HTTPS 原因:HTTP不安全 传输数据被中间人盗用.信息泄露 数据内容劫持.篡改 HTTPS协议的实现 对传输内容进行加密以及身份验证 对称加密:加密秘钥和解密秘钥 ...