HDU 2147kiki's game(巴什博弈变形)
题目链接
思路如下

P : 必胜点,那个人先走到 含P的点,那个这个人一定会输,
N:必败点,谁走到这个点谁输!
在这一个题中: 某个点是P还是 N,之与 ⬅️左边第一个点、⬇️下边第一个点、↙️左下第一个点有关,只要这个三个点中 只要有一个是 P ,那么我们 要求的这个点就是P ,否则才是N。
剩下的就是找规律:对于这一个题 如果 m、n 都是奇数的话:那么小明从
右上角(1,m)出发,所能到达三个 点全是 N小明必败,否则小明一定赢
题解如下
#include<iostream>
#include<algorithm>
using namespace std;
const int Len  = 1e5 + 5;
int ar[Len];
int m,n;
bool group(int mid)
{
    int sum = 0;
    int cnt = 1;
    for(int i = 0; i < m; i ++)
    {
        if(sum + ar[i] <= mid)
        {
            sum += ar[i];
        }
        else
        {
            sum = ar[i];
            cnt ++;
        }
    }
    if(cnt > n)
        return true;
    else
        return false;
}
void Binary_search(int l,int r)
{
    int mid;
    while(l <= r)
    {
        mid = (l + r) / 2;
        if(group(mid))
        {
            l = mid + 1;
        }
        else
        {
            r = mid - 1;
        }
    }
    printf("%d",mid);
}
int main()
{
    //freopen("A.txt","r",stdin);
    scanf("%d %d",&m,&n);
    int sum = 0;
    int mx = -1;
    for(int i = 0; i < m; i ++)
    {
        scanf("%d",&ar[i]);
        sum += ar[i];
        mx = max(mx , ar[i]);
    }
    Binary_search(mx,sum);
    return 0;
}
												
											HDU 2147kiki's game(巴什博弈变形)的更多相关文章
- HDU 2897 邂逅明下 ( bash 博弈变形
		
HDU 2897 邂逅明下 ( bash 博弈变形 题目大意 有三个数字n,p,q,表示一堆硬币一共有n枚,从这个硬币堆里取硬币,一次最少取p枚,最多q枚,如果剩下少于p枚就要一次取完.两人轮流取,直 ...
 - 2013长春网赛 1006 hdu 4764	 Stone(巴什博弈)
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4764 题意:Tang 和 Jiang 玩一个游戏,轮流写下一个数,Tang先手,第一次Tang只能写[ ...
 - hdu1517A Multiplication Game(巴什博弈变形)
		
A Multiplication Game Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Ot ...
 - POJ 3480 & HDU 1907 John(尼姆博弈变形)
		
题目链接: PKU:http://poj.org/problem? id=3480 HDU:http://acm.hdu.edu.cn/showproblem.php? pid=1907 Descri ...
 - hdu 1851 尼姆+巴什博弈
		
先在每堆中进行巴什博弈,然后尼姆 #include<stdio.h> int main() { int T; int i,n; int ans,m,l; scanf("%d&qu ...
 - nyojb 2359  巴什博弈变形
		
http://acm.nyist.me/JudgeOnline/problem.php?id=2359 2359: 巴什博弈? 时间限制: 1 Sec 内存限制: 30 MB提交: 237 解决: ...
 - HDU——1846Brave Game(巴什博弈)
		
Brave Game Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
 - 题解报告:hdu 4764 Stone(巴什博弈)
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4764 Problem Description Tang and Jiang are good frie ...
 - hdu 2897 巴什博弈变形 ***
		
大意:一堆石子共有n个,A,B两人轮流从中取,每次取的石子数必须在[p,q]区间内,若剩下的石子数少于p个,当前取者必须全部取完.最后取石子的人输.给出n,p,q,问先取者是否有必胜策略? Bash博 ...
 
随机推荐
- 容器内init进程方案
			
背景 进程标识符 (PID) 是Linux 内核为每个进程提供的唯一标识符.熟悉docker的同学都知道, 所有的进程 PID都属于某一个PID namespaces, 也就是说容器具有一组自己的 P ...
 - HTC推出了VIVE Comos 全新 VR(虚拟现实)系列产品
			
据 The Verge 报道,近日,HTC 推出了 VIVE Comos 全新 VR(虚拟现实)系列产品.包括 Cosmos 精英套装.VIVE Cosmos XR 版.Cosmos Play 基础版 ...
 - MATLAB神经网络(1)之R练习
			
)之R练习 将在MATLAB神经网络中学到的知识用R进行适当地重构,再写一遍,一方面可以加深理解和记忆,另一方面练习R,比较R和MATLAB的不同.如要在R中使用之前的数据,应首先在MATLAB中用w ...
 - Vue2.0 【第一季】第3节 v-for指令:解决模板循环问题
			
目录 Vue2.0 [第一季] 第3节 v-for指令:解决模板循环问题 第三节 v-for 指令 一.基本用法: 二.排序 三.对象循环输出 Vue2.0 [第一季] 第3节 v-for指令:解决模 ...
 - Python1-变量
			
一.变量和简单数据类型 1.变量 命名规则: 变量名组成——字母.下划线.数字(不可做首字符): 用下划线分隔单词,不可包含空格: 关键字和函数名不可做变量名: 小写字母做变量名,不建议使用大小写的字 ...
 - 在Java中使用Collections.sort 依据多个字段排序
			
一.如何使用Collections工具类进行排序 使用Collections工具类进行排序主要有两种方式: 1.对象实现Comparable接口,重写compareTo方法 /** * @author ...
 - Checkbox 勾上 不让勾下 同步手动刷新复选框状态 iview
			
<Checkbox v-show="!disabledForm" ref="youwubianhuaRef" :value="youwubian ...
 - treeselect 异步拿到数据后 要经过一个过滤 然后放入options 否则组件会崩溃
			
事件缘由:由于城市树会反复调用,所以不用api每次调用,改用数据缓存一次读取,各处使用.然后我把调用的数据放入treeselect,发现组件就崩溃了,但是api读取的数据就没问题. 查看不是props ...
 - niginx:duplicate MIME type "text/html" in nginx.conf 错误(转载)
			
把nginx升级到最新以后,发现用原来的配置启动的时候会提示: duplicate MIME type "text/html" in /usr/local/nginx/conf/n ...
 - Java爬取丁香医生疫情数据并存储至数据库
			
1.通过页面的url获取html代码 // 根URL private static String httpRequset(String requesturl) throws IOException { ...