[BZOJ]1115 石子游戏Kam

BZOJ平台全编程题解码宝典 本文还有配套的精品资源,点击获取 简介:本压缩文件包含BZOJ平台上所有编程题目的解决方案,是编程和算法学习者的宝贵资源库。用户下载后需解压至特定目录,便能查阅涵盖多种编程语言的代码实现。这些代码不仅包括基础算法,还涉及复杂数据结构应用,并伴有丰富的辅助文件如HTML索引页面和必要的脚本文件。通过这份资源,用户能够学习多种算法实现、模仿实践、查找编程错误、深入理解数据结构,... 阅读详情

1115: [POI2009]石子游戏Kam

Time Limit: 10 Sec   Memory Limit: 162 MB
Submit: 1061   Solved: 651
[ Submit][ Status][ Discuss]

Description

有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数。两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏。问先手是否必胜。

Input

第一行u表示数据组数。对于每组数据,第一行N表示石子堆数,第二行N个数ai表示第i堆石子的个数(a1<=a2<=……<=an)。 1<=u<=10 1<=n<=1000 0<=ai<=10000

Output

u行,若先手必胜输出TAK,否则输出NIE。

Sample Input

2
2
2 2
3
1 2 4

Sample Output

NIE
TAK

HINT

感谢MT大牛翻译.

Source

[ Submit][ Status][ Discuss]


HOME Back


由于取了一堆石子, 相当于就是说与前面的差值变小了,与后面的差值变大了,这让我们有点熟悉——很像阶梯nim.我们把差值作为石子,那么相当于就是把一堆石子抽一部分给下一堆,这就等价于阶梯nim.

阶梯nim的讲解: 点这里

#include<stdio.h>
inline const int read(){
    register int x = 0;
    register char ch = getchar();
    while(ch < '0' || ch > '9') ch = getchar();
    while(ch >= '0' && ch <= '9') x = (x<<3) + (x<<1) + ch - '0', ch = getchar();
    return x;
}
int T, n, last, x, ans;
int main(){
    T = read();
    while(T--){
        ans = 0; last = 0;
        n = read();
        for(register int i = 1; i <= n; ++i){
            x = read();
            if((n-i-1) & 1) ans ^= (x-last);
            last = x;
        }   
        (ans) ? puts("TAK") : puts("NIE");
    }
}


BZOJ题目镜像 BZOJ网站镜像,对于经常挂掉的BZOJ真是刷题必备啊! 立即下载

相关推荐

BZOJ全代码

BZOJ平台全部代码,解压到一个文件夹在打开使用。BZOJ平台全部代码,解压到一个文件夹在打开使用。

BZOJ题库

BZOJ离线题库

Demilly123的博客 1228

Windows 11下用Ollama一键部署DeepSeek-R1大模型(附8B/14B版本选择建议)

本文详细介绍了在Windows 11环境下使用Ollama工具一键部署DeepSeek-R1大模型的完整指南,包括8B和14B版本的选择建议。通过硬件评估、安装配置、性能优化等步骤,帮助开发者高效实现本地部署,提升AI应用体验。

weixin_29079643的博客 272

BZOJ题目(持续更新)

bzoj1009:kmp想法+递推+矩阵快速幂。很好的想法,考虑用长串去kmp匹配短串,dp[i][j]表示匹配指针分别指在i、j位置时候,前i位母字符串一共有多少种可能性,那么dp[i][j]=Σdp[i-1][k]*p[k][j] p[k][j]就是状态k后加一位数字转移到状态j一种多少种可能(通过自己匹配自己来预处理p),那么可以看做一个矩阵dp[i-1]和p[][]不断相乘,矩阵快速幂即可...

weixin_30793643的博客 390

基于RK3588与FPGA的SDI视频处理系统:从MIPI CSI-2输入到DSI输出的全链路解析

本文深入解析了基于RK3588与FPGA的SDI视频处理系统全链路。系统利用FPGA作为高速接口转换与流管理核心,将SDI信号转换为MIPI CSI-2数据流送入RK3588进行智能图像处理与AI分析,处理结果再通过MIPI DSI回传,最终由FPGA控制编码为SDI输出,实现了专业视频接口与强大算力的高效协同。

