CF478B Random Teams

CF478B Random Teams

结论题,难度不高。

首先根据经验以及观察样例可以猜到:

  • 要使答案最小,需要尽可能平均分配。
  • 要使答案最大,需要 m − 1 m-1 m1 个组每组 1 1 1 个人, 1 1 1 个组 n − m + 1 n-m+1 nm+1 个人。

那么这个结论是否正确呢?

考虑只有两个组,一个组 a a a 人,一个组 b b b 人,令 a > b ≥ 2 a>b\ge2 a>b2。则现在的朋友数量为 a ( a − 1 ) + b ( b − 1 ) 2 \dfrac{a(a-1)+b(b-1)}{2} 2a(a1)+b(b1)

如果从第一个组中抽一个人给第二个组,则朋友数量变为
( a − 1 ) ( a − 2 ) + b ( b + 1 ) 2 = a 2 − 3 a + 2 + b 2 + b 2 = a ( a − 1 ) + b ( b − 1 ) − 2 a + b + 2 2 \dfrac{(a-1)(a-2)+b(b+1)}{2}=\dfrac{a^2-3a+2+b^2+b}{2}=\dfrac{a(a-1)+b(b-1)-2a+b+2}{2} 2(a1)(a2)+b(b+1)=2a23a+2+b2+b=2a(a1)+b(b1)2a+b+2

又因为要求 a > b ≥ 2 a>b\ge2 a>b2,所以 − 2 a + b + 2 < 0 -2a+b+2<0 2a+b+2<0,所以平均分配人答案最小,把人集中到一个组答案最大。

