HDU 2516 取石子游戏 (博弈论)
解题思路:
这题没法用sg直接求了,数据量太大了,而且sg会受上次的影响,所以不一定。
因此,只能打表找规律,找到规律发现如果满足斐波那契数列 f[n]=f[n-1]+f[n-2] 的数列,Second Win 否则 ,First Win...
分类:
其他好文 时间:
2014-07-06 12:42:13
阅读次数:
213
HDU 1847 Good Luck in CET-4 Everybody! (博弈论sg)
解题思路:
1、用博弈论sg函数可以解
根据NP图的关系,发现 n%3=0时,Cici赢,否则Kiki赢
2、用DP去解,用dp[n][f] 表示还剩n张牌时,f先走,谁赢。...
分类:
其他好文 时间:
2014-07-06 12:37:25
阅读次数:
154
HDU 1517 A Multiplication Game (博弈-求sg)
题目大意:
Stan 和 Ollie 两个人玩游戏, 一开始数字是 1,两个人轮流,Stan 先手,每个人选择 2~9 里面的一个一直乘以起初的数字,直到某个人乘到 这个数大于等于 n 就算赢,n给定,问你谁必然赢。
解题思路:
这题我没找出SG函数(必胜必输)的规律,只能用DP的方法求出每种状态的必胜必输状态。
2~9 ,依次其实可以用 2 3 5 7 这几个数得到,因此每个状态只需要记录2 3 5 7 这几个数的...
分类:
其他好文 时间:
2014-07-06 12:16:39
阅读次数:
234
HDU 2897 邂逅明下 (经典博弈变形)
解题思路:
这题还是运用到了经典的博弈论的核心思想,也就是总共 n 个 ,每次取值范围是 [p,q] ,两个人玩的话,你取p个,我就取q个,你取p+1个,我就取q-1个....... 每轮总和始终保持p+q,所以考虑对p+q求余即可,这题就用了这个思想。当然也可以通过SG函数来提取必胜和必输状态。
这题还有:小于p个必须取完,其实等于p也必须取完,因为最少取p个,
先特判一下n是否<=p
然后减掉p个,然后求余,但是求余的结果超过q的话不能一次取完。...
分类:
其他好文 时间:
2014-07-06 11:56:12
阅读次数:
160
String painter
Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1529 Accepted Submission(s): 680
Problem Description
There are tw...
分类:
其他好文 时间:
2014-07-06 11:53:41
阅读次数:
176
Aircraft
Time Limit: 10000/3000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 980 Accepted Submission(s): 228
Problem Description
You are playing a flyi...
分类:
其他好文 时间:
2014-07-06 11:22:43
阅读次数:
151
Elevator
Time Limit: 1000ms Memory limit: 32768K 有疑问?点这里^_^
题目描述
The highest building in our city has only one elevator. A request list is made up with N positive numbers. The numbers de...
分类:
其他好文 时间:
2014-07-06 10:52:11
阅读次数:
188
上海邀请赛前拿2013年的成都邀请赛热身,比赛结果大大出乎了我们的预期啊。。。没做出来的几道题可能还会更新的。
A题:
题目地址:HDU 4716
水题。。这题是我敲的。。敲麻烦了。。。sad。。。你们就当没看见吧。。。
代码:
#include
#include
#include
#include
#include
using namespace std;
int ma...
分类:
其他好文 时间:
2014-07-06 08:12:11
阅读次数:
214
题意:求/直线的对称矩阵最大多大
思路:DP 每个点就是了
#include
#include
#include
#include
using namespace std;
const int MAXN = 1200;
int dp[MAXN][MAXN];
char str[MAXN][MAXN];
int n;
int main() {
while (scanf("%d", ...
分类:
其他好文 时间:
2014-07-06 00:10:36
阅读次数:
291
HDU 2149 Public Sale (博弈论经典)
解题思路:
这题运用到了经典的博弈论的核心思想,也就是总共 m 个 ,每次取值范围是 [1,n] ,两个人玩的话,你取1个,我就取N个,你取2个,我就取N-1个....... 每轮总和始终保持N+1,所以考虑对n+1求余即可,这题就用了这个思想。当然也可以通过SG函数来提取必胜和必输状态。...
分类:
其他好文 时间:
2014-07-06 00:06:06
阅读次数:
325