
算法
文章平均质量分 80
论菜鸟的自我修养
凡事不能将我们毁灭,必使我们更强大
展开
-
线段相交之精粹和交点问题
博主今天听了一句话,感觉好有内涵。。。“待你征服宇宙,给我一个地球可好” 。。。。/*线段相交 2016/5/16*/#include #include #include #define def 1e-6struct Point{ double x;double y;};struct Line{ Point v1; Point v2;};int原创 2016-05-16 16:11:39 · 366 阅读 · 0 评论 -
关于博弈论基础知识的一些总结
文章PDF文档:链接地址博弈论是二人或多人在平等的对局中各自利用对方的策略变换自己的对抗策略,达到取胜目标的理论。基础的基础a) 当前执行者想赢。这个是必要的,有时候题目中判别胜负的条件会与平时练习的恰好相反,此时你就应该按照题目要求思考,即在经典模型中思考当前执行者想输的策略。b) 定义P-position和N-position,其中P代表Previous,N代表转载 2016-07-23 18:51:11 · 2290 阅读 · 0 评论 -
博弈论(一):Nim游戏
重点结论:对于一个Nim游戏的局面(a1,a2,...,an),它是P-position当且仅当a1^a2^...^an=0,其中^表示位异或(xor)运算。Nim游戏是博弈论中最经典的模型(之一?),它又有着十分简单的规则和无比优美的结论,由这个游戏开始了解博弈论恐怕是最合适不过了。Nim游戏是组合游戏(Combinatorial Games)的一种,准确来说,属于“Impart转载 2016-07-23 21:15:57 · 406 阅读 · 0 评论 -
博弈论(二):Sprague-Grundy函数
上一期的文章里我们仔细研究了Nim游戏,并且了解了找出必胜策略的方法。但如果把Nim的规则略加改变,你还能很快找出必胜策略吗?比如说:有n堆石子,每次可以从第1堆石子里取1颗、2颗或3颗,可以从第2堆石子里取奇数颗,可以从第3堆及以后石子里取任意颗……这时看上去问题复杂了很多,但相信你如果掌握了本节的内容,类似的千变万化的问题都是不成问题的。现在我们来研究一个看上去似乎更为一般的游戏:给定转载 2016-07-23 21:16:46 · 336 阅读 · 0 评论 -
省时间算法整理
读入int:int read(){ int res(0),sign(1); char c; while(1){ c = getchar(); if('0' <= c && c <= '9') { res = c - '0'; break; } else if(c == '-') { sign = -1; break; } } while(1){ c = getchar(); if('原创 2016-07-19 19:33:27 · 385 阅读 · 0 评论