s1t2u3的博客 666

BZOJ刷题指南

BZOJ刷题指南 巨水无比(4):1214、3816:2B题;1000A+B;2462:输出10个1 模拟/枚举/暴力(15):4063傻子模拟;1968小学生暴力;1218前缀和暴力;3856读英文;4106直接算;1800暴力判断;2208暴力判断(要会邻接表);1028枚举;1789&1830高能暴力;2241暴力;2120神奇的暴力;4145子集暴力;4029模拟处理;1086DF...

Modestr的博客 1362

《QMT量化实战系列》支持自定义筛选与排序的多因子策略,实测年化收益超100% (1)

公众号推出《QMT量化实战》系列,通过多维度、多策略、多场景讲解QMT量化平台应用,每期附代码解读。本期复现《支持自定义筛选与排序的多因子策略》,策略包含三大核心模块:1. 通过Tushare获取30+财务因子数据;2. 提供灵活筛选机制(支持排除ST股、次新股及特定板块);3. 创新性多因子加权排序系统(支持自定义因子权重组合)。交易逻辑包含动态调仓机制,当持仓标的排名低于阈值时触发卖出。该策略具有高度可配置性,适合不同风险偏好的投资者。(149字)

qq_46262068的博客 1729

关于BZOJ如何注册问题

下载 Notepad++ 下载地址,https://notepad-plus-plus.org/ 完了之后 进入目录C:\Windows\System32\drivers\etc 用Notepad++打开hosts文件 添加一句话 61.187.179.132 demo.v2.lydsy.com 完了之后访问 http://demo.v2...

weixin_30666401的博客 482

Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)

Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)算法背景介绍Hessian 矩阵与泰勒多项式关于求t导数与中心点、亚像素点高斯函数作用文献 算法背景介绍 在线结构光视觉传感器中,由线激光器发射出的线结构光,在本质上为一个连续且具有一定厚度的空间光平面,而在目标表面上所形成的具有一定宽度的光条特征,即为该光平面与目标表面相交而成的交线。在该空间光平面的厚度方向上,光强近似服从高斯分布,因而在摄像机采集到的光条图像中,在沿着光条宽度的方向或光条的法线方向上,其灰度也会呈现出类似

jiangxing11的博客 1万+

【3D计算机视觉】从PointNet到PointNet++理论及pytorch代码

从PointNet到PointNet++理论及代码详解1. 点云是什么1.1 三维数据的表现形式1.2 为什么使用点云1.3 点云上以往的相关工作2. PointNet2.1 基于点云的置换不变性2.1.1 由对称函数到PointNet(vanilla)2.1.2 理论证明2.2 基于点云的旋转不变性2.3 网络总体结构2.4 实验结果和网络的鲁棒性2.5 代码解析3. PointNet++3.1...

小执着的博客 8万+

BZOJ_1115_[POI2009]石子游戏Kam_博弈论

BZOJ_1115_[POI2009]石子游戏Kam_博弈论 Description 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数。两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏。问先手是否必胜。 Input 第一行u表示数据组数。对于每组数据,第一行N表示石子堆数,第二行N个数ai表...

180

使用verilog设计实现QR分解

QR(正交三角)分解法是求一般矩阵全部特征值的最有效并广泛应用的方法,一般矩阵先经过正交相似变化成为Hessenberg矩阵,然后再应用QR方法求特征值和特征向量。 使用verilog对QR实现方法进行设计并进行功能仿真: 如下: 顶层模块代码: module TOP( H1R, H1I, H2R, H2I, H3R, H3I, H4R, H4I, clk, rst_n, Y1R, Y1I, Y2R, Y2I, X1R, X1I, X2R, X2I ); parameter width = 16; // I

QQ_778132974的博客 2149

【BZOJ 1115】 [POI2009]石子游戏Kam

非常巧妙的阶梯博弈~~

Regina8023 1044

LabVIEW实现HTTP通信

本节简要介绍HTTP通信的基础知识,并以工业物联网平台TLINK中云端设备的数据发布设计为例,阐述互联网环境下HTTP客户端应用程序设计的基本方法。重点讲解工业物联网平台TLINK中HTTP设备的创建、通信数据帧的构造与测试。

