HDU 3537 Daizhenyang's Coin(博弈-sg)
题目大意:
有一排硬币,告诉 你n个正面朝上的硬币的位置,你可以选择任意位置的1~3个硬币翻转一下,但是问你先手是否会输。
解题思路:
通过求sg发现规律
sg 1 2 4 7 8 11 13 14
x 0 1 2 3 4 5 6 7
找到规律,sg[x],如果x的二进制1的个数为奇数,sg[x]=2*x ,否则 sg[x]=2*x+1;
然后把各个Sg的值异或最终就是答案...
分类:
其他好文 时间:
2014-07-08 20:25:49
阅读次数:
149
旋转可以分为n种置换,对应的不同等价类分别是gcd(n,i)个i=0时不动,有n个
翻转分为奇偶讨论,奇数时有n种置换,每种有n/2+1个
偶数时有n种置换,一半是n/2+1个,一半是n/2个
#include
#include
#include
#include
#include
#include
using namespace std;
typedef long long ll;...
分类:
其他好文 时间:
2014-07-08 19:05:15
阅读次数:
163
两种方法翻转一个整数,顺序翻转和递归翻转这里没考虑overflow的情况递归的作用是使得反向处理,即从递归栈的最低端开始处理,通过画图可得。如果是rec(num/10):123451234123121 package recursion;
public class Reverse_digits_of_a_number {
public static void main(Str...
分类:
其他好文 时间:
2014-07-08 18:34:14
阅读次数:
208
检测链表是否是palindrome.思路1:翻转并比较。思路2:迭代。思路3:递归。 public static boolean isPalindrome(LinkedListNode head) { LinkedListNode fast = head; Link...
分类:
其他好文 时间:
2014-07-08 17:15:57
阅读次数:
267
一种方法是先翻转当前数,然后把它和原数比较(略)另一种是递归方法,借用一个复制数,对原数递归,使之翻转,然后配合复制数比较package recursion;
public class Check_if_a_number_is_palindrome {
public static void main(String[] args) {
int num = 121321;
System....
分类:
其他好文 时间:
2014-07-08 17:13:55
阅读次数:
188
def reverse(head):
if head == None or head.next == None:
return head
psuhead = ListNode(-1)
while head:
nexthead = head.next
head.next = psuhead.next
psuhead.next = head
head = nexthead
...
分类:
其他好文 时间:
2014-07-08 15:27:58
阅读次数:
183
一块N x N(1
1:转90度:图案按顺时针转90度。
2:转180度:图案按顺时针转180度。
3:转270度:图案按顺时针转270度。
4:反射:图案在水平方向翻转(以中央铅垂线为中心形成原图案的镜像)。
5:组合:图案在水平方向翻转,然后再按照1到3之间的一种再次转换。
6:不改变:原图案不改变。
7:无效转换:无法用以上方法得到新图案。...
分类:
其他好文 时间:
2014-07-08 14:33:24
阅读次数:
161
明确递归语句之前的语句都是顺序执行,而递归语句之后的语句都是逆序执行package recursion;
import java.util.Stack;
public class Reverse_a_stack_using_recursion {
/*
Input stack:
3
2
1
Output stack:
1
2
3
*/
public s...
分类:
其他好文 时间:
2014-07-08 13:39:49
阅读次数:
143
陆陆续续几个月下来,终于把题刷完了,过程中遇到的python的题解很少,这里重新用python实现下,所以题解可能都是总结性的,或者是新的心得,不会仅针对题目本身说的太详细。
def reverseWords(self, s):
s = ' '.join(s.split()[::-1])
return s
[ : : -1 ] 是将元素进行翻转...
分类:
编程语言 时间:
2014-07-06 00:37:50
阅读次数:
299
http://acm.hdu.edu.cn/showproblem.php?pid=1882感觉非常不错的一道题。给一个n*m(1=2)行j列翻转情况受上一行的制约,仅仅有当上一行也是‘X’的时候,该行j列才干翻转,使i-1行j列变为‘.’,否则i行j列不能翻转。依次进行下去,当最后一行全变为白色,...
分类:
其他好文 时间:
2014-07-05 21:11:36
阅读次数:
180