CF1877 Div2 A-E 题解
A
显然 \(n\) 个队的得分之和为 \(0\),因此答案为这 \(n-1\) 个数的和的相反数。
B
小贪心。
将所有人按 \(b\) 升序排序,\(b\) 相同时按 \(a\) 降序,对每个人按 \(b\) 进行分类讨论:
若 \(b< p\),那么我们一定要选这个人,因为选了这个人我们就可以用当前最小的代价去选其他的人。
若 \(b\ge p\),那么直接用 \(p\) 的代价选这个人就可以。
还要注意一些边界之类的东西,细节还是有的。
C
细节题。
我们可以看一下当 \(n=3,m=9\) 时的情况:
0\ 0\ 0\ 0\\
0\ 1\ 1\ 1\\
0\ 0\ 2\ 2\\
0\ 0\ 0\ 3\\
0\ 1\ 1\ 4\\
0\ 0\ 2\ 5\\
0\ 0\ 0\ 6\\
0\ 1\ 1\ 7\\
0\ 0\ 2\ 8\\
0\ 0\ 0\ 9\\
\end{aligned}\]
不难发现规律:
当 \(k>3\) 时,无解。
当 \(k=1\) 时,有且只有一组解,即全 \(0\) 序列。
当 \(k=2\) 时,有 \(\min(n,m)+\max(0,\lfloor\frac{m}{n}\rfloor -1)\) 组解。
当 \(k=3\) 时,有 \(\max(0,m-n-\lfloor\frac{m}{n}\rfloor+1)\) 组解。
D
简单题。
我们只需要计算对于每个值,它作为最大值出现在了几个方案中即可,产生的贡献就是方案数与其值的乘积。
我们将序列降序排序,按值从大到小考虑,设当前考虑的值为 \(x\),对应的下标为 \(y\)。
因为我们需要强制钦定 \(x\) 为最大值,这就意味着比 \(x\) 大的值都不能选,又因为只要选了一个位置,其倍数都会被选,所以这就意味着比 \(x\) 大的值的下标的约数一个都不能选。
那么我们统计 \(y\) 的约数中有几个可以选,设这个值为 \(a\),再设当前所有能选的数的个数为 \(b\),那么 \(x\) 对应的方案数就是 \((2^a-1)\times 2^{b-a}\),也就是 \(a\) 中至少选一个,剩下的 \(b-a\) 个随便选的方案数,这是因为 \(a\) 中至少要选一个才能选到 \(x\)。
时间复杂度为调和级数 \(O(n\log n)\)。
E
构造题。
将 \(i\) 向 \(a_i\) 连单向边,建成内向基环森林。
一种构造方案等价于将点黑白染色,黑白染色的过程比较复杂,具体看代码,主要就是:
如果存在奇环,无解。
如果存在偶环,那么黑白交替染色。
如果自己不存在子节点为白色,那么自己是白色。
如果自己存在子节点为白色,那么自己是黑色。
最后方案就是所有白点的出点编号,也就是白点下标对应的值。
CF1877 Div2 A-E 题解的更多相关文章
- Codeforces Round#630 div2 A~C题解
...
- Codeforces Round #549 div2 1143-B Nirvana 题解
Kurt reaches nirvana when he finds the product of all the digits of some positive integer. Greater v ...
- cf div2 round 688 题解
爆零了,自闭了 小张做项目入职字节 小李ak wf入职ms 我比赛爆零月薪3k 我们都有光明的前途 好吧,这场感觉有一点难了,昨天差点卡死在B上,要不受O爷出手相救我就boom zero了 第一题,看 ...
- 833(DIV2)——C题题解
题目链接 题目大意: 给定n个数,你可以对数值为0的数改变其为任意值,问最后前缀和为0的个数的最大值. 思路: 这题比较可惜,自己的思路没有问题,但是他少了一些东西.对数组进行前缀和处理,我们可以发现 ...
- Codeforces Beta Round #96 (Div. 2) (A-E)
写份DIV2的完整题解 A 判断下HQ9有没有出现过 #include <iostream> #include<cstdio> #include<cstring> ...
- CF Educational Round 78 (Div2)题解报告A~E
CF Educational Round 78 (Div2)题解报告A~E A:Two Rival Students 依题意模拟即可 #include<bits/stdc++.h> us ...
- CF1169(div2)题解报告
CF1169(div2)题解报告 A 不管 B 首先可以证明,如果存在解 其中必定有一个数的出现次数大于等于\(\frac{m}{2}\) 暴力枚举所有出现次数大于等于$\frac{m}{2} $的数 ...
- CF Round #580(div2)题解报告
CF Round #580(div2)题解报告 T1 T2 水题,不管 T3 构造题,证明大约感性理解一下 我们想既然存在解 \(|a[n + i] - a[i]| = 1\) 这是必须要满足的 既然 ...
- 洛谷3月月赛div2 题解(模拟+数学+贪心+数学)
由于本人太蒻了,div1的没有参加,胡乱写了写div2的代码就赶过来了. T1 苏联人 题目背景 题目名称是吸引你点进来的. 这是一道正常的题,和苏联没有任何关系. 题目描述 你在打 EE Round ...
- Codeforces Round #707 Editorial Div2 题解
CF1501 Div2 题解 CF1501A 这道题其实是一道英语阅读题,然后样例解释又不清晰,所以我看了好久,首先它告诉了你每个站点的预期到达时间 \(a_i\) ,以及每个站点的预期出发时间 \( ...
随机推荐
- https 原理分析进阶-模拟https通信过程
大家好,我是蓝胖子,之前出过一篇https的原理分析 ,完整的介绍了https概念以及通信过程,今天我们就来比较完整的模拟实现https通信的过程,通过这篇文章,你能了解到https核心的概念以及原理 ...
- MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(8)-Ant Design Blazor前端框架搭建
前言 前面的章节我们介绍了一些值得推荐的Blazor UI组件库,通过该篇文章的组件库介绍最终我选用Ant Design Blazor这个UI框架作为ToDoList系统的前端框架.因为在之前的工作中 ...
- UnrecognizedPropertyException: Unrecognized field 解决
转载请注明出处: 在项目得不同环境上对接外部的服务接口,且存在不同版本间可能有字段不同得问题,遇到这种问题在使用jackson解析时,如果格式化得字符串与定义得java类不能完全对应时,就会报错:Un ...
- 一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路
市面上有很多可以被用于AI绘画的应用,例如DALL-E.Midjourney.NovelAI等,他们的大部分都依托云端服务器运行,一部分还需要支付会员费用来购买更多出图的额度.在2022年8月,一款叫 ...
- Python copy & deeocopy 探究
简单来说,copy 复制创建新的容器,而引用容器内元素的地址不变.而 deepcopy 也对容器内的容器元素进行复制. 但是这种复制具体是什么体现呢?是否只是对第一层容器元素进行了复制?写了一段代码验 ...
- VueJS使用addEventListener的事件如何触发执行函数的this
1.使用浏览器监听切屏为例 此处为考虑浏览器兼容性推荐使用:document.addEventListener 1.1.正常函数使用如下: let n = 0; let max = 3; // 切屏最 ...
- 公网环境部署zabbix5.0
实验环境 虚拟机两台,一台公网地址为 1.1.1.1,部署 zabbix server,一台公网地址为 1.1.1.2,部署 zabbix proxy,系统为centos7.2. 1 zabbix s ...
- [golang]gin框架接收websocket通信
前言 WebSocket是一种在单个TCP连接上进行全双工通信的协议.WebSocket让客户端和服务端之间的数据交换变得非常简单,且允许服务器主动向客户端推送数据,并且之后客户端和服务端所有的通信都 ...
- linux测试ipv6
前言 操作系统版本:centos 7.6 curl版本:7.87(centos 7自带的curl版本是7.29,测ipv6会有问题) 系统开启ipv6 centos 7默认开启 ipv6,可检查net ...
- [golang]推送钉钉机器人消息
前言 通过钉钉群机器人的webhook,实现消息推送. 本文代码仅示例markdown格式的消息. 示例代码 注意修改钉钉机器人的webhook package main import ( " ...