不脱发的程序猿 1545

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【BZOJ1115】[POI2009]石子游戏Kam 阶梯博弈

【BZOJ1115】[POI2009]石子游戏Kam Description 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数。两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏。问先手是否必胜。 Input 第一行u表示数据组数。对于每组数据,第一行N表示石子堆数,第二行N个数ai表示第i堆...

aodanchui1057的博客 146

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

[BZOJ1115]石子游戏Kam

博弈论 首先把数组查分,然后发现这是个阶梯问题。 阶梯问题,是说有一个n级的阶梯,每级阶梯上有若干硬币。二人轮流操作,每次可以将某一级台阶上的若干个硬币移到下一级。无法操作者输 然后对于阶梯问题,我们采取奇偶性分析: 假若对手移动偶数阶,我们可以继续将其往下移动到偶数阶,直至0阶 假若对手移动奇数阶,若移动第一阶,则相当于取走 假若对手移动奇数阶,且将移动到偶数阶,而偶数阶的子最终将以1.的...

china_xyc的博客 192

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Bzoj1115 石子游戏Kam

这是道权限题,差评。 题目说明引自ZYF-ZYF Description 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数。两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏。问先手是否必胜。 Input 第一行u表示数据组数。对于每组数据,第一行N表示石子堆数,第二行N个数ai表示第i堆石子的个...

dezhen7015的博客 124

BZOJ1115: [POI2009]石子游戏Kam

Description 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数。两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏。问先手是否必胜。 Input 第一行u表示数据组数。对于每组数据,第一行N表示石子堆数,第二行N个数ai表示第i堆石子的个数(a1<=a2<=……<=a...

176

【BZOJ1115】石子游戏Kam【台阶NIM】

考虑在第i个石子堆里取了x个石子,那么第i+1个石子堆就可以多取x个石子,可以等效为将这x个石子挪到了下一个石子堆里,就变成了台阶NIM。 不想写边界特判,结果忘了数组清0(a[n + 1] = 0),就WA了。 #include const int maxn = 1005; int n, a[maxn]; inline int iread() { int f = 1

BraketBN 836

【bzoj1115】 [POI2009]石子游戏Kam

Description 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数。两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏。问先手是否必胜。 Input 第一行u表示数据组数。对于每组数据,第一行N表示石子堆数,第二行N个数ai表示第i堆石子的个数(a1 Output u行,若先手必胜输出T

Timothy023的博客 304

BZOJ 1115: [POI2009]石子游戏Kam

Description 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数。两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏。问先手是否必胜。 Input 第一行u表示数据组数。对于每组数据,第一行N表示石子堆数,第二行N个数ai表示第i堆石子的个数(a1&lt;=a2&lt;=……&lt;=an)。 1&lt;=u...

sdfzsyq的博客 232

bzoj1115: [POI2009]石子游戏Kam

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1115 思路:首先差分,求出相邻两堆石子的个数之差,要求单调不降就是差分数组大于等于0。 然后我们考虑在第i堆移走j个,就等价于i+1与i的差扩大j,i与i-1的差缩小j。 这样就转化为另一个经典的游戏模型,阶梯NIM。 有n个阶梯,每个阶梯上都有一定数量的石子,每次都可以移任

thy的专栏 972

bzoj1115 [POI2009]石子游戏Kam

题目链接 solution 很容易想到先差分。这样在第\(i\)堆拿走\(k\)个石子,就相当于让\(a_i-k,a_{i+1}+k\)。 我们重新看这个问题,就是在差分后,每次可以将第\(i\)堆的石子拿出一部分放到第\(i+1\)堆。这样就成了阶梯\(NIM\)。 我们将从\(n\)开始数的奇数列看做石子来做普通\(NIM\)游戏。如果我们当前处于必胜态,那么如果对方将奇数列的石子移到了偶数...

wxyww2049的博客 69

bzoj1115 石子游戏Kam

差分+阶梯博弈

YHaX的博客 548
上一篇: 趣味博弈论 -- 阶梯博弈
下一篇: 齐肯多夫定理--斐波那契数列
MaxMercer
博客等级 码龄10年 55粉丝 261原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值