题解:CF690A2 Collective Mindsets (medium)

news/2025/1/24 16:45:26/文章来源:https://www.cnblogs.com/Kenma/p/18689771

CF690A2 解题报告

前言

眼前一黑思维题(确信)。

做完估计都能当心理学专家了。

思路分析

感觉没有什么太好的切入点……

可能可以从小到大依次分析?

那么展现一下各位海盗的内心活动。

为了方便表述,把海盗从 \(n\)\(1\) 排序,从 \(n\)\(1\) 提出方案。和题面中相反,请读者注意区分。

长文预警。

n=1

死不了。

答案为 \(0\)

n=2

投赞成票,也死不了。

答案为 \(0\)

n=3

如果 3 号死了,那么金币会被 2 号拿走,1 号拿不到。

所以只要给 1 号一枚金币,他就会投赞成票。

答案为 \(1\)

n=4

如果 4 号没有金币,并且 4 号死了,那么 3 号也得死,因为 3 号至少要一枚金币才能存活。

所以如果 4 号没有金币,那么 3 号会投赞成票保命。

答案为 \(0\)

n=5

如果 5 号死了,那么 4 号会拿走所有金币,3 号拿不到。所以只要给 3 号一枚金币,他就会投赞成票。

如果 4 号拿到金币,他会给 2 号一枚金币,所以 2 号和 4 号是一伙的。

如果 5 号死了,1 号也拿不到金币,所以只要给 1 号一枚金币,他也会投赞成票。

答案为 \(2\)

n=6

如果 6 号手里有一枚金币,并且 6 号死了,那么 5 号也得死,所以 5 号会投赞成票保命。

如果 5 号死了,4 号可以拿走金币,3 号拿不到,所以只要给 3 号一枚金币,他就会投赞成票。

答案为 \(1\)

n=7

\(n=5\) 相似。

答案为 \(3\)

n=8

好玩的来了。

如果 8 号手里没有金币,并且 8 号死了,那么 5 号,6 号,7 号都得死,因为他们手里的金币不够。

所以这 3 个人都会投赞成票保命。

答案为 \(0\)

n=9

\(n=7\) 相似。

答案为 \(4\)

n=10

如果 10 号手里没有金币,那么 9 号会投赞成票保命。

但是没有用,因为 8 号可以活下来,而其他海盗因为死不了,所以开始杀人,所以 10 号没有金币必死。

如果 10 号手里有一枚金币,那么 8 号就不淡定了,因为此时 6 号因为有一枚金币可以活,他不会再支持 8 号,所以 8 号为了保命也会和 9 号一起投赞成票。

这样,7号,8号,9号都会投赞成票。

因为 6 号会拿走金币,5 号拿不到。所以只要给 5 号一枚金币,他就会投赞成票。

答案为 \(1\)

n=11

\(n=9\) 相似。

答案为 \(5\)

n=12

如果没有或者有一枚金币,12 号都会死,读者可以自己验证。

如果有两枚金币,10 号会失去 8 号的支持,所以 10 号,11 号都会投赞成票保命。

然后如果 12 号死了,8 号会拿到全部金币,所以只要分别给 6 号,7 号一枚金币,他们都会投赞成票。

答案为 \(2\)

n=13

\(n=11\) 相似。

答案为 \(6\)

n=14

答案为 \(4\),读者可以自行验证。

n=15

\(n=13\) 相似。

答案为 \(7\)

n=16

好玩的又来了。

如果 16 号没有金币,那么 9 号,10 号,11 号,12 号,13 号,14 号,15 号都会投赞成票保命。

答案为 \(0\)

总结

应该分析的差不多了。

发现当 \(n\) 是奇数时,因为当前人死了不会有人陪葬,所以他们不得不给 \(\frac{n-1}{2}\) 个拿不到金币的人一人一枚金币,来换取他们的赞成票。

\(n\) 是偶数时,并不是金币越多越好,有时候金币少会导致别人陪葬,从而获得这些人的保命票。

这样的人的数量变化是有周期规律的。

\(k\)\(2^k\le n\) 的极大值,那么答案为 \(\frac{n-2^k}{2}\)

代码实现

想得多了,写的就少。


#include<bits/stdc++.h>
using namespace std;
int n,cnt;
int main(){cin>>n;if(n&1) cout<<(n-1)/2;else{while((1<<(cnt+1))<=n) cnt++;cout<<(n-(1<<cnt))/2;}return 0;
}

后记

心理学题。

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

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

相关文章

git分支提交,提PR

远程分支xxx,临时分支tmp_xxx git checkout -b tmp_xxx   #创建并进入临时分支 git pull origin xxx      #更新本地code git add .          git commit -m "test pr" git push --set-upstream origin tmp_xxx #github上现在能看到这个临时…

Hibernate Validator 国际化开启快速校验配置

这里默认你已经配置好了国际化,如需配置可以参考 网上其他配置,这里只做快速失败国际化配置@Configuration public class ValidConfig {@Beanpublic Validator validator() {     // 这里是读取你的国际化配置文件做缓存MessageInterpolator messageInterpolator = new R…

AQS学习笔记

一、使线程进入等待状态和唤醒状态的三种方法 1、使用Object中的wait()方法让线程等待,使用Object中的notify()方法唤醒线程,需配合synchronized关键字使用 2、使用JUC包中的Condition的await()方法让线程等待,使用signal()方法唤醒线程 3、LockSupport类可以阻塞当前线程以…

Oracle安装指南 Xming远程桌面

安装Xming然后使用Oracle用户连接登录,设置DISPLAY环境变量(IP地址为你的windows客户端IP地址) export DISPLAY=192.168.111.155:0.0然后执行dbca就会弹出数据库配置界面了参考链接:https://www.cnblogs.com/iancloud/p/15015683.html

P4070 [SDOI2016] 生成魔咒

P4070 [SDOI2016] 生成魔咒 题目描述 魔咒串由许多魔咒字符组成,魔咒字符可以用数字表示。例如可以将魔咒字符 \(1,2\) 拼凑起来形成一个魔咒串 \([1,2]\)。 一个魔咒串 \(S\) 的非空字串被称为魔咒串 \(S\) 的生成魔咒。 例如 \(S=[1,2,1]\) 时,它的生成魔咒有 \([1],[2],[1…

深入探讨触发器的创建与应用:数据库自动化管理的强大工具

title: 深入探讨触发器的创建与应用:数据库自动化管理的强大工具 date: 2025/1/24 updated: 2025/1/24 author: cmdragon excerpt: 触发器是一种强大的数据库对象,它能够在特定事件发生之前或之后自动执行一组SQL语句。作为一种自动化管理工具,触发器在许多数据库管理场景…

Metasploit Pro 4.22.7-2025012201 (Linux, Windows) - 专业渗透测试框架

Metasploit Pro 4.22.7-2025012201 (Linux, Windows) - 专业渗透测试框架Metasploit Pro 4.22.7-2025012201 (Linux, Windows) - 专业渗透测试框架 Rapid7 Penetration testing, released Jan 22, 2025 请访问原文链接:https://sysin.org/blog/metasploit-pro-4/ 查看最新版。…

VS.net中快捷键收缩和展开代码段

i. Ctrl-M-O 折叠所有方法 ii. Ctrl-M-P 展开所有方法并停止大纲显示(不可以再折叠了) iii. Ctrl-M-M 折叠或展开当前方法 iv. Ctrl-M-L展开所有方法 其他的快捷方式:怎样跳转到指定的某一行? 两种方法:Ⅰ. Ctrl+G Ⅱ. 双击状态栏中的行号2.. 怎样创建矩形选区? 两…

查看Resources.resx的三种方式

同一个Resources.resx文件在Visual Studio 中可以以多种方式查看, 但某一天遇到了问题, 只能以资源浏览器的方式查看, 期初还以为是Visual Studio升级加入的新功能, 怎么都无法打开设计器, 在Resources.resx文件右键菜单中看不到下面的菜单项,经过一些列的摸索, 发现设置…

Vmware 虚拟机克隆注意事项-CentOS7

1.克隆后修改MAC地 2.修改 UUID,UUID克隆虚拟机后一般是一样的,需要进行修改 输入命令uuidgen,将生成的UUID写入ifcfg-ens33 【文件位置:/etc/sysconfig/network-scripts/ifcfg-ens33】 【我克隆的时候并没有修改,但是也一样可以联网,不知道为啥】 3.修改主机名 先临时修…

autocad Ribbon创建的一种新思路

之前开发的功能相对简单, 一个RibbonTab就把相关的功能展示出来了。 目前着手准备开发的功能, 需要多个RibbonTab, 且不想显示AutoCAD或Civil 3D自身的RibbonTab, 曾经想模拟3d3s的样子来切换RibbonTab, 但发现3d3s是将AutoCAD原生的Cuix和自己的RibbonTab结合到一起, 对…

Solon Cloud Gateway 开发:导引

Solon Cloud Gateway 是 Solon Cloud 体系提供的分布式网关实现(轻量级实现)。Solon Cloud Gateway 是 Solon Cloud 体系提供的分布式网关实现(轻量级实现)。 分布式网关的特点(相对于本地网关):提供服务路由能力 提供各种拦截支持1、分布式网关推荐 建议使用专业的分布…