#include <bits/stdc++.h>
#define int long long
using namespace std;
typedef long long LL;
const int N = 1e6 + 10;
int n, m, ans1, ans2;
signed main () {ios::sync_with_stdio (false);cin.tie (0); cout.tie (0);cin >> n >> m;int x = n / m;if (n % m) ans1 += (n % m) * (x + 1) * x / 2;ans1 += (m - n % m) * x * (x - 1) / 2;int p = n - (m - 1);ans2 = p * (p - 1) / 2;cout << ans1 << ' ' << ans2;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/35644.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

修复 pprof ---node_exproter访问漏洞(go-pprof-leak)

前言&#xff1a; ** 在Go语言中&#xff0c;pprof和debug包是用来检测和避免goroutine泄漏&#xff0c;避免导致goroutine泄漏&#xff0c;进而消耗大量系统资源。不过对于安全而言确又存在一定风险&#xff0c;** 风险&#xff1a; 通过node_exporter web发现 190.168.46.1…

关于Claude3.5-Sonnet引以为傲的功能,在半年前就被某国产平台无情碾压的那档事!

前言&#xff1a; Anthropic声称其每隔几个月就会对Claude发布一次重大版本的更新。距离今年3月份Claude3发布&#xff0c;已经又过去了3个多月的时间。果不其然&#xff0c;6月21日Anthropic 在X上正式官宣发布全新大模型 Claude3.5 Sonnet&#xff0c;号称它能够碾压GPT4o&a…

前端Web开发HTML5+CSS3+移动web视频教程 Day1

链接 HTML 介绍 写代码的位置&#xff1a;VSCode 看效果的位置&#xff1a;谷歌浏览器 安装插件 open in browser&#xff1a; 接下来要保证每次用 open in browser 打开的是谷歌浏览器。只需要将谷歌浏览器变为默认的浏览器就可以了。 首先进入控制面板&#xff0c;找到默…

Windows11环境下安装Vmware Workstation 16的方法

1、下载VMWare 从网盘下载 https://pan.baidu.com/share/init?surlUpcnqiRv6nUuzO0EOZ22zg 提取码&#xff1a;8888 2、安装VMware虚拟机   第1步&#xff1a;双击上面准备好的Vmware Workstation 16虚拟机软件安装包&#xff0c;即可看到如图所示的安装向导初始界面&#x…

编程设计思想

健康检查脚本 nmap:扫描端口 while true do healthycurl B:httpPORT/healthy -i | grep HTTP/1.1 | tail -n 1 | awk {print $2} done 批量操作类型脚本&#xff08;记录每一步日志&#xff09; 将100个nginx&#xff1a;vn推送到harbor仓库192.168.0.100 根据镜像对比sha值…

数据中心网络100GbE发展趋势

100G光产品的技术突破不断满足超大规模数据中心的需求。5G的发展使许多行业能够实现高数据吞吐量和低延迟。从2017年至今&#xff0c;不少企业已经升级到100G数据中心网络&#xff0c;进而追求400G/800G网络。与此同时&#xff0c;其他小型数据中心已逐渐升级至100G。 是什么推…

安装与配置:MySQL的环境搭建之旅(二)

目录 引言&#xff1a;从理论到实践的跨越 一、安装MySQL&#xff1a;跨平台的便捷指南 Windows环境 Linux环境 macOS环境 二、基本配置&#xff1a;端口设置与字符集选择 三、从零到一的蜕变 引言&#xff1a;从理论到实践的跨越 在前一章节《MySQL简介》中&#xff0c…

【efinix】efinity如何安装官方补丁patch

efinix官网可以下载efinity的官方补丁。 下载 efinity-2023.2.307.5.10-windows-x64-patch.zip 解压缩补丁zip 压缩包内容 files/ : updated files to be copied into the Efinity installation run.sh : patch installation script (Linux on…

ZGC垃圾收集的主要流程

值得说明的是&#xff0c;在执行就地迁移时&#xff0c;ZGC 必须首先压缩指定为对象迁移区域内的对象&#xff0c;这可能会对性能产生负面影响。增加堆大小可以帮助 ZGC 避免使用就地迁移。 如上图&#xff0c;ZGC 的工作流程主要包括以下几个步骤&#xff1a; &#xff08;STW…

Sklearn 进阶教程

Sklearn 进阶教程 Scikit-learn&#xff08;sklearn&#xff09;是Python中最受欢迎的机器学习库之一&#xff0c;它提供了简单且高效的工具&#xff0c;用于数据挖掘和数据分析&#xff0c;适用于各种机器学习任务。本教程将详细介绍如何使用sklearn进行进阶的机器学习任务&a…

深入理解计算机系统 CSAPP 家庭作业7.13

用一下496页提到的工具咯 A: whereis libm.a file lidm.a gedit libm.a libm.a是个ASCII text文件打开一看原来 libm-2.27.a 和libmvec.a才是我们要看的 所以我们cd到目标地址后 ar -t libm-2.27.a ar -t libmvec.a B: gcc -Og bar5.c foo5.c 用之前的两个文件链接后生成…

若依项目实战------企业人力资源管理平台

一、数据库名称规范化及建表相关 1.术语名称 1.系统名称&#xff1a;企业人力资源管理平台英文翻译&#xff1a;Enterprise Human Resource Management Platform缩写&#xff1a;EHR 2.员工信息管理&#xff08;Employee Information Management 缩写&#xff1a;EIM&#…

使用API有效率地管理Dynadot域名,为文件夹更名

关于Dynadot Dynadot是通过ICANN认证的域名注册商&#xff0c;自2002年成立以来&#xff0c;服务于全球108个国家和地区的客户&#xff0c;为数以万计的客户提供简洁&#xff0c;优惠&#xff0c;安全的域名注册以及管理服务。 Dynadot平台操作教程索引&#xff08;包括域名邮…

适用于 Windows 11 的 5 大数据恢复软件 [免费和付费]

为什么我们需要Windows 11数据恢复软件&#xff1f; 计算机用户经常遇到的一件事就是数据丢失&#xff0c;这种情况随时可能发生。错误地删除重要文件和文件夹可能会非常令人担忧&#xff0c;但幸运的是&#xff0c;有一种方法可以恢复 PC 上丢失的数据。本文将向您展示可用于…

CAS原理与JUC原子类

一、CAS基本原理 1、Unsafe类 &#xff08;1&#xff09;概念及作用&#xff1a;增强Java语言操作底层资源的能力&#xff0c;里面的方法多为native修饰的方法&#xff08;基于C实现&#xff09;&#xff0c;不建议在代码中使用&#xff0c;不安全。 &#xff08;2&#xff…

《每天5分钟用Flask搭建一个管理系统》第1章:环境搭建与Flask入门

第1章&#xff1a;环境搭建与Flask入门 1.1 Python和Flask的安装 Python的下载和安装 访问Python的官方网站 python.org&#xff0c;下载适合您操作系统的安装包。安装时&#xff0c;确保勾选了"Add Python to PATH"选项。 示例代码&#xff1a;检查Python是否安装…

python爬虫之实现edge无头浏览器和规避检测

python爬虫之实现edge无头浏览器和规避检测 爬取百度网页源码但不打开浏览器 实现代码如下&#xff1a; #需求&#xff1a;实现edge无头浏览器和规避检测 from selenium import webdriver from time import sleep from selenium.webdriver.edge.options import Options# 实现…

通过Socket通信实现局域网下Amov无人机连接与数据传输

1.局域网下的通信 1.1 局域网 厂家提供的方式是通过Homer图数传工具(硬件)构建的amov局域网实现通信连接. 好处是通信距离足够长,支持150m;坏处是"局部",无法访问互联网. &#xff3b;&#xff29;&#xff2d;&#xff21;&#xff27;&#xff25;&#xff1a;…

GitHub使用教程(小白版)

看一百篇文章不如自己写一篇 第一步&#xff1a;注册和安装 注册GitHub账号 访问 GitHub官网。点击右上角的 "Sign up" 按钮。按照提示输入你的邮箱、创建用户名和密码&#xff0c;完成注册。 安装Git 访问 Git官网。下载并安装适用于你操作系统的Git。安装…

std::function和std::bind函数

std::function和std::bind是C11引入的功能强大的库组件&#xff0c;用于处理函数对象和函数调用的高级操作。它们极大地增强了C处理回调、函数指针和函数对象的能力。 std::function std::function是一个通用的、多态的函数封装器&#xff0c;可以容纳任何可调用的目标——包…