pigofzhou的巧克力棒】的更多相关文章

Description 众所周知,pigofzhou有许多妹子.有一天,pigofzhou得到了一根巧克力棒,他想把这根巧克力棒分给他的妹子们.具体地,这根巧克力棒长为 n,他想将这根巧克力棒折成 n 段长为 1 的巧克力棒,然后分给妹子们. 但是他妹子之一中的 15zhazhahe 有强迫症.若它每次将一根长为 k 的巧克力棒折成两段长为 a 和 b 的巧克力棒,此时若 a=b,则15zhazhahe会得到一点高兴值. pigofzhou想知道15zhazhahe最多能获得多少高兴值. Inp…
题目:GDUTOJ | pigofzhou的巧克力棒 (gdutcode.cn) 之前看了大佬博客的题解,一直没懂(我太菜了),后来听了朋友@77的讲解,终于懂了. 和拆分出2的n次方不一样,这是一种自下而上的方法. 从巧克力被全部折完开始,假设n==7,此时有7段长度为1的巧克力棒,我们试着向上还原, 于是可以把7段长度为1的巧克力棒两两合并为3段长度为2(还有1因为合并不了被舍弃了),这个过程就是7/2==3: 我们可以继续两两合并,把3段长度为2合并为1段长度为4,这个过程就是3/2==1…
Problem A: pigofzhou的巧克力棒 Description 众所周知,pigofzhou有许多妹子.有一天,pigofzhou得到了一根巧克力棒,他想把这根巧克力棒分给他的妹子们.具体地,这根巧克力棒长为 n,他想将这根巧克力棒折成 n 段长为 1 的巧克力棒,然后分给妹子们. 但是他妹子之一中的 15zhazhahe 有强迫症.若它每次将一根长为 k 的巧克力棒折成两段长为 a 和 b 的巧克力棒,此时若 a=b,则15zhazhahe会得到一点高兴值. pigofzhou想知…
1195: 相信我这是水题 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 821  Solved: 219 Description GDUT中有个风云人物pigofzhou,是冰点奇迹队的主代码手,萌萌的师弟师妹们们经常会让pigofzhou帮他们Debug,因为师弟师妹们打代码使用编程语言的种类千奇百怪,pigofzhou为此很头疼.现在假设师弟师妹们只喜欢Java或者C++或者C,因为他希望所有人都学相同的编程语言,只有这样pigofzhou教…
题目:http://hzwer.com/1976.html 分析:先Orz hzwer 对于盒子外面的巧克力棒,就是Nim游戏. 所以就很容易想到先手第一步最好从盒子中取出m根巧克力棒,使得这些巧克力棒的异或和为0,并且盒子中剩余的巧克力棒无论如何取出来都不能得到异或和为0(其实m就是所有巧克力棒的最长异或和为0的子序列) 那么对于后手,无论是吃盒子外面的,还是拿盒子里面的,都是必败的 所以先手必胜当且仅当存在m,使得m个巧克力棒的异或和为0…
每次一人可以从盒子里取出若干条巧克力棒,或是将一根取出的巧克力棒吃掉正整数长度. Nim游戏多了一个决策:拿出一些石堆 显然只要给对方构造异或和为0的子集就行了 暴枚子集... #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> using namespace std; typedef long long ll…
Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 552  Solved: 331[Submit][Status][Discuss] Description TBL和X用巧克力棒玩游戏.每次一人可以从盒子里取出若干条巧克力棒,或是将一根取出的巧克力棒吃掉正整数长度.TBL先手两人轮流,无法操作的人输. 他们以最佳策略一共进行了10轮(每次一盒).你能预测胜负吗? Input 输入数据共20行. 第2i-1行一个正整数Ni,表示第i轮巧克力棒的数目.…
[BZOJ1299]巧克力棒(博弈论,线性基) 题面 BZOJ 题解 \(Nim\)博弈的变形形式. 显然,如果我们不考虑拿巧克力棒出来的话,这就是一个裸的\(Nim\)博弈. 但是现在可以加入巧克力棒.加入巧克力棒的意义是修改当前的异或和. 如果不能够改变当前先后手赢的状态的话,那么必定不能够拿出一个巧克力棒的集合满足异或和为\(0\). 初始情况下是先手必败的情况,因为先后不改变当前的必胜/必败情况,所以先手必须要拿出一个异或和为\(0\)的集合,并且使得剩下的部分不能够存在异或和为\(0\…
题面: TBL和X用巧克力棒玩游戏.每次一人可以从盒子里取出若干条巧克力棒,或是将一根取出的巧克力棒吃掉正整数长度.TBL先手两人轮流,无法操作的人输. 他们以最佳策略一共进行了10轮(每次一盒).你能预测胜负吗? 如果胜则输出"NO",否则输出"YES" 解:Nim白学....... 考虑第一个人第一步要干什么能够必胜.显然他要取出一些使得当前SG为0,且接下来对方无法取出一些使得SG仍为0. 于是把盒中^起来为0的极大集合取出来就好了. 如果不存在这样的集合那么…
题目描述 TBL和X用巧克力棒玩游戏.每次一人可以从盒子里取出若干条巧克力棒,或是将一根取出的巧克力棒吃掉正整数长度.TBL先手两人轮流,无法操作的人输. 他们以最佳策略一共进行了10轮(每次一盒).你能预测胜负吗? 输入 输入数据共20行. 第2i-1行一个正整数Ni,表示第i轮巧克力棒的数目. 第2i行Ni个正整数Li,j,表示第i轮巧克力棒的长度. 输出 输出数据共10行. 每行输出“YES”或“NO”,表示TBL是否会赢.如果胜则输出"NO",否则输出"YES&quo…
怎么又是博弈论...我去 Orz hzwer,这道题其实是可以转化成Nim游戏的! "第一步: 先从n根巧克力棒中取出m(m>0)根,使得这m根巧克力棒的xor和为0,同时使得剩下的n-m根巧克力棒无论怎么取,xor和都不为0. m根巧克力棒的xor和为0 <=>把nim游戏的必败状态留给对方 剩下的n-m根巧克力棒无论怎么取,xor和都不为0 <=>  m为巧克力棒的xor和为0的最长子序列 第二步: 第一步以后,对手就面临一个必败状态的nim游戏. 如果他从n-…
#66. 新年的巧克力棒 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://uoj.ac/problem/66 Description 马上就要到羊年了,羊村一片欢腾,懒羊羊则懒洋洋地躺在草坪上吃新年的巧克力棒. 他手上的巧克力棒是个由 n 个巧克力单元格组成的长度为 n 的长条,现在懒羊羊想把巧克力棒掰开成一个个小单元格. 初始时懒羊羊会把这根巧克力棒丢在草坪上,然后每次懒羊羊会从草坪上拿起一根长度大于 1 的巧克力棒,然后从某两个相邻的…
题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=1299 首先我们把每根巧克力棒看成一堆石子,把巧克力棒的长度看作石子的个数,那么原问题就可以看成一个经典的nim问题(取石子问题)的变种,它和原问题的区别在于每堆石子需要经过一步操作解封后才能从里面取出石子. 这道博弈题的思维方式和普通题不太一样,不能通过简单的构造sg函数的方法解决.但是我们可以注意到它和普通的nim游戏的一些相同之处:即同样是从几堆石子中从某一堆拿若干个石子出来.即…
题意:TBL和X用巧克力棒玩游戏.每次一人可以从盒子里取出若干条巧克力棒,或是将一根取出的巧克力棒吃掉正整数长度. TBL先手两人轮流,无法操作的人输. 他们以最佳策略一共进行了10轮(每次一盒).你能预测胜负吗? 如果TBL胜则输出”NO”,否则输出”YES” n<=14,a[i]<=1e9 思路:一个结论:Nim游戏中一个xor和不为0(先手必胜)的状态一定可以通过1步转化为xor和为0(先手必败)的状态 所以先手第一步只需要取出一个xor和为0的最长子序列 若后手选择加入新巧克力棒,先手…
Description TBL和X用巧克力棒玩游戏.每次一人可以从盒子里取出若干条巧克力棒,或是将一根取出的巧克力棒吃掉正整数长度.TBL先手两人轮流,无法操作的人输. 他们以最佳策略一共进行了10轮(每次一盒).你能预测胜负吗? Input 输入数据共20行. 第2i-1行一个正整数Ni,表示第i轮巧克力棒的数目. 第2i行Ni个正整数Li,j,表示第i轮巧克力棒的长度. Output 输出数据共10行. 每行输出“YES”或“NO”,表示TBL是否会赢.如果胜则输出”NO”,否则输出”YES…
这个题一看就是nim游戏的变形.每次先手取出巧克力就是新建一个nim,但假如先手取一个为0的而且无论后手怎么取剩下的都无法为零就行了.然后用dfs跑. 题干: Description TBL和X用巧克力棒玩游戏.每次一人可以从盒子里取出若干条巧克力棒,或是将一根取出的巧克力棒吃掉正整数长度.TBL先手两人轮流,无法操作的人输. 他们以最佳策略一共进行了10轮(每次一盒).你能预测胜负吗? Input 输入数据共20行. 第2i-1行一个正整数Ni,表示第i轮巧克力棒的数目. 第2i行Ni个正整数…
巧克力棒 题目描述 LYK 找到了一根巧克力棒,但是这根巧克力棒太长了,LYK 无法一口吞进去.具体地,这根巧克力棒长为 n,它想将这根巧克力棒折成 n 段长为 1 的巧克力棒,然后慢慢享用.它打算每次将一根长为 k 的巧克力棒折成两段长为 a 和 b 的巧克力棒,此时若 a=b,则LYK 觉得它完成了一件非常困难的事,并会得到 1 点成就感.LYK 想知道一根长度为 n 的巧克力棒能使它得到最多几点成就感. 输入格式(chocolate.in)第一行一个数 n. 输出格式(chocolate.…
[BZOJ1299]巧克力棒 Description TBL和X用巧克力棒玩游戏.每次一人可以从盒子里取出若干条巧克力棒,或是将一根取出的巧克力棒吃掉正整数长度.TBL先手两人轮流,无法操作的人输. 他们以最佳策略一共进行了10轮(每次一盒).你能预测胜负吗? Input 输入数据共20行. 第2i-1行一个正整数Ni,表示第i轮巧克力棒的数目. 第2i行Ni个正整数Li,j,表示第i轮巧克力棒的长度. Output 输出数据共10行. 每行输出"YES"或"NO"…
原题:http://www.lydsy.com/JudgeOnline/problem.php?id=1299 众多dalao的题解已经很详细了:http://blog.csdn.net/wzq_qwq/article/details/47258871 这里我只补充一下用高斯消元的方法优化到14*14*30的时间复杂度,而不是2^14 目标是求出是否有一种取数方案使异或和为0 那么按位拆分一下,得到30个方程,但是只有14个变量.解是肯定存在的(全部不取),但是我们希望解的数量大于一.由于解的数…
题目链接 \(Description\) 两人轮流走,每次可以从盒子(容量给定)中取出任意堆石子加入Nim游戏,或是拿走任意一堆中正整数个石子.无法操作的人输.10组数据. \(Solution\) 考虑简化当前局面 1.若先手从盒子中拿出异或和为0的几堆石子,即建立了一个先手必败(第一步由后手来走)的Nim游戏,先手一定可以最后把这些石子取完: 但是先手不会给后手机会添加异或和为0的石子 或是 最后新建一个异或和为0的Nim,会取尽量多的异或和为0的石子堆. 所以后手只能添加异或和不为0的石子…
[算法]博弈论 [题解]这道题不是典型的SG函数题了. 不把它当成游戏看待,那么这道题是在说n个石子堆,每次可以加入若干个或进行Nim游戏. 我们当前先手,则考虑构造必败态来获胜. 当前已加入的NIm游戏SG=0,则必须考虑加入石子堆,若加入m堆构造出SG=0,对方有两种选择: 加入新的石子堆,则必须是SG=0. 进行Nim游戏,但是目前SG=0,先手必败. 所以只要把n堆中异或和=0的最长子序列在第一次操作时移入即可先手必胜. #include<cstdio> #include<alg…
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/转载请注明出处,侵权必究,保留最终解释权! 题目链接:http://uoj.ac/problem/66 正解:结论+数学归纳法证明 解题报告: 看到这题第一想法就是猜一波结论,开始猜每次/2,然而过不了样例. 想了一想,似乎每次找到<=n的2^t,显然2^t贡献就是2^t-1,再把剩下的部分递归算就…
因为太懒,放个博客 我只写了O(2n)O(2^n)O(2n)的 CODE #include <cstdio> int n, x[15]; int main () { for(int T = 1; T <= 10; ++T) { scanf("%d", &n); for(int i = 0; i < n; ++i) scanf("%d", &x[i]); bool flg = 0; for(int s = (1<<n…
这里写的代码,相当于<Head First 设计模式>的读书笔记,原书是java的,自己在学习的过程中将其翻译为C#: (一)剖析经典的单件模式实现 单件模式 -- 确保一个类只有一个实例,并提供一个全局访问点 -- 单件模式的类图可以说是所有模式的类图中最简单的 -- 有一些对象其实我们只需一个,如线程池.缓存.对话框.处理偏好设置和注册表的对象.日志对象和充当打印机.显卡等设备的驱动程序的对象等.如果制造出多个实例,可能导致许多问题,如程序的行为异常.资源使用过度,或者结果不一致等 1.新…
巧克力棒(chocolate)Time Limit:1000ms Memory Limit:64MB题目描述LYK 找到了一根巧克力棒,但是这根巧克力棒太长了, LYK 无法一口吞进去.具体地,这根巧克力棒长为 n,它想将这根巧克力棒折成 n 段长为 1 的巧克力棒,然后慢慢享用.它打算每次将一根长为 k 的巧克力棒折成两段长为 a 和 b 的巧克力棒,此时若 a=b,则LYK 觉得它完成了一件非常困难的事,并会得到 1 点成就感.LYK 想知道一根长度为 n 的巧克力棒能使它得到最多几点成就感…
Nim游戏获胜的条件是所有石子的异或和为0 如果先手要获胜,那么一定是打开了一个异或和为0的极大子集 什么是极大子集呢? 就是无论后手打开任何子集的箱子,都不能再使此时打开的箱子异或和为0. 容易证明这样做是对的. #include <bits/stdc++.h> #define maxn 100 using namespace std; int a[maxn], n, base[maxn]; bool Gauss(){ memset(base, 0, sizeof base); for(in…
巧克力棒(chocolate)Time Limit:1000ms Memory Limit:64MB题目描述LYK 找到了一根巧克力棒,但是这根巧克力棒太长了,LYK 无法一口吞进去.具体地,这根巧克力棒长为 n,它想将这根巧克力棒折成 n 段长为 1 的巧克力棒,然后慢慢享用.它打算每次将一根长为 k 的巧克力棒折成两段长为 a 和 b 的巧克力棒,此时若 a=b,则LYK 觉得它完成了一件非常困难的事,并会得到 1 点成就感.LYK 想知道一根长度为 n 的巧克力棒能使它得到最多几点成就感.…
API等级1: Android 1.0 API等级2: Android 1.1 Petit Four 花式小蛋糕 API等级3: Android 1.5 Cupcake 纸杯蛋糕 API等级4: Android 1.6 Donut 甜甜圈 API等级5: Android 2.0 Éclair 松饼 API等级6: Android 2.0.1 Éclair 松饼 API等级7: Android 2.1 Éclair 松饼 API等级8: Android 2.2 - 2.2.3 Froyo 冻酸奶…
谁见到过风? 你没有,我也没有. 但当树儿低下头, 便是风儿经过时. 便是风儿穿过的时候. 但当树叶微微摇首, 你没有,我也没有. 谁见到过风? 二.时间与宽恕 1.提姆要出发了!他要去寻找并救出公主.她被恐怖又邪恶的怪物捉走了. 这都是提姆犯下的错误所造成的. 他犯的错误不只一个.多年以前,他们在一起的时候,提姆犯了很多错.他们两人之间的点点滴滴都已经模糊不清.只有一个刻划在他的记忆里:她猛然转身过去,他的发辫摔向他,仿佛实在鄙视他. 他知道她曾经试着要宽恕他,但是面对谎言和背后中伤的时候,有…
巧克力棒(chocolate)Time Limit:1000ms Memory Limit:64MB题目描述LYK 找到了一根巧克力棒,但是这根巧克力棒太长了, LYK 无法一口吞进去.具体地,这根巧克力棒长为 n,它想将这根巧克力棒折成 n 段长为 1 的巧克力棒,然后慢慢享用.它打算每次将一根长为 k 的巧克力棒折成两段长为 a 和 b 的巧克力棒,此时若 a=b,则LYK 觉得它完成了一件非常困难的事,并会得到 1 点成就感.LYK 想知道一根长度为 n 的巧克力棒能使它得到最多几点成就感…