
ACM_数论
文章平均质量分 77
9974
这个作者很懒,什么都没留下…
展开
-
HDU 4336 概率DP求期望(or容斥原理)
题意: 有N(1<=N<=20)张卡片,每包中含有这些卡片的概率为p1,p2,````pN. 每包至多一张卡片,可能没有卡片。 求需要买多少包才能拿到所以的N张卡片,求次数的期望。 可以用状态压缩dp来求概率,做过基本的概率dp后应该没什么问题 这里我主要说说容斥原理的解法。 如果一个事件发生的概率为p, 那么它第一次发生原创 2013-08-11 16:52:24 · 2421 阅读 · 0 评论 -
Open Ural FU Championship 2013 (2013区域赛练习)
这应该是欧洲的一场热身赛吧,题目有点水,而且都是1A,可以最后没有把F题调出来。C,E题目前还没A 1981 Parallel and Perpendicular Open Ural FU Championship 2013 131 355 1982 Electrification Plan Open Ural原创 2013-10-20 13:14:00 · 2138 阅读 · 5 评论 -
Codeforces Round #232 (Div. 1)(A,B,C,D)
比赛链接: http://codeforces.com/contest/396 代码链接: https://github.com/9974/Codeforces/tree/master/232div1 A 分解质因数, 对于每个质数单独考虑,假设质数2的指数为m, 那么我们要做的就是求 把m个2分配给n个数 的情况数 用高中的挡板法得 C[m+n-1][n], 每个质数是相互独立的原创 2014-02-28 19:34:43 · 1264 阅读 · 1 评论 -
hdu2815 扩展Baby step,Giant step入门
题意:求满足a^x=b(mod n)的最小的整数x。 分析:很多地方写到n是素数的时候可以用Baby step,Giant step, 其实研究过Baby step,Giant step算法以后,你会发现 它能解决 “n与a互质”的情况,而并不是单纯的n是素数的情况。如果a与n不是互质的,那么我们需要处理一下原方程,让a与n互质,然后再用Baby step,Giant step解出x原创 2013-09-20 11:14:24 · 1468 阅读 · 0 评论 -
HDU 1717 小数化分数2
http://www.cnblogs.com/183zyz/archive/2011/04/12/2013372.html View Code #include #includestring.h> int f(int x) { int i, sum = 1; for(i = 1; i ) sum *= 10; return sum;原创 2013-08-29 10:36:34 · 862 阅读 · 0 评论 -
HDU 1576 A/B 扩展欧几里德算法 模线性方程入门题
很详细的资料:http://blog.youkuaiyun.com/lulipeng_cpp/article/details/7612490 补充以下结论,自己推的,解释了以上博客里的疑惑。 方程ax+by=gcd(a,b),即 模线性方程ax≡d(mod b) ,令d = gcd(a,b)。假设 模线性方程的解为 x0, y0。 结论1:则有 max( abs(x0),abs(y0) ) 结论2原创 2013-08-29 10:37:26 · 958 阅读 · 0 评论 -
HDU 1060 Leftmost Digit 数学题
http://www.cppblog.com/LeoW/archive/2012/03/08/167427.html View Code #include #includestring.h> #include #define lld __int64 int main() { int i, j, cas; int n; scanf("%d", &ca原创 2013-08-29 10:36:37 · 848 阅读 · 0 评论 -
hdu1030 数学题
简单数学题,找规律,找到了就发现很水。 从三个角度看这个图,level,left,right,如下图,题目的答案就是3个图上2个点之间的层数的高度差之和。 例如 6 12 ,level=1,left=1,right=1,答案就是3。 例如 3 12 ,level=2,left=1,right=2,答案就是6。 View Code #include #include原创 2013-08-29 10:31:45 · 1082 阅读 · 0 评论 -
SGU 106 模线性方程
一气之下变量全变成__int64就A了,不知道为什么要会越界。 先考虑一些特殊情况。 其它情况解两个方程组即可 x1 y1 求出来的k值取相交部分。 #include #include #include #include using namespace std; #define LL __int64 // x1 = y2, y1 = x2 - (a/b) *原创 2013-03-08 21:22:12 · 1180 阅读 · 0 评论 -
hdu 4418 高斯消元解方程求期望
高斯消元求期望原创 2013-08-12 14:08:19 · 1705 阅读 · 0 评论 -
数论题大集合
转自:http://blog.youkuaiyun.com/linleiqin/article/details/5639910 1.burnside定理,polya计数法 这个大家可以看brudildi的《组合数学》,那本书的这一章写的很详细也很容易理解。最好能完全看懂了,理解了再去做题,不要只记个公式。 *简单题:(直接用套公式就可以了) pku2409转载 2013-08-11 15:07:45 · 2394 阅读 · 0 评论 -
hdu 4746 Bell 中国剩余定理+矩阵乘法+第二类斯特林数 (2013网络赛)
google “Bell number” 能得出以下结论:(注意p是质数) 题目中给的mod不是质数怎么办? 把它拆成多个质数(31, 37, 41, 43, 47)分别计算,然后用中国剩余定理合并一下。 n很大,我们先预处理出0--p的Bell数,然后矩阵乘法优化即可。 #include #include #include using namespace std原创 2013-10-02 21:04:55 · 1848 阅读 · 0 评论