Codeforces Round #580 (Div. 1) A-E
A
Tag:构造
将$a_i$看做一个无穷数列,$i > 2n$时$a_i = a_{i - 2n}$.设$sgn_i = \sum\limits_{j=i+1}^{i+n}a_i - \sum\limits_{j=i}^{i+n-1}a_i = a_{i+n} - a_i$,那么答案要满足:$\forall j \leq k , \sum\limits_{p=j}^k sgn_p \in [-1,1]$.且$\forall i , sgn_i \neq 0$.
上述条件等价于$i>1$时$sgn_i = -sgn_{i-1}$.因为$sgn_{n + 1} = sgn_1$,所以当$2 \mid n$的时候会出现$sgn_{n+1}=0$的矛盾,即无解;只有当$2 \not\mid n$的时候可以通过$sgn$构造一组合法解.
B
Tag:位运算、 最小环
当某种数位出现了至少$3$次时答案为$3$,否则考虑一个图,图上每一个点表示一个位置,将具有相同数位的位置之间连边,图上至多只有$60$条边.使用bfs/Floyd求最小环即可(一定注意不要用dfs树求最小环).
C
Tag:构造、交互
询问满足条件的曼哈顿距离为$2$的两个位置可以询问出这两个位置是否相同,那么我们可以通过类似并查集的方式,通过$n^2-2$次询问出所有横纵坐标之和为偶数的位置的值和所有横纵坐标之和为奇数的位置两两之间是否相同.
接下来考虑使用一次询问询问出某一个横纵坐标之和为奇数的位置的值.考虑最简单的:考虑找到两个曼哈顿距离为$4$的可询问位置$(x_1,y_1),(x_2,y_2)$,如果当$arr_{1,2}=0$和$arr_{1,2}=1$返回值不同(这个东西可以自己写一个模拟进行计算),就对$(x_1,y_1),(x_2,y_2)$进行询问,就可以得到$arr_{1,2}$的值,进一步得到所有的值.
所以仍然不知道为什么一定会存在这样的$(x_1,y_1),(x_2,y_2)$...
D
Tag:构造
首先,给定一棵$n$个点有根树和集合$A = \{a_1,a_2,...,a_{n-1}\}$,一定存在一个给边非负权值的方案使得其他$n-1$个点到达根的距离构成的集合$=A$.构造方式:设$solve(x , S)$表示在做$x$的子树,且子树内的点到子树根的距离为集合$S$.设它的所有儿子为$a_1,a_2,...,a_p$,它们的子树大小为$x_1,x_2,...,x_p$,则把集合$S$分成$S_1,S_2,...,S_p$满足$|S_i| = x_i$,对于每一个$i$令$w_{x,a_i} = \min\{S_i\}$,将所有$p \in S_i \rightarrow p - \min\{S_i\}$然后递归进入$solve(a_i , S_i)$即可.
那么考虑如果存在一个点$x$使得$x$的子树可以分为两个部分,满足这两个部分的$size+1$的乘积$\geq \lceil \frac{2n^2}{9} \rceil$,就可以直接构造出一组合法方案了.
那么考虑重心.因为重心满足任一儿子的子树大小$\leq \frac{n}{2}$,所以考虑每次将最小的两个子树合并,直到剩下两个子树,那么两个子树的大小定$\geq \lceil \frac{n - 1}{3} \rceil$.不难证明两棵子树的$size+1$的乘积$\geq \lceil \frac{2n^2}{9} \rceil$,这样就可以构造方案了.
E
Tag:期望、莫比乌斯反演
设$f_i(s) = [s_{1,i} = s_{n-i+1 , n}]$,则我们要求$E((\sum f_i(s))^2) = \sum\limits_i E(f_i^2(s)) + \sum\limits_{i \neq j} E(\sum f_i(s) f_j(s))$
第一部分:$E(f_i^2(s)) = E(f_i(s)) = k^{-i}$,原因是对于$\forall p \in [n-i+1,n]$需要满足$s_p = s_{p - (n-i)}$,每一个都有$\frac{1}{k}$的概率发生,而其余没有要求.
第二部分:$E(f_i(s)f_j(s)) = k^{\max\{n-i+n-j-n , \gcd(n-i,n-j) \}-n}$.证明如下:
先考虑当$f_i(s) = 1$,原串有一个长度为$n-i$的周期.那么原串有多个周期时,考虑将由于周期性必须相等的两个字符之间连边,如果形成了$t$个连通块,则这一部分的期望就是$k^{t-n}$.
当$n-i+n-j \leq n$的时候由众所周知的定理可以得到原串有一个$\gcd(n-i,n-j)$的周期,所以期望为$k^{\gcd(n-i,n-j)-n}$.
当$n-i+n-j > n$,设$i$$
对于$\equiv x \mod \gcd(n-i,n-j)$的所有数必须要满足这些点都连了一条边才能存在一条边连在一个连通块内.因为连了$j$条边,所以如果$(n-i) - j = (n-i) + (n-j) - n \geq \gcd(n-i,n-j)$,那么不可能存在这样的$x$,也就是有$(n-i)+(n-j)-n$个连通块;否则会有$\gcd(n-i,n-j) - ((n-i) + (n-j) - n)$条边连在同一个连通块内,也就是有$\gcd(n-i,n-j)$个连通块.
这样上述定理得证.注意到$E(f_i^2(s)) = k^{\max\{n-i+n-i-n , \gcd(n-i,n-i) \}-n}$,可变为计算$\sum\limits_{i,j \in [1,n-1],d = \gcd(i,j)}([i+j-n \geq d]k^{i+j-2n} + [i+j-n
$\sum\limits_{d \in [1,n-1]} \sum\limits_{p \in [1, \frac{n-1}{d}]} \mu(p) \sum\limits_{i,j \in [1,\frac{n-1}{dp}]}([i+j > \frac{n+d-1}{dp}]k^{dp(i+j)-2n}+[i+j \leq \frac{n+d-1}{dp}] k^{d-n})$
枚举$dp$,后缀和预处理$f_x = \sum\limits_{q=x}^{\frac{2n-2}{dp}} k^{dpq-2n} \sum\limits_{i,j \in [1,n-1] , i + j = q}1$,然后枚举$d$就可以$O(1)$算答案.复杂度$O(nlogn)$.
Codeforces Round #580 (Div. 1) A-E的更多相关文章
- Codeforces Round #580 (Div. 1)
Codeforces Round #580 (Div. 1) https://codeforces.com/contest/1205 A. Almost Equal 随便构造一下吧...太水了不说了, ...
- Codeforces Round #580 (Div. 2)
这次比上次多A了一道,但做得太慢,rating还是降了. Problem A Choose Two Numbers 题意:给出两个集合A,B,从A,B中分别选出元素a,b使得a+b既不属于集合A,又不 ...
- Codeforces Round #580 (Div. 2)D(思维,Floyd暴力最小环)
#define HAVE_STRUCT_TIMESPEC#include<bits/stdc++.h>using namespace std;const int maxn=300;cons ...
- Codeforces Round #580 (Div. 2)-D. Shortest Cycle(思维建图+dfs找最小环)
You are given nn integer numbers a1,a2,…,ana1,a2,…,an. Consider graph on nn nodes, in which nodes ii ...
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
- Codeforces Round #368 (Div. 2)
直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- Codeforces Round #279 (Div. 2) ABCDE
Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems # Name A Team Olympiad standard input/outpu ...
随机推荐
- Spark 部署即提交模式意义解析
Spark 的官方从 Cluster Mode Overview 中,官方向我们介绍了 cluster 模式的部署方式. Spark 作为独立进程在集群上运行,他们通过 SparkContext 进行 ...
- UltraISO 下载
链接:https://pan.baidu.com/s/1Wf0TmB8L9falKyGu8NwvBw 提取码:1cu8 参考: https://jingyan.baidu.com/article/cb ...
- 「HNOI2015」亚瑟王
传送门 Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂亮.众所周知,亚瑟 ...
- linux 排查cpu负载过高异常
步骤一.找到最耗CPU的进程 工具:top 方法: 执行top -c ,显示进程运行信息列表 键入P (大写p),进程按照CPU使用率排序 图示: 如上图,最耗CPU的进程PID为10765 步骤二: ...
- Cookie 的 SameSite 属性
转自http://www.ruanyifeng.com/blog/2019/09/cookie-samesite.html Chrome 51 开始,浏览器的 Cookie 新增加了一个SameSit ...
- 学习HSDB
HSDB则是在SA(Serviceability Agent)基础上包装起来的一个调试器,而SA是个非常便于探索HotSpot VM内部实现的API. Stack Memory窗口的内容有三栏: 左起 ...
- https与http的区别?
https要比http更加安全一些,也就是说http协议是由ssl+http协议构建的可进行加密传输.身份验证的网络协议要比http协议安全 现在大多数的网站都逐渐用https://,因为安全问题太重 ...
- 暑假gosh计划
[要参与的事项]: 1.大创 2.CTF 3.ACM 4.自己的巴拉巴拉巴 [基本目标]: 1.大创 学完一本Java入门教材 学习Material Design,了解典型交互,进行ui初步设计 2. ...
- Chrome调试工具Developer Tools——前端必备神器
本文链接:https://blog.csdn.net/u012542647/article/details/79401485 今天要给大家介绍一个神器,就是谷歌浏览器(Chorme)自带的前端调试工具 ...
- 【Swoole】计一次swoole_server配合laravel5启动报错:Address already in use[98]
[2019-11-11 11:42:25 @21371.0] WARNING swSocket_bind(:434): bind(0.0.0.0:9501) failed, Error: Addre ...