题目链接: uva 1482 - Playing With Stones
题目大意:n堆石子,给定每堆石子的个数,两个人分别从操作,每次可以从一堆中取走至少一个石子,但是不能超过一半。如果不能操作则视为失败。
解题思路:对于每一堆式子来说,可以看作一个Nim游戏,但是SG(x)并不等于x,因为每次取石子不能超过一半,所以对于偶数SG(x)=x/2,对于奇数SG(x)=SG(x/2).
...
分类:
其他好文 时间:
2014-08-06 01:59:40
阅读次数:
251
在OSGi中,不能的bundle分属不同的装载器(Class Loader), 在J2EE 应用中,不同BUNDLE 中的JSP 所对应的ServletContext对象不同,这与通常情况下的应用是不一样的。
一个例子如下:
bundle a:
[2014-07-22 11:08:21,335] SG-UAP : INFO Config:331 - -------------------...
分类:
其他好文 时间:
2014-07-23 00:05:38
阅读次数:
352
UVA 11534 - Say Goodbye to Tic-Tac-Toe
题目链接
题意:给定一个序列,轮流放XO,要求不能有连续的XX或OO,最后一个放的人赢,问谁赢
思路:sg函数,每一段...看成一个子游戏,利用记忆化求sg值,记忆化的状态要记录下左边和右边是X还是O即可
代码:
#include
#include
const int N = 105;...
分类:
数据库 时间:
2014-07-18 22:34:57
阅读次数:
434
UVA 11927 - Games Are Important
题目链接
题意:给定一个有向图,结点上有一些石头,两人轮流移动石头,看最后谁不能移动就输了,问先手还后手赢
思路:求出每个结点的sg函数,然后偶数个石头结点可以不用考虑,因为对于偶数情况,总步数肯定能保证是偶数,所以只要考虑奇数情况的结点
代码:
#include
#include
#include ...
分类:
其他好文 时间:
2014-07-18 21:32:27
阅读次数:
224
题解:简单的NIM游戏,直接计算SG函数,至于找先手策略则按字典序异或掉,去除石子后再异或判断,若可行则直接输出。#include const int N=1005;int SG[N],b[N],hash[N],a[N],sum,tmp,i,j,n,m; void FSG(int s){ ...
分类:
其他好文 时间:
2014-07-18 21:09:31
阅读次数:
206
【题目描述】 首长NOI惨跪,于是去念文化课了。现在,他面对一道化学题。 这题的来源是因为在一个奇怪的学校两个化竞党在玩一个奇怪的博弈论游戏,这个游戏很蛋疼,我相信你们也没有兴趣听。 由于这个游戏涉及博弈论,因此化竞的同学就要求首长求一个类似SG函数的值。 他们手中有一种非常神奇的化合物,它...
分类:
Web程序 时间:
2014-07-18 16:07:59
阅读次数:
348
题目链接:http://code.bupt.edu.cn/problem/p/427/
一个很单纯的every-sg模型
代码:
#include
#include
#include
#include
#define N 100010
using namespace std;
int step[N];
int sg[N];
int stone[N];
vector g[N];
i...
分类:
其他好文 时间:
2014-07-18 11:34:05
阅读次数:
173
比如一串字符串
123
如果只想拿到123怎么办呢?
用perl的正则表达式可以很容易的做到。
$str =~ s/(.+?)/$3/sg;
这种只能过滤掉左右对称的标签,如果你的字符串里的html标签不对称,或者是有缺陷,这种方式就做不了了。
如果上边的看不懂,那看个简单的:
$retPromotionInfo=~s///g;
$retPromotionIn...
分类:
Web程序 时间:
2014-07-17 21:06:10
阅读次数:
381
题解:注意题目中规定取到最后一粒石子的人算输,所以是Anti-Nim游戏,胜负判断为:先手必胜: 1.所有堆的石子数都为1且游戏的SG值为0; 2.有些堆的石子数大于1且游戏的SG值不为0。#include int main(){ int t,n,s,x,tmp; scanf("%d...
分类:
其他好文 时间:
2014-07-17 11:09:17
阅读次数:
303
UVA 10561 - Treblecross
题目链接
题意:给定一个串,上面有'X'和'.',可以在'.'的位置放X,谁先放出3个'X'就赢了,求先手必胜的策略
思路:SG函数,每个串要是上面有一个X,周围的4个位置就是禁区了(放下去必败),所以可以以X分为几个子游戏去求SG函数的异或和进行判断,至于求策略,就是枚举每个位置就可以了
代码:
#include
#...
分类:
其他好文 时间:
2014-07-16 16:42:36
阅读次数:
350