12 2018 档案

摘要:题意:给定整数N,求1const int maxn = 1e7+10;int primes[maxn/10],v[maxn];long long phi[maxn],sum[maxn];int main(){ int cnt = 0; phi[1] = 1; for(... 阅读全文
posted @ 2018-12-28 15:27 Dr_Lo 阅读(153) 评论(0) 推荐(0)
摘要:简介:Miller_Rabin法是一种简便的素数测试方法,一般用于测试大数是否为素数。Miller_Rabin测试原理:如果n是素数,且与a互质,则 。(1)证明:请参考费马小定理证明方法。思路:依据上述原理,我们可以不断选取与 n 互质的 a ,如果上式(1)都成立... 阅读全文
posted @ 2018-12-25 11:33 Dr_Lo 阅读(285) 评论(0) 推荐(0)
摘要:1.背景1.1 结论在有序数组中查找某个值,或者在求最优解问题时,二分搜索非常有用。思想一般是先假定一个解,并判断是否可行,接着缩小解的范围继续判断。1.2 概念二分搜索法,是通过不断缩小解可能存在的范围,从而求得问题最优解的方法。在程序设计竞赛中,经常可以见到二分搜... 阅读全文
posted @ 2018-12-20 15:14 Dr_Lo 阅读(300) 评论(0) 推荐(0)
摘要:原题链接:POJ2456题意简述:求在1~N中选C个位置,每俩个位置之间距离最小的值最大化。思路:让距离最小的那个距离最大。可以看出来答案具有单调性,那我们就可以转求解为判定,用二分搜索来求结果。具体做法就是假定一个答案,再不断缩小答案范围,最终得到解。注意点:whi... 阅读全文
posted @ 2018-12-20 14:13 Dr_Lo 阅读(346) 评论(0) 推荐(0)
摘要:原题链接:POJ1064题意简述:有N根绳子,它们长度分别为Li。如果从他们中切割出K条长度相同的绳子的话,这K条绳子每条最长能有多长?答案保留到小数点后俩位。解题思路:用二分搜索方法来判断。首先假定一个解,判断其是否可行,不断缩小解的范围,从而得出答案。本题可以使用... 阅读全文
posted @ 2018-12-20 10:52 Dr_Lo 阅读(134) 评论(0) 推荐(0)
摘要:原题链接:POJ2311解析:作为书上的例题,用来练手,思路懒得说,主要熟悉代码写法。代码示例:#include#includeconst int maxn = 300;int sg[maxn][maxn];int vis[1000];int get_sg(int n... 阅读全文
posted @ 2018-12-16 16:39 Dr_Lo 阅读(179) 评论(0) 推荐(0)
摘要:例一:给定n堆物品,第 i 堆物品有 Ai 个。两名玩家轮流行动,每次可以任选一堆,取走任意多个物品,可把一堆取光,但不能不取。取走最后一件物品者获胜。两人都采用最优策略,问先手能否获胜。1.概念1.1 局面:游戏过程中面临的状态称为局面。1.2 先手与后手:整局游戏... 阅读全文
posted @ 2018-12-16 12:32 Dr_Lo 阅读(247) 评论(0) 推荐(0)
摘要:题目描述:小乐乐想要给自己搭建一个积木城堡。积木城堡我们假设为n*m的平面矩形。小乐乐现在手里有1*2,2*1两种地砖。小乐乐想知道自己有多少种组合方案。输入描述:第一行输入整数n,m。(1using namespace std;const int MAXN = 12... 阅读全文
posted @ 2018-12-05 13:52 Dr_Lo 阅读(300) 评论(0) 推荐(0)
摘要:思路:和整数快速幂一样,唯一不同的就是存放结果的矩阵初始值为单位矩阵,通过重载运算符*后,代码可以大大简化。另外需要注意的是取模问题,我把模M放在了全局变量,这样省却一些麻烦,可以根据自身需要调整,这个无伤大雅。代码示例:#include #include #in... 阅读全文
posted @ 2018-12-04 21:42 Dr_Lo 阅读(846) 评论(0) 推荐(0)