热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【刷题】【博弈论】三国游戏

(luogu)首先,我们这个解法获胜的思路是,每个武将对应的所有配对值中最大的值,已经被拆散在这种情况下,场上存在的只剩所有的“次大值”,就是我们拿来排序的那一堆这时候小涵拿到了“

(luogu)

首先,我们这个解法获胜的思路是,每个武将对应的所有配对值中最大的值,已经被拆散

在这种情况下,场上存在的只剩所有的“次大值”,就是我们拿来排序的那一堆

这时候小涵拿到了“次大值”中的最大值,肯定是场上最高的分数

为什么呢?用反证法

按照小涵的选法,小涵第一次选了武将i,其中i对应的最大值是j,次大值是l,即i-j > i-l

这里的‘-‘是对应的意思

这时候,计算机一定会选择j

如果j对应的所有配对值中,最大值也是i,那么i和j这两个点的对应最大值都被拆散了

是不是j对应的最大值一定是i呢?是的

假设j对应的最大值是k,i是j对应的次大值,即j-k > j-i

那么就有j-k > j-i > i-l,这时候我们肯定会选择j作为第一个武将

因为j-i(j的对应次大值)大于i-l(i的对应次大值),与选法矛盾

也就是说,我们第一次选了i,取得了次大值中的最大值,同时拆掉了i的最大值和j的最大值

接下来小涵选了l,然后计算机选了另一个武将m

计算机选m有两种原因:一是l-m是l的最大值,拆了最大值正合我意

一是i-m比l的最大值更大(但是不会比i-l大),即i-l > i-m > l的最大值

这时候l的最大值拆不拆都是无所谓的,反正小于我们的i-l

然后小涵选了n拆了m的最大值m-n

计算机接着拆最大值,要么是n的最大值,要么比i-l小,证法同上

两个人就这么拆最大值,就把最大值拆完了,剩下的就是次大值,我们的i-l就是次大值中最大的

 

#include
#include

#include

using namespace std;
int n;
int d[503][503];
int ans,mx1,mx2;
int main()
{
scanf(
"%d",&n);
for(int i=1;i<=n;i++)
{
for(int j=i+1;j<=n;j++)
{
scanf(
"%d",&d[i][j]);
d[j][i]
=d[i][j];
}

mx1
=mx2=0;
for(int j=1;j<=n;j++)
{
if(d[i][j]>mx1)
mx2
=mx1,mx1=d[i][j];
else if(d[i][j]>mx2)
mx2
=d[i][j];
}
ans
=max(ans,mx2);
}
printf(
"%d\n%d\n",1,ans);
return 0;
}

 


推荐阅读
  • importjava.io.*;importjava.util.*;publicclass五子棋游戏{staticintm1;staticintn1;staticfinalintS ... [详细]
  • 在处理大数据量的SQL分页查询时,通常需要执行两次查询来分别获取数据和总记录数。本文介绍了一种优化方法,通过单次查询同时返回分页数据和总记录数,从而提高查询效率。 ... [详细]
  • 本文详细探讨了BCTF竞赛中窃密木马题目的解题策略,重点分析了该题目在漏洞挖掘与利用方面的技巧。 ... [详细]
  • 题目编号:2049 [SDOI2008]Cave Exploration。题目描述了一种动态图操作场景,涉及三种基本操作:断开两个节点间的连接(destroy(a,b))、建立两个节点间的连接(connect(a,b))以及查询两节点是否连通(query(a,b))。所有操作均确保图中无环存在。 ... [详细]
  • 解决Visual Studio Code中PHP Intelephense误报问题
    PHP作为一种高度灵活的编程语言,其代码结构可能导致Intelephense插件在某些情况下报告不必要的错误或警告。自1.3.3版本起,Intelephense引入了多个配置选项,允许用户根据具体的工作环境和编程风格调整这些诊断信息的显示。 ... [详细]
  • 本文通过一个具体的实例,介绍如何利用TensorFlow框架来计算神经网络模型在多分类任务中的Top-K准确率。代码中包含了随机种子设置、模拟预测结果生成、真实标签生成以及准确率计算等步骤。 ... [详细]
  • SQL Server 存储过程实践任务(第二部分)
    本文档详细介绍了三个SQL Server存储过程的创建与使用方法,包括统计特定类型客房的入住人数、根据房间号查询客房详情以及删除特定类型的客房记录。 ... [详细]
  • 材料光学属性集
    材料光学属性集概述了材料在不同光谱下的光学行为,包括可见光透射率、太阳光透射率等关键参数。 ... [详细]
  • 本文介绍了一个使用mii-tool工具检查网络接口状态的Bash脚本,并将结果记录到日志文件中。 ... [详细]
  • 嵌套列表的扁平化处理
    本文介绍了一种方法,用于遍历嵌套列表中的每个元素。如果元素是整数,则将其添加到结果数组中;如果元素是一个列表,则递归地遍历这个列表。此方法特别适用于处理复杂数据结构中的嵌套列表。 ... [详细]
  • HTML前端开发:UINavigationController与页面间数据传递详解
    本文详细介绍了如何在HTML前端开发中利用UINavigationController进行页面管理和数据传递,适合初学者和有一定基础的开发者学习。 ... [详细]
  • 1#include2#defineM1000103#defineRGregister4#defineinf0x3f3f3f3f5usingnamespacestd;6boolrev ... [详细]
  • 在编程实践中,正确管理和释放资源是非常重要的。本文将探讨 Python 中的 'with' 关键字及其背后的上下文管理器机制,以及它们如何帮助我们更安全、高效地管理资源。 ... [详细]
  • 本文提供了《汇编语言 第3版》中检测点11.2的详细参考答案,包括了各指令执行后的状态标志分析。 ... [详细]
  • 使用Echarts for Weixin 小程序实现中国地图及区域点击事件
    本文介绍了如何使用Echarts for Weixin在微信小程序中构建中国地图,并实现区域点击事件。包括效果展示、条件准备和逻辑实现的具体步骤。 ... [详细]
author-avatar
jfgkj6454_478
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有