【题解】CF1983E

翻译

原题链接
在这里插入图片描述

分析

  显然,两人得分总和等于所有球的分数之和,所以我们只需要研究一个人即可,这里我们考虑Alice。

  分析哪些球会被Alice拿走。我们称前 k k k个球为 1 1 1,其他球为 0 0 0。然后把一个 0 0 0和与前一个 0 0 0之间的所有 1 1 1记为一个组:

01101110011 分为 0 110 1110 0 11

  于是第奇数个组的球归Alice所有,考虑上末端(空无所谓),共 n − k + 1 n-k+1 nk+1个组。

  接下来求期望。先考虑 0 0 0。第 i ( i > k ) i(i>k) i(i>k)个球被Alice拿到当且仅当它为第奇数个白球,所以它的贡献为:

⌈ n − k 2 ⌉ n − k ∗ v i \frac{\left \lceil \frac{n-k}{2} \right \rceil }{n-k} * v_{i} nk2nkvi

   0 0 0的总贡献为:

⌈ n − k 2 ⌉ n − k ∑ i = k + 1 n v i \frac{\left \lceil \frac{n-k}{2} \right \rceil }{n-k} \sum_{i=k+1}^{n}v_{i} nk2nki=k+1nvi

  再考虑 1 1 1的贡献,第 i ( i ≤ k i(i \le k i(ik)个球被Alice拿到,当且仅当它属于第奇数个组,每个球放哪个组互相独立,不干扰,同组之间的顺序也不影响贡献。所以 v i v_{i} vi的贡献为:

⌈ n − k + 1 2 ⌉ n − k + 1 ∗ v i \frac{\left \lceil \frac{n-k+1}{2} \right \rceil }{n-k+1} * v_{i} nk+12nk+1vi

   1 1 1的总贡献为:

⌈ n − k + 1 2 ⌉ n − k + 1 ∑ i = 1 k v i \frac{\left \lceil \frac{n-k+1}{2} \right \rceil }{n-k+1} \sum_{i=1}^{k}v_{i} nk+12nk+1i=1kvi

  综上,总期望为:

E ( A l i c e ) = ⌈ n − k + 1 2 ⌉ n − k + 1 ∑ i = 1 k v i + ⌈ n − k 2 ⌉ n − k ∑ i = k + 1 n v i E(Alice) = \frac{\left \lceil \frac{n-k+1}{2} \right \rceil }{n-k+1} \sum_{i=1}^{k}v_{i} + \frac{\left \lceil \frac{n-k}{2} \right \rceil }{n-k} \sum_{i=k+1}^{n}v_{i} E(Alice)=nk+12nk+1i=1kvi+nk2nki=k+1nvi

E ( B o b ) = ∑ i = 1 n − E ( A l i c e ) E(Bob) = \sum_{i=1}^{n} - E(Alice) E(Bob)=i=1nE(Alice)

代码

  除法逆元的计算使用 1 x ≡ x ( p − 2 )   ( m o d    p ) \frac{1}{x} \equiv x^{(p-2)} \ (mod\ \ p) x1x(p2) (mod  p),其中 p p p为质数,证明在此略。

#include<bits/stdc++.h>
using namespace std;
#define N 500005
#define int long long
const int mod = 1e9+7;
int t, n, k, a[N];
int quick(int x, int t) {
	int now = 1;
	while(t) {
		if(t & 1) now = now * x % mod;
		x = x * x % mod;
		t >>= 1;
	}
	return now;
}
signed main() {
	cin>>t;
	while(t--) {
		cin>>n>>k;
		for(int i=1;i<=n;i++) scanf("%lld", a+i);
		int sum1 = 0, sum2 = 0;
		for(int i=1;i<=k;i++) sum1 += a[i]; sum1 %= mod;
		for(int i=k+1;i<=n;i++) sum2 += a[i]; sum2 %= mod;
		int ans1 = (n-k+1) / 2 * quick(n-k, mod-2) % mod * sum2 % mod;
		int ans2 = (n-k+2) / 2 * quick(n-k+1, mod-2) % mod * sum1 % mod;
		int ans = (ans1 + ans2) % mod;
		printf("%lld %lld\n", ans, ((sum1 + sum2 - ans) % mod + mod) % mod);
	}
	return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

U 盘显示需要格式化才能用?一针见血的修复方法在这里!速看!

在日常使用电脑的过程中&#xff0c;我们常常会遇到各种让人头疼的问题&#xff0c;其中之一就是当插入 U 盘时&#xff0c;突然弹出提示 “U 盘需要格式化才能使用”。这可让很多人慌了神&#xff0c;毕竟 U 盘里可能存储着重要的文件资料。别着急&#xff0c;下面就为大家介绍…

【QT】系统-上

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;折纸花满衣 &#x1f3e0;个人专栏&#xff1a;QT 目录 &#x1f449;&#x1f3fb;事件QWidget中常见的事件 &#x1f449;&#x1f3fb;处理鼠标事件&#xff1a;leaveEvent和enterEvent&#x1f449;&a…

API接口什么意思?电商API接口有什么作用

API接口简介&#xff1a; 从技术层面上来看&#xff0c;API是一系列函数、协议和工具&#xff0c;它们定义了软件组件如何交互&#xff0c;让开发者无需了解对方内部工作原理就可以使用对方的功能或服务。 事实上&#xff0c;API接口在电商行业中的应用较为广泛。 具体来看&…

Msf之Python分离免杀

Msf之Python分离免杀 ——XyLin. 成果展示&#xff1a; VT查杀率:8/73 (virustotal.com) 火绒和360可以过掉&#xff0c;但Windows Defender点开就寄掉了 提示&#xff1a;我用360测的时候&#xff0c;免杀过了&#xff0c;但360同时也申报了&#xff0c;估计要不了多久就寄…

【2025】中医药健康管理小程序(安卓原生开发+用户+管理员)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

vue2.0+ts注册全局函数和几个递归查找

vue2.0ts注册全局函数和几个递归查找 一、main.ts 一、main.ts // 定义你的全局函数,判断是否有按钮权限 interface Item {label: string;checked: number;[k: string]: any; } // 获取按钮时候权限 function globalLable(arr: Item[], label: string): boolean {for (const i…

未授权扫描工具-APIFinder

该工具目的是为了发现某文件中的路径&#xff0c;然后拼接到某url后&#xff0c;通过响应码及返回长度&#xff0c;快速定位并判断其是否存在未授权。 APIFinder [-h] [-u URL1] [-f file] [-U URL2] [-i RES] 参数描述-u目标url(例如:http://xxx.com/x.js)-f目标文件(由于一些…

《深度学习》—— 神经网络模型对手写数字的识别

神经网络模型对手写数字的识别 import torch from torch import nn # 导入神经网络模块 from torch.utils.data import DataLoader # 数据包管理工具&#xff0c;打包数据, from torchvision import datasets # 封装了很多与图像相关的模型&#xff0c;数据集 from torchvi…

神经网络 卷积层 参数共享

参数共享常用于神经网络卷积层中&#xff0c;共享的实际上就是说卷积核中的参数一直保持不变&#xff0c;如下所示就可以称为共享参数啦&#xff01;&#xff01;

【秋招笔试-支持在线评测-试读版】9.19小米秋招(已改编)-三语言题解

&#x1f36d; 大家好这里是 春秋招笔试突围&#xff0c;一起备战大厂笔试 &#x1f4bb; ACM金牌团队&#x1f3c5;️ | 多次AK大厂笔试 &#xff5c; 大厂实习经历 ✨ 本系列打算持续跟新 春秋招笔试题 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f497; 和 手里的小花花…

C++掉血迷宫

目录 开头程序程序的流程图程序游玩的效果下一篇博客要说的东西 开头 大家好&#xff0c;我叫这是我58。 程序 #include <iostream> #include <string> #include <cstring> using namespace std; enum RBYG {R 1,B 2,Y 4,G 7, }; struct heal {int ix…

python_uiautoanimation实现自动化微信聊天

文章目录 ⭐前言⭐微软inspect工具定位元素&#x1f496;工具查找属性 ⭐查找微信窗口&#x1f496;命令行查找运行窗口 ⭐查找微信的聊天窗口⭐封装发送消息⭐定时查询消息⭐结束 ⭐前言 大家好&#xff0c;我是yma16&#xff0c;本文分享python_uiautoanimation实现自动化微…

平价头戴式蓝牙耳机有哪些?四款公认平价性能超强品牌机型推荐

在追求高品质音乐体验的同时&#xff0c;许多消费者希望找到价格亲民的头戴式蓝牙耳机&#xff0c;市场上不乏性能卓越、价格实惠的产品&#xff0c;它们凭借出色的音质、舒适的佩戴体验和可靠的续航能力赢得了用户的青睐&#xff0c;那么在众多的头戴式蓝牙耳机内&#xff0c;…

提高数据集成稳定性:EMQX Platform 端到端规则调试指南

自 5.7.0 版本起&#xff0c;EMQX 支持了 SQL 调试&#xff0c;并支持在数据集成全流程中进行规则调试&#xff0c;使用户能够在开发阶段就全面验证和优化规则&#xff0c;确保它们在生产环境中的稳定高效运行。 点击此处下载 EMQX 最新版本&#xff1a;https://www.emqx.com/z…

移动开发(三):使用.NET MAUI打包第一个安卓APK完整过程

目录 一、修改AndroidManifest.xml 配置APP基本信息权限 二、修改项目属性调整输出Android包格式为APK 三、项目发布 四、APP分发 五、总结 之前给大家介绍过使用使用.NET MAUI开发第一个安卓APP,今天给大家介绍如何打包成APK,然后安装到安卓手机正常运行。这里还是沿用…

java序列化对象后读取数据错误的问题

今天学到了对象的序列化&#xff0c;就是将对象写入到文件中去&#xff0c;大家要直到我们普通的输入输出文件只是把数据的值写入了文件&#xff0c;而没有把数据的类型与之绑定&#xff0c;比如我向文件中写入100&#xff0c;那么这是字符串”100“还是整数100还是高精度浮点数…

算法.图论-建图/拓扑排序及其拓展

文章目录 建图的三种方式邻接矩阵邻接表链式前向星 拓扑排序拓扑排序基础原理介绍拓扑排序步骤解析拓扑排序模板leetcode-课程表 拓扑排序拓展食物链计数喧闹与富有并行课程 建图的三种方式 我们建图的三种方式分别是邻接矩阵, 邻接矩阵, 链式前向星 邻接矩阵 假设我们的点的…

Android14请求动态申请存储权限

Android14请求动态申请存储权限 Android14和Android15存储权限有增加多了选择部分&#xff0c;还是全部。一个小小的存储权限真的被它玩出了花来。本来Android13就将存储权限进行了3个细分&#xff0c;是图片&#xff0c;音频还是视频文件。 步骤一&#xff1a;AndroidManife…

24年蓝桥杯及攻防世界赛题-MISC-2

11 Railfence fliglifcpooaae_hgggrnee_o{cr} 随波逐流编码工具 分为5栏时,解密结果为:flag{railfence_cipher_gogogo} 12 Caesar rxms{kag_tmhq_xqmdzqp_omqemd_qzodkbfuaz} mode1 #12: flag{you_have_learned_caesar_encryption} 随波逐流编码工具 13 base64 base64解…

【machine learning-十-梯度下降-学习率】

学习率 学习率不同的学习率 在梯度下降算法中&#xff0c;学习率的选择很重要&#xff0c;不恰当的选择&#xff0c;甚至可能导致损失发散&#xff0c;而非收敛&#xff0c;下面就看一下学习率的影响。 学习率 学习率是下图中的红框圈出来的部分&#xff0c; 学习率是模型的超…