河南省第十四届ICPC大学生程序设计竞赛-C结对编程

题面

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 524288K,其他语言1048576K
64bit IO Format: %lld

题目描述

A公司是一家主营软件开发的公司。公司内有n名员工,编号为1到n的整数,除了1号老板外每名员工都有一个直接上级和若干个间接上级(上级的上级)。

这天A公司正在进行结对编程能力测试。为了尽量避免由于员工个人因素影响测试的结果,本次测试采用随机抽人的方式。具体方法是由公司的所有非空员工子集中等概率地取出一个子集。然后找出该子集的级别最低的共同上级作为团队指挥(1号老板的级别是最高的)。当然,该团队指挥有可能在也有可能不在该子集中,在子集中的话就参与结对编程,不在的话就只负责指挥。

由于你大学参加过ICPC比赛,编程能力比较强,公司派你写一段程序来完成这个选人的过程。但是你最近疏于编程训练,头脑不清晰,犯了个大错误。你的代码里居然真的直接等概率取出一个非空子集,却忽略了这样一个事实:选出的子集人数必须是偶数,才能安排接下来的结对编程活动!

但是事到如今也无法挽救了。你了解到公司里每个职员都有一个可以量化的权限,当职员i被选作团队指挥时,如果你的程序输出了一个合理的结果(偶数个人),他会奖励你aia_iai​元作为酬劳,反之如果你的程序输出了一个不合理的结果(奇数个人),那他会罚你aia_iai​元作为赔偿。

那么,请你为自己计算出:你期望会损失多少钱?为了避免浮点误差,请你输出期望损失的钱数×(2^n - 1)的结果,可以证明这是个整数。同时,你的输出也有可能是个负数,此时说明期望会赚到钱。

输入描述:

输出描述:

 

示例1

输入

复制3 1 1 1 2 3

3
1 1
1 2 3

输出

复制4

4

说明

对于样例,有以下情况:选出1,指挥为1,赔偿1元选出2,指挥为2,赔偿2元选出3,指挥为3,赔偿3元选出1,2,指挥为1,赚1元选出1,3,指挥为1,赚1元选出2,3,指挥为1,赚1元选出1,2,3,指挥为1,赔偿1元最终损失的期望×(2^3-1)=4

有用信息

1、一共有n个人:编号[1,n],1<=n<=200000。

2、每一个编号为[2,n]的员工有一个直接上级。

3、每个人有个权限值a[i],是其作为指挥时罚款或赚钱的数目。

4、选出的子集的人数必须为偶数才能赚钱,奇数要罚款。

5、题目要你求对于所有的非空子集,罚款的总和。

6、如果只选了一个人,那么选到的这个人就是指挥。(看样例可以知道)

7(目测这个条件不需要管)、计算期望损失的钱数乘以 (2^n - 1):输出为整数,可能为负值表示赚到钱。

思路

既然要求出所有非空子集的罚款的总和,因为不管哪个集合都能选出一个领队的人,所以就根据指挥的人选来分类,计算每个节点作为指挥的情况下,可能的期望损失或收益,再求和。

结点i作为指挥情况下可能的损失=结点i的权值*(所有子集中结点i作为指挥的奇数个数集合的个数-所有子集中结点i作为指挥的偶数个数集合的个数)

结点i的权值为a[i]

上述等式括号内部分的值=(1-该节点的直接子节点个数)。为什么?我也不知道。

AC代码

#include<iostream>
using namespace std;
const int N=2e5+5;
int cnt[N]={0};
int c[N]={0};
int main()
{int n;cin>>n;for(int i=2;i<=n;i++){int u;cin>>u;cnt[u]++;}for(int i=1;i<=n;i++) cin>>c[i];long long sum=0;for(int i=1;i<=n;i++){sum+=(1-cnt[i])*c[i];}cout<<sum;
}

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

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

相关文章

用友NC downCourseWare 任意文件读取漏洞复现

