acm算法之数论
魔法自动机
硕士在读,做医疗软件开发和医学图像处理。
空闲时间,做Unity相关的Demo。
展开
-
acm专题学习之博弈(一)常见的博弈
一、巴什博弈(Bash Game)情形:只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。当n = m + 1,我们假设第一个人拿走了k个, 还剩下 m + 1 - k。 因为1<=(m + 1 - k)<= m, 所以, 剩下的部分一定可以被第二个人一次性取走。会发现:当n=(m+1)* r+s(r∈ N,s<= m),...原创 2019-02-13 12:23:44 · 386 阅读 · 0 评论 -
acm专题学习之博弈(二)SG(Sprague-Grundy)+Gym - 101954H Split Game
基础知识:1公平组合博弈(ImpartialCombinatoriGames)(ICG)两人参与 游戏局面状态集有限 两个玩家轮流操作 面对同一个局面,两个玩家可操作的集合完全相同(象棋就不是,因为每个人只能移动自己的棋子) 当没有操作可操作时,游戏结束 不管双方如何操作,游戏总能再有限操作数后结束2 把ICG局势间的关系抽象成一个有向无环图任何一个ICG都可以通过把...原创 2019-02-19 23:27:13 · 337 阅读 · 0 评论 -
acm专题学习之数学(一)分解质因数+URAL - 2102
题目:数字N(1e18),其分解后(N=a1^p1*a2^p2...),问幂的和(p1+p2+p3...)是否为20。思路:暴力+优化:通过观察1e6*1e6*2^18>2e18,会发现最多只有一个大于1e6的因子,那么可以只求1e6范围内的质因子,然后如果过了1e6后和的数量还为19,那么只需要判断除后剩下的是不是质数。 分解质因子+优化:套用分解质因子模板,在后面不可能再有20...原创 2019-07-11 00:15:57 · 862 阅读 · 0 评论 -
acm专题学习之博弈(三)实战+URAL - 2104
题意:Alice和Bob在玩一个游戏,这个游戏有个纸条,纸条的两面有相同长度且由AB组成的字符串。每次其中一个人可以对折一次纸条,直到不能再对折为止。如果最后纸条表面全是A则Alice获胜,如果全是B则Bob获胜,如果都不是则平局输出Draw。Alice为先手。思路:dfs搜索,但是这里也用到了博弈的知识。对折每次只有偶数才能对折,那么结束条件就是纸条长度为奇数的时候。这种两面对折,可以不用分...原创 2019-07-11 11:14:23 · 186 阅读 · 0 评论 -
acm专题学习之数学(二)康托展开+CodeChef - STFM
题意:给你一个公式F(x) = 1 × (1! + x) + 2 × (2! + x) + · · · + x × (x! + x),n个pi,计算F(p1) + F(p2) + · · · + F(pn),然后结果模m。康拓展开:X=a[n]∗(n−1)!+a[n−1]∗(n−2)!+...+a[i]∗(i−1)!+...+a[1]∗0!含义:设有n个数(1,2,3,4,…,n),可以有...原创 2019-07-14 11:27:44 · 217 阅读 · 0 评论 -
acm专题学习之数学(三)高斯消元+Gym - 100008E
题意:给你矩阵大小n×m,让你求出一个0/1矩阵,它的上下左右加上自己1的个数为偶数,且矩阵尽量不为全0。是多case。条件:上下左右加上自己1的个数为偶数 矩阵尽量不为全0思路:会发现只要知道了第一行的排列那么就可以推出剩下所有行,这个时候很容易想到之前学的翻转问题,利用第一行状压枚举,但是会发现m的范围40,2^40暴力是不可能的。这时候会发现既然能够推出下一行,且n+1行全为0,...原创 2019-07-24 22:58:25 · 361 阅读 · 0 评论