
数论基础
liujc_
这个作者很懒,什么都没留下…
展开
-
埃氏筛法,区间筛法,hdu 2136
埃氏筛法: 目的:找出0~n这个区间内有几个质数,哪些是质数 做法:遍历2~n这个区间 如果是素数在用一个循环将表中所有该素数的倍数都划掉,最后留下来的就都是素数。 区间筛法: 目的:找出a~b这个区间有几个质数,哪些是质数 做法: 在筛出[0,[0,sqrt(b)))之间的素数的同时,将在[a,b)[a,b)这个区间的之中的该素数的倍数都划掉。常用与a,b都很大,但是b-a较小时。可原创 2015-07-29 16:35:04 · 841 阅读 · 0 评论 -
快速幂取模 例题uva10006
快速幂取模算法学习:运用地方: 求解a^b%c的操作,如果a,b都不大当然可以直接进行操作,但是如果a,b都比较大的时候,首先幂次起来有可能会变成大数,操作起来不方便,对于每次计算都是一个O(n)的复杂度,进行很多次这样的求解的话复杂度就会太高。所以需要用到更快捷的方法。 前提知识->模运算的基本性质: 如果a%n=c%n且b%n=d%n,那么就有 1. (a-b)%n = (c-d)%n原创 2015-07-31 10:55:15 · 762 阅读 · 1 评论 -
hdu 4548 素数打表
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4548 方法:筛法打表,再将是素数的中判断是不是美素数。比较裸。但是就是一开始这样做会超时。重新用一个数组来保存到当前数字时已经出现了几个美素数,最后将区间两端所对应的相互减一下就可以了。#include <iostream>#include <cstdio>#include <cstring>usi原创 2015-08-03 15:04:09 · 702 阅读 · 0 评论 -
hdu 5651 组合数学+费马小定理求逆元
http://acm.hdu.edu.cn/showproblem.php?pid=5651 给定字符串,判断任意交换顺序,能产生几个回文串。 先判定0,如果有超过一个字母出现的次数那么就是不可能的。 求个数就是用排列组合了。#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using n原创 2016-04-22 13:24:33 · 453 阅读 · 0 评论 -
Codeforces554C组合数学+费马小定理求逆元
http://codeforces.com/contest/554/problem/C 有k种颜色的气球,每种有ci个。 i颜色的最后一个气球必须在i+1颜色的最后一个气球的前面。 设总共有tot个气球。 考虑最后一种颜色的最后一个球必须放在最后面。最后一种颜色有c[k-1]个气球,所以方法为C(c[k-1]-1,tot-1)。保证最后一个球在最后。 此时总共还剩tot-c[k-1]个球。原创 2016-04-22 13:32:01 · 423 阅读 · 0 评论