摘要: 当遇见只能去f[x]里的物品时,可以看成Fibonacci博弈,用SG函数就可以求出答案来。 HDU1848 任何一个大学生对菲波那契数列(Fibonacci numbers)应该都不会陌生,它是这样定义的:F(1)=1;F(2)=2;F(n)=F(n-1)+F(n-2)(n>=3);所以,1,2, 阅读全文
posted @ 2017-04-04 17:29 starry_sky 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 题目模型:有三堆各若干个物品,两个人轮流从某一堆取任意多的物品,规定每次至少取一个,多者不限,最后取光者胜。 思路:用(a, b, c)表示某种局势,显然(0, 0, 0)是第一个奇异局势(奇异局势就是a^b^c=0),无论谁面对奇异局势,都必输,即先手必输。第二中奇异局势是(0, n, n),每次 阅读全文
posted @ 2017-04-04 17:27 starry_sky 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 巴什博弈 问题模型:只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个,最后取关者获胜。 思路:当n=m+1时,由于最多取m个,最少取1个,所以先手无论取多少个,都输,即先手必输状态。所以但面临 n%(m+1) = 0 得到状态是,必输。而当是n = k(m+1) + s时 阅读全文
posted @ 2017-04-04 17:15 starry_sky 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 在数论,对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目(φ(1)=1)。此函数以其首名研究者欧拉命名(Euler'so totient function),它又称为Euler's totient function、φ函数、欧拉商数等。 例如φ(10)=5,因为1,3,5,7,9均和10互质 阅读全文
posted @ 2017-03-28 23:04 starry_sky 阅读(344) 评论(0) 推荐(0) 编辑
摘要: The sequence of n − 1 consecutive composite numbers (positive integers that are not prime and not equal to 1) lying between two successive prime numbe 阅读全文
posted @ 2017-03-27 21:48 starry_sky 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 快速幂是很快速求幂函数的方法。 用普通方法时间复杂度是O(n),而快速幂的时间复杂度是log(n),但n很大时,时间会明显的得到提升。 下面是模板: 不过,但我看到快速幂的推导时,我想到了用递归来做,代码量小,而且更容易理解。 下面是我写的递归模板: 下面贴一道相关的题目: lcy gives a 阅读全文
posted @ 2017-03-25 13:38 starry_sky 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 以前求0~n之内的素数是一个一个的判断,时间复杂度是O(n^2),速度很慢。 而今天讲的这种方法速度快多了,时间复杂度是nlong(n),模板如下: 1 a[0] = a[1] = 1; 2 for(int i = 2; i <= MAXN; i++){ 3 if(!a[i]){ 4 for(int 阅读全文
posted @ 2017-03-25 13:22 starry_sky 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 在学过正则表达式后,跟着老师实战了下“淘宝商品比价定向爬虫”和“股票数据定向爬虫”这两个。 一开始我想了下,思路好迷糊,不好从哪下手。在看了老师的教程后,才慢慢的理解了。下面是代码与效果 淘宝商品比价定向爬虫: 下面是效果: 股票数据定向爬虫: 效果的话先放这个吧,爬取时间有点慢 阅读全文
posted @ 2017-03-21 23:32 starry_sky 阅读(616) 评论(6) 推荐(0) 编辑
摘要: There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2). InputInput consists of a sequence of lines, each cont 阅读全文
posted @ 2017-03-19 16:58 starry_sky 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 今天学长教了递归,下面说说我对递归的一些理解。 以下面这个题目为例: 题目描述 Ø例5.2 求Fibonacci数列问题。─斐波那契数列指的是这样一个数列:─0、1、1、2、3、5、8、13、21、……─F[0]=0, F[1]=1, F[i]=F[i-1]+F[i-2], i>=2;编程输出前n个 阅读全文
posted @ 2017-03-18 20:18 starry_sky 阅读(950) 评论(0) 推荐(0) 编辑