0x01 产品简介 用友NC是一款企业级ERP软件。作为一种信息化管理工具,用友NC提供了一系列业务管理模块,包括财务会计、采购管理、销售管理、物料管理、生产计划和人力资源管理等,帮助企业实现数字化转型和高效管理。 0x02 漏洞概述 用友NC 系统 /portal/pt/downCourseWare…

【Go】编码结构体转换为json字符串

结构体内字段命名大小写问题导致无法解析到 package mainimport ("encoding/json""fmt" ) // 定义一个结构体 type Music struct {name string json:"名称" // 字段大小写命名问题&#xff01;&#xff01;&#xff01;singer string json:&q…

Javascript系统学习(三)

前端模块化前端模块化CommonJS、AMD、CMD、ES6_commonjs amd cmd es6模块化-CSDN博客 ES6: <script type"module" src"main.js"></script> //默认导出 export default function(ctx) {... } ----------------------------------- //模块命名…

创新科技,船舶岸电电源助力环保事业

岸电电源&#xff0c;也称为岸用变频电源或电子静止式岸电电源&#xff0c;是一种特别设计制造的大功率变频电源设备。这种设备主要针对船上、岸边码头等高温、高湿、高腐蚀性、大负荷冲击等恶劣使用环境&#xff0c;能够提供稳定的电源供应。它通常用于将岸边的工业用电&#…

SpringBoot 请求响应

SpringBoot 请求响应 来源于黑马程序员JavaWeb课程&#xff0c;总结笔记 1.ApiFox Apifox快速入门教程 2.基本参数 简单参数&#xff1a;在向服务器发起请求时&#xff0c;向服务器传递的是一些普通的请求数据。 //RequestController.java import jakarta.servlet.http.Htt…

概率分析和随机算法

目录 雇佣问题 概率分析 随机算法 生日悖论 随机算法 概率分析 球与箱子 总结 雇佣问题 有n个候选人面试&#xff0c;如果面试者比目前雇佣者的分数高&#xff0c;评价更好&#xff0c;那么就辞掉当前雇佣者&#xff0c;而去聘用面试者&#xff0c;否则继续面试新的候…

C# Web控件与数据感应之 填充 HtmlTable

目录 关于 HtmlTable HtmlTable与BaseDataList的区别 准备数据源 ​范例运行环境 FillTable 方法 设计与实现 模板样例输出 Automatic 模式填充 ​ DynamicRows 模式填充 StaticRows 模式填充 ​ 小结 关于 HtmlTable 数据感应也即数据捆绑&#xff0c;是…

电商行业为什么要分析竞争商品?详解竞争商品分析八个维度

在当今的电子商务领域&#xff0c;竞争日益激烈&#xff0c;消费者拥有几乎无限的选择。品牌和商家为了在这场竞争中获得优势&#xff0c;必须深入理解市场动态、消费者需求以及竞争对手的策略。分析竞争商品是实现这一目标的关键步骤。它不仅帮助商家揭示行业内表现优异商品的…

【机器学习基础】Python编程03:五个实用练习题的解析与总结

Python是一种广泛使用的高级编程语言,它在机器学习领域中的重要性主要体现在以下几个方面: 简洁易学:Python语法简洁清晰,易于学习,使得初学者能够快速上手机器学习项目。 丰富的库支持:Python拥有大量的机器学习库,如scikit-learn、TensorFlow、Keras和PyTorch等,这些…

LW-DETR:实时目标检测的Transformer, Apache-2.0 开源可商用,实验超 YOLOv8

LW-DETR&#xff1a;实时目标检测的Transformer&#xff0c; Apache-2.0 开源可商用&#xff0c;实验超 YOLOv8 LW-DETR 架构实例化高效训练高效推理 目的与解法拆解ViT编码器和DETR解码器多级特征图聚合变形交叉注意力窗口注意力和全局注意力 论文&#xff1a;https://arxiv.o…

64. UE5 RPG 创建新的双手攻击怪物

在上一篇文章中&#xff0c;我们实现了新的功能&#xff0c;现在可以创建多个普通攻击动画&#xff0c;并且可以根据你所使用的普通攻击动画&#xff0c;设置不同的攻击位置。比如&#xff0c;你使用武器&#xff0c;那么攻击位置需要从武器上获取&#xff0c;如果你没有持有武…

把文件从一台linux机器上传到另一台linux机器上

文章目录 1&#xff0c;第一种情况1.1 先测试2台机器是否可以互相通信1.2 对整个文件夹里面的所有内容进行传输的命令1.3 检查结果 2&#xff0c;第二种情况2.1&#xff0c;单个文件传输的命令 1&#xff0c;第一种情况 我这里有2台linux机器&#xff0c; 机器A&#xff1a;19…

高科技IT企业适合平滑替代FTP升级方案有哪些?

随着信息技术的飞速发展&#xff0c;传统的文件传输协议FTP已经逐渐不能满足现代企业的需求。特别是对于高科技IT企业来说&#xff0c;他们需要的不仅仅是一个简单的文件传输工具&#xff0c;而是一个能够提供高速、安全、稳定、易管理且兼容性强的解决方案。那么&#xff0c;在…

数学建模 —— 聚类分析(3)

目录 一、聚类分析概述 1.1 常用聚类要素的数据处理 1.1.1 总和标准化 1.1.2 标准差标准化 1.1.3 极大值标准化 1.1.4 极差的标准化 1.2 分类 1.2.1 快速聚类法&#xff08;K-均值聚类&#xff09; 1.2.2 系统聚类法&#xff08;分层聚类法&#xff09; 二、分类统计…

AutoMQ 生态集成 Tigris

Tigris[1]是一个全球分布式的兼容 S3 的对象存储服务&#xff0c;它允许你存储和访问任意数量的数据&#xff0c;具有广泛的使用场景。Tigris 会自动且智能地将数据分布到靠近用户的位置&#xff0c;让用户无需担心数据复制和缓存复杂性。 你可以将 Tigris 用于多种场景&#x…

快速排序——AcWing785.快速排序

AcWing785.快速排序 题目描述 785. 快速排序 - AcWing题库 运行代码 #include <iostream> #include <algorithm> using namespace std; const int N 1e66; int q[N]; void quick_sort(int q[], int l, int r) {if (l > r) return;int m l r >> 1;//…

LeetCode刷题之HOT100之不同路径

2024/6/6 小雨&#xff0c;没停。明天就要高考啦&#xff0c;回想五年前我也带着紧张与期待走过这些天&#xff0c;祝高考学子一切顺利。Anyway&#xff0c;早上一到实验室我就去看望我的栀子花&#xff0c;带着满怀的期待去看它长大了多少&#xff0c;是的&#xff0c;花苞还在…

《开源模型食用指南》基于Linux环境快速部署开源模型,更适合中国宝宝的部署教程

今天给大家推荐一个非常适合中国宝宝学习的专属大模型教程&#xff0c;也就是它《开源模型食用指南》&#xff01; 当前百模大战正值火热&#xff0c;开源LLM层出不穷。 如今国内外已经涌现了众多优秀开源LLM&#xff0c;国外如LLaMA、Alpaca&#xff0c;国内如ChatGLM、BaiCh…

想了解Prompt 技术?看这篇就够了!

最近看了 Meta-Prompt&#xff0c;发现 Prompt 的技术已经发展了几代了。真的要好好梳理一下了。首先是官方有 一个自己的 Prompt engineer &#xff0c; 这个是一定要认真学习的。 https://platform.openai.com/docs/guides/prompt-engineering 官方建议&#xff1a; 写作清…

使用pexpect检查SSH上的文件是否存在

使用 pexpect 模块可以在 Python 中执行命令并检查其输出。你可以使用 ssh 命令连接到远程服务器&#xff0c;并执行 ls 命令检查文件是否存在。下面我就列举几个我经常遇到的几个错误并做个详细的解决方案。 1、问题背景 用户需要编写一个 Python 脚本&#xff0c;以检查一个…