竟然上 GM 了,incredible(

A

首先如果 \(2050\nmid n\) 那显然就 \(-1\) 了,否则答案显然为 \(\dfrac{n}{2050}\) 的各位数字和。

B

显然这个最小值就是全部 \(nm\) 个数中最小的 \(m\) 个数之和,用个优先队列什么的维护一下即可,时间复杂度 \(nm\log m\)

C

zszz 凭我们的猜结论大法可知答案唯一存在并且每次往左往下走即可构造出答案。

D

首先们知道对于一个点而言,最优走法肯定是先走 \(\dfrac{k}{2}\) 步使得花费最小,然后原路返回。

因此考虑设 \(dp_{i,j,t}\) 为从 \((i,j)\) 出发走 \(t\) 步的最小花费,转移就枚举下一步到达的点随便更新一下即可,最后的 \(ans_{i,j}=dp_{i,j,k/2}\times 2\)

E

这个题还稍微有点意思,而且我上 GM 还要多亏了这道题拉开手速的差距啊(

首先特判掉全是 P 的情况,这个贡献显然为 \(1\)。

一个 observation 是如果 P 的连续段个数 \(\ge 2\),那么第一个 C 的位置显然只可能是第 \(1\) 个或者第 \(2\) 个,否则前两个都是 P,而 P 的连续段个数 \(\ge 2\),因此这两个连续段之间的间隔 \(\ge 2\),大于前两个 P 之间的距离 \(1\),不符合条件。

这样就可以分情况讨论了,如果第一个 C 的位置 \(\ge 3\),那 P 只可能形成一个连续段,不难发现合法的排列方式只可能形如 PPP...PPCCC...CC,也就是说 P 是一段前缀,C 是一段后缀,枚举前缀长度随便算算即可。

如果第一个 C 的位置 \(\le 2\),那么手玩一下也可以发现合法的排列方式只可能形如 (P)CCC...CCPCPCPCPP...P(C) 枚举前面一段 C 的长度然后二分一下 CPCPCPCPC...PC 的长度即可。

所以说这个 \(\bmod 998244353\) 是假的(

F

这个题现场就差一点点没想出来啊啊啊!要是现场切掉了说不定涨的就不是 \(147\) 分而是 \(247\) 分甚至更多了(白 日 做 梦

首先看到这种最大值的期望时通常考虑容斥,这题也不例外,考虑设 \(f_i\) 表示团的大小 \(\le i\) 的概率,那么这个概率等价于将全部 \(n\) 个点染成黑白两种颜色,使得以每个点为中心,半径为 \(i\) 的区域中都至少包含一个白点。

这又可以进一步转化:对于所有白点,到其距离 \(\le i\) 的区域的并集刚好包含了整棵树。

这个概率可以通过树形 \(dp\) 求出,我们记 \(dp_{i,j}\) 表示对于 \(i\) 子树中的点,若 \(j\ge 0\) 则 \(i\) 上方深度最浅的被覆盖的点离 \(i\) 的距离为 \(j\) 的概率,否则表示 \(i\) 子树中深度最深的未被覆盖的点离 \(i\) 的距离为 \(-j-1\) 的概率,考虑转移,假设我们合并 \(dp_u\) 和 \(dp_v\),其中 \(u\) 为 \(v\) 的父亲,那么考虑两个值 \(dp_{u,i}\) 和 \(dp_{v,j}\),如果 \(i+j\ge 0\) 那么显然它可以覆盖全部 \(u\) 的子树,并且还能再向上覆盖 \(\max(i,j-1)\) 层,否则 \(i\) 子树中深度最深的未被覆盖的点离 \(i\) 的距离为 \(\min(i,j-1)\)。按照树形背包的套路转移即可,初始值 \(dp_{u,-1}=dp_{u,i}=\dfrac{1}{2}\)

时间复杂度 \(\mathcal O(n^3)\)。

G

看数据范围有点像网络流,事实上此题的的确确是网络流,考虑什么样的四个点能够组成题目中所说的平行四边形,我们将坐标系划分成一个个 \(2\times 2\) 的网格,下记:

  • 横纵坐标都是偶数的点为 \(0\) 类点
  • 横坐标为奇数,纵坐标为偶数的点为 \(1\) 类点
  • 横坐标为偶数,纵坐标为奇数的点为 \(2\) 类点
  • 横纵坐标都是奇数的点为 \(3\) 类点

那么将网格图做这样的划分后,可能的平行四边形有以下情况(这里蒯了 George1123 的图):

不难发现这样的平行四边形一定存在一条路径包含四类点的边,并且起点一定是 \(1\) 号点,终点一定是 \(3\) 号点,即 \(1\to 0\to 2\to 3\),并且这显然是组成题目所说的平行四边形的充要条件。

故考虑在相邻的 \((1,0),(0,2),(2,3)\) 点之间连边,然后拆点跑最小割即最大流即可。

Contest 2050 and Codeforces Round #718 (Div. 1 + Div. 2) 题解的更多相关文章

  1. Educational Codeforces Round 76 (Rated for Div. 2) E. The Contest

    Educational Codeforces Round 76 (Rated for Div. 2) E. The Contest(dp+线段树) 题目链接 题意: 给定3个人互不相同的多个数字,可以 ...

  2. Educational Codeforces Round 43 (Rated for Div. 2)

    Educational Codeforces Round 43 (Rated for Div. 2) https://codeforces.com/contest/976 A #include< ...

  3. Educational Codeforces Round 35 (Rated for Div. 2)

    Educational Codeforces Round 35 (Rated for Div. 2) https://codeforces.com/contest/911 A 模拟 #include& ...

  4. Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings

    Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings 题目连接: http://cod ...

  5. Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes

    Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes 题目连接: http://code ...

  6. Educational Codeforces Round 48 (Rated for Div. 2) CD题解

    Educational Codeforces Round 48 (Rated for Div. 2) C. Vasya And The Mushrooms 题目链接:https://codeforce ...

  7. Educational Codeforces Round 60 (Rated for Div. 2) 题解

    Educational Codeforces Round 60 (Rated for Div. 2) 题目链接:https://codeforces.com/contest/1117 A. Best ...

  8. Educational Codeforces Round 59 (Rated for Div. 2) DE题解

    Educational Codeforces Round 59 (Rated for Div. 2) D. Compression 题目链接:https://codeforces.com/contes ...

  9. Educational Codeforces Round 58 (Rated for Div. 2) 题解

    Educational Codeforces Round 58 (Rated for Div. 2)  题目总链接:https://codeforces.com/contest/1101 A. Min ...

随机推荐

  1. 验证域用户(C#)

    代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Intero ...

  2. OO第二单元电梯作业总结

    目录 目录一.第一次作业分析设计策略基于度量分析程序结构二.第二次作业分析设计策略基于度量分析程序结构三.第三次作业分析设计策略基于度量分析程序结构四.分析自己程序的bug五.发现别人程序bug所采用 ...

  3. java中的软,弱,虚引用介绍与特性分析

    java的弱,虚,软引用介绍 1.弱,虚,软引用的介绍 对于绝大部分的对象而言,在程序中是存在着一个引用变量引用该对象,这是常见的引用方式,也就是常说的 强引用,对于强引用引用的对象,系统JVM是不会 ...

  4. Exynos4412 中断处理流程详解

    Linux 中,当外设触发中断后,大体处理流程如下: a -- 具体CPU architecture相关的模块会进行现场保护,然后调用machine driver对应的中断处理handler; b - ...

  5. Android上安装第三方库

    在Android sdk中安装预安装第三方的(动态,静态)库,到系统中,方便模块无差别的使用. Android.mk include $(CLEAR_VARS) LOCAL_MODULE_TAGS : ...

  6. Vivado Synth/Place Faild但是没有给出error信息

    最近遇到一个现象,以前可以编译通过的工程,修改之后发现Synthesis编译报错,而且没有给出error信息,以前也出现过无故place 失败但是没有给出error信息的现象,查看错误日志输出文件,出 ...

  7. Ubuntu virtualenv 创建 python3 虚拟环境 激活 退出

    首先默认安装了virtualenv 创建python3虚拟环境 your-name@node-name:~/virtual_env$ virtualenv -p /usr/bin/python3 py ...

  8. AtCoder Regular Contest 128 部分题题解

    关于鄙人罚坐两小时那件事...该开始看A题,这不就是个DP记录路径吗?Wrong了,嗯,我没用double,又Wrong,怎么回事,使劲检查自己的算法和细节问题,一个小时过去了,...这没错啊,又反复 ...

  9. kafka的安装

    kafka是基于java环境的,所以需要先安装java环境 centos:yum install java-11-openjdk ubuntu:apt install default-jdk 默安装默 ...

  10. MacOS升级到Monterey后python SSL握手失败问题

    MacOS升级到Monterey 12.0.1后,忽然发现原来工作正常的python3请求华为restconf API报错失败,提示 ssl.SSLError: [SSL: SSLV3_ALERT_H ...