上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 48 下一页
  2012年10月17日
摘要: http://acm.timus.ru/problem.aspx?space=1&num=1180简单博弈 把前16个写出来就会发现 3 的倍数是奇异状态 因为 3 的倍数不可能为 2^k 要证明 3 的倍数为奇异状态 可以用数学归纳法。代码:import java.util.*;import java.math.*;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); BigInteger n, m; BigInteger k = new Bi 阅读全文
posted @ 2012-10-17 16:47 夜-> 阅读(144) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1809这个题是 “A New Tetris Game” 的升级版第一 需要用SG处理第二 需要记录状态由于有多个棋盘 所以要对应到 S-Nim 里面的值 而且数据变多了 简单的dfs会超时,需要记录状态,我是用map< , >来记录的代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<vector>#include<queue& 阅读全文
posted @ 2012-10-17 11:04 夜-> 阅读(202) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1524博弈 用SG处理#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<vector>#include<queue>#include<map>#include<stack>#include<algorithm>#include<cmath>using namespace std;//#pra 阅读全文
posted @ 2012-10-17 09:38 夜-> 阅读(150) 评论(0) 推荐(0) 编辑
  2012年10月16日
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1760dfs+ 博弈代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<vector>#include<queue>#include<map>#include<stack>#include<algorithm>#include<cmath>using namespace std;//#p 阅读全文
posted @ 2012-10-16 21:44 夜-> 阅读(129) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1729SG处理 博弈在 容量为 c ,现有数量为 s 的情况下特殊情况:s==0 则 return 0; 否则:找到一个整数 t ,t 满足 t+t*t<c 而已 (t+1)+(t+1)*(t+1)>=c ,这样的话 从 t+1 到 c-1 都为必胜态 而 s==c 时为必败态只要 s 在 t+1 <= s <= c 它对应到S-Nim里面的 值就是 c-s因为 这时的 s 可以到达 s-1,s-2,s-3,.......,c. 归纳一下的话 就是 c-s但如果 s <= t 则 阅读全文
posted @ 2012-10-16 20:41 夜-> 阅读(175) 评论(0) 推荐(0) 编辑
  2012年10月15日
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1536S-Nim 博弈 需要用SG 处理最简单的S-Nim博弈是 每一堆可以任取正整数个 比如说 k 可以变成 k-1,k-2,k-3,······0本题所可以取的数量有了限制 所以要SG处理 把原始数量可以对应到 S-Nim 里面的数量 是多对一的关系如果原始数量n取过之后可以变成 S-Nim 里面的0,1,2,3,4,····· k-1 而没有 k 的话 那么n就对应到 S-Nim里面的 k然后就 阅读全文
posted @ 2012-10-15 22:04 夜-> 阅读(191) 评论(0) 推荐(0) 编辑
  2012年10月10日
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1404DP + 博弈论找奇异状态 能到达奇异状态的为 非奇异状态 怎么走都到非奇异状态的为奇异状态代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<vector>#include<queue>#include<map>#include<stack>#include<algorithm>using 阅读全文
posted @ 2012-10-10 10:35 夜-> 阅读(132) 评论(0) 推荐(0) 编辑
  2012年10月9日
摘要: http://202.113.2.5:57778/toj/showp1017.htmlDP (状态压缩+记忆化搜索) + 博弈论基本思路:用状态压缩表示 那些是还可以选的 哪些是不可以选的在更新过程中 标记 是否是奇异状态代码及其注释:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<vector>#include<queue>#include<map>#include<stack>#include 阅读全文
posted @ 2012-10-09 20:18 夜-> 阅读(181) 评论(0) 推荐(0) 编辑
摘要: http://202.113.2.5:57778/toj/showp1410.html找奇异状态代码:import java.util.*;import java.math.*;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n, m; while (true) { n = in.nextInt(); m = in.nextInt(); if (n == 0 && m == 0) { break; } int... 阅读全文
posted @ 2012-10-09 16:36 夜-> 阅读(133) 评论(0) 推荐(0) 编辑
  2012年10月8日
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2147关键在于找奇异状态 (1,1) 是奇异状态 可以一步道奇异状态的 为非奇异状态 必须到非奇异状态的是奇异状态代码:import java.util.*;import java.math.*;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n, m; while (true) { n = in.nextInt(); m = in.next... 阅读全文
posted @ 2012-10-08 20:05 夜-> 阅读(118) 评论(0) 推荐(0) 编辑
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 48 下一页