洛谷P1199 三国游戏 博弈论 数学

洛谷P1199 三国游戏
博弈论 数学

这道题 其实 人是必胜的
能取到的最大值 为 每行第二大值中的最大值

为什么呢
假使第一次我们取到了我们心中的那个答案的所在行
那么接着电脑会取 这一行最大值的对应行
那么我们来分析一下电脑取的那个数在他取的那行的特点

首先我们假设其不是最大值,因为矩阵中任意两个数不相同
所以也就是说还有个数比他大,然后就是说电脑取的第二大或者第n大值就已经
比我们取的第一大值要大了,说明我们取的行并不是每行第二大值中的最大值所在
的行
2、也就是说这个数必定为该行中的最大值
那么就是说,这样一来,电脑和我们都取不到最大值,而我们是可以取到第二大值,
电脑也是可以取到该行中第二大值的,既然都可以取到第二大值,那么我们肯定是取
最大的第二大值,所以就是答案了,
3、换句话说,就是我们每次想取到最大值,然后电脑都会来破坏,于是最终我们只能取
到第二大值

 1 #include <cstdio>
 2 #include <cmath>
 3 #include <cstdlib>
 4 #include <cstring>
 5 #include <string>
 6 #include <algorithm>
 7 #include <iomanip>
 8 #include <iostream>
 9 using namespace std ;
10
11 const int maxn = 511,inf = 1e9 ;
12 int n,m,first,second,ans ;
13 int a[maxn][maxn] ;
14
15 inline int read()
16 {
17     char ch = getchar() ;
18     int x = 0 ,f = 1 ;
19     while(ch<‘0‘||ch>‘9‘) { if(ch==‘-‘) f = -1 ; ch = getchar() ; }
20     while(ch>=‘0‘&&ch<=‘9‘) { x = x*10+ch-48 ; ch = getchar() ; }
21     return x*f ;
22 }
23
24 int main()
25 {
26     n = read() ;
27     for(int i=1;i<=n;i++)
28         for(int j=i+1;j<=n;j++) a[ i ][ j ] = read() ;
29     for(int i=1;i<=n;i++)
30         for(int j=1;j<i;j++) a[ i ][ j ] = a[ j ][ i ] ;
31     for(int i=1;i<=n;i++) a[ i ][ i ] = -inf ;
32
33     ans = -inf ;
34     for(int i=1;i<=n;i++)
35     {
36         first = -inf ;  second = -inf ;
37         for(int j=1;j<=n;j++)
38             if(a[ i ][ j ] > first )
39             {
40                 second = first ;
41                 first = a[ i ][ j ] ;
42             }
43             else if(a[ i ][ j ] > second)
44                     second = a[ i ][ j ] ;
45         ans = max(ans,second) ;
46     }
47     printf("1\n") ;
48     printf("%d\n",ans) ;
49     return 0 ;
50 } 
时间: 2024-08-02 11:03:24

洛谷P1199 三国游戏 博弈论 数学的相关文章

洛谷P1199 三国游戏

题目描述 小涵很喜欢电脑游戏,这些天他正在玩一个叫做<三国>的游戏. 在游戏中,小涵和计算机各执一方,组建各自的军队进行对战.游戏中共有 N 位武将(N为偶数且不小于 4),任意两个武将之间有一个"默契值",表示若此两位武将作为一对组合作战时,该组合的威力有多大.游戏开始前,所有武将都是自由的(称为自由武将,一旦某个自由武将被选中作为某方军队的一员,那么他就不再是自由武将了),换句话说,所谓的自由武将不属于任何一方. 游戏开始,小涵和计算机要从自由武将中挑选武将组成自己的军

洛谷 1199三国游戏

题目描述 小涵很喜欢电脑游戏,这些天他正在玩一个叫做<三国>的游戏. 在游戏中,小涵和计算机各执一方,组建各自的军队进行对战.游戏中共有 N 位武将(N为偶数且不小于 4),任意两个武将之间有一个"默契值",表示若此两位武将作为一对组合作战时,该组合的威力有多大.游戏开始前,所有武将都是自由的(称为自由武将,一旦某个自由武将被选中作为某方军队的一员,那么他就不再是自由武将了),换句话说,所谓的自由武将不属于任何一方. 游戏开始,小涵和计算机要从自由武将中挑选武将组成自己的军

洛谷.2197.nim游戏(博弈论 Nim)

题目链接 后手必胜(先手必败,P-position)当且仅当n堆石子数异或和为0. 首先0一定是P-position, 假设a1^a2^a3^...^an=K 若K!=0,则一定可以找到一个ai,ai在K的最高位的1上为1,显然ai > ai^K,那么可以把ai变成ai^K,局面就成了a1^a2^...^an^ai^K = K^K = 0 (后手就处于P-position) 若K==0,至少取一个显然不能使K仍为0 #include <cstdio> #include <cctyp

洛谷P1080 国王游戏 高精度 贪心 数学推公式

洛谷P1080 国王游戏        数学推公式      高精度    贪心 然而这并不是我打出来的,抄题解... 将左手与右手的乘积从小到大排序,然后计算求最大值即可.(需要高精度) 证明: 1)知道,如果相邻的两个人交换位置,只会影响到这两个人的值,不会影响他人 2)假设相邻的两个人i, i + 1.设A[i] B[i] <= A[i + 1] B[i + 1],i之前所有人的左手乘积为S. 则,ans1 = max{S / B[i], S * A[i] / B[i + 1]} 若交换

【不可能的任务24/200】洛谷1640 bzoj1854游戏 匈牙利就是又短又快

bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个“大牛分站”,就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类似于匈牙利(⊙o⊙) (匈牙利的复杂度惊人,1e6秒过) 1 #include <cstdio> 2 bool b[3000001]; 3 int c[3000001],fir[3000001],to[3000001],nex[3000001]; 4 int N,n,p,q; 5 void add(int p,int

洛谷1558 色板游戏 线段树

我先立个Flag 我,这几天,要过1W道线段树题. 题目背景 阿宝上学了,今天老师拿来了一块很长的涂色板. 题目描述 色板长度为L,L是一个正整数,所以我们可以均匀地将它划分成L块1厘米长的小方格.并从左到右标记为1, 2, ... L.现在色板上只有一个颜色,老师告诉阿宝在色板上只能做两件事:1. "C A B C" 指在A到 B 号方格中涂上颜色 C.2. "P A B" 指老师的提问:A到 B号方格中有几种颜色.学校的颜料盒中一共有 T 种颜料.为简便起见,我

三国游戏——博弈论——洛谷1199

小涵一定是赢的,为什么呢,不说了,反正我们只需要找出每个武将与其他武将配对中第二大的,然后求出这些第二大的最大值. #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; inline int read(){ int t=1,num=0;char c=getchar(); while(c>'9'||c<'0'){i

P1199 三国游戏

题目描述 小涵很喜欢电脑游戏,这些天他正在玩一个叫做<三国>的游戏. 在游戏中,小涵和计算机各执一方,组建各自的军队进行对战.游戏中共有 N 位武将(N为偶数且不小于 4),任意两个武将之间有一个“默契值”,表示若此两位武将作为一对组合作战时,该组合的威力有多大.游戏开始前,所有武将都是自由的(称为自由武将,一旦某个自由武将被选中作为某方军队的一员,那么他就不再是自由武将了),换句话说,所谓的自由武将不属于任何一方. 游戏开始,小涵和计算机要从自由武将中挑选武将组成自己的军队,规则如下:小涵先

NOIP2010pj三国游戏[博弈论]

题目描述 小涵很喜欢电脑游戏,这些天他正在玩一个叫做<三国>的游戏. 在游戏中,小涵和计算机各执一方,组建各自的军队进行对战.游戏中共有 N 位武将(N为偶数且不小于 4),任意两个武将之间有一个“默契值”,表示若此两位武将作为一对组合作战时,该组合的威力有多大.游戏开始前,所有武将都是自由的(称为自由武将,一旦某个自由武将被选中作为某方军队的一员,那么他就不再是自由武将了),换句话说,所谓的自由武将不属于任何一方. 游戏开始,小涵和计算机要从自由武将中挑选武将组成自己的军队,规则如下:小涵先