
数论
文章平均质量分 73
Julyana_Lin
这个作者很懒,什么都没留下…
展开
-
hdu 4038 模拟+贪心 Stone
题意: 给一个数列,可以对这数列进行两种操作:A.使其中的一个数加1;B.增加1到这个数列。要求这个数列的乘积最大。思路:贪心+模拟。我觉得不够清晰。再理一遍。 1. 负数个数为奇数的时候我们把最大的负数变成0; 2.0是我们在这题当中很讨厌的东西(其他题也有卡0的,比如0!= 1,1对1的逆元是0),所以我们先将所有的精力集中对付0。原创 2012-08-29 14:17:49 · 930 阅读 · 0 评论 -
hdu - 4349 - Xiao Ming's Hope - 大大的Lucas定理 && 小小的乘法逆元
首先给出这个Lucas定理:A、B是非负整数,p是质数。AB写成p进制:A=a[n]a[n-1]...a[0],B=b[n]b[n-1]...b[0]。则组合数C(A,B)与C(a[n],b[n])*C(a[n-1],b[n-1])*...*C(a[0],b[0]) modp同余即:Lucas(n,m,p)=c(n%p,m%p)*Lucas(n/p,m/p,p)原创 2012-08-07 20:15:41 · 4584 阅读 · 0 评论 -
hdu 4394 Digital Square 记忆化搜索
传说,这是dfs,其实就是暴搜 + 不暴搜的剪枝。 如我们的n == 21; 那么,我们从个位数1开始搜, 1 * 1 == 1, 9 * 9 == 81,他们的个位数都是1,那么,1和9可以作为我们找的那个数的个位数。 然后我们就记忆一下这个我们找到的东西,放在ans里面。 下面我们开始搜第二位,设搜的是ab的a(其中,我们的b是已经记忆下来的个位)。原创 2012-08-23 21:07:55 · 1319 阅读 · 2 评论 -
hdu - 4228 - Flooring Tiles - dfs
对于任何正整数x,起约数的个数记做g(x).例如g(1)=1,g(6)=4.如果某个正整数x满足:对于任意i(0现在给一个N,求出不超过N的最大的反素数.比如:输入1000 输出 840思维过程:求[1..N]中约数在大的反素数-->求约数最多的数如果求约数的个数 756=2^2*3^3*7^1(2+1)*(3+1)*(1+1)=24基于上述结论,给出算法:按照质因原创 2012-10-22 16:52:51 · 722 阅读 · 0 评论 -
hdu - 4304 - Let's Hit Our Head! 莫名奇妙的数论
题意我觉得还是好理解的。 我感觉就是有n*n堆石头,有n个人,每人挑个石堆站在后面。三种操作:http://acm.hdu.edu.cn/showproblem.php?pid=4304 1. 人全部右移(石头不动)。 2. 人全部左移。 3. 将自己面前的石头全部用脑袋砸碎。满足条件: 1.左右移的时候不能移出去,就是每人面前都得有一堆石头,原创 2012-10-13 11:08:14 · 1672 阅读 · 0 评论 -
BNU - Square-Free Numbers
答案就是分解质因数求质数指数最大的。1A, 呵呵。Square-Free#include #define maxn 1000100int T,n;int prime[maxn];void getprime(){ prime[0] = 0; for(int i = 2; i < maxn ; i ++){ if(!prime[i]) prime[+原创 2012-10-08 17:48:28 · 940 阅读 · 0 评论 -
BNU - Consecutive Sums 公式与素数
连续数字,前面p个和后面q个相加相等。 已知q,问p有多少种。a - p , ..... a - 1, a, ....... , a + q - 1;p(a - p) + (p - 1 ) * p / 2 = q * a + (q - 1) * q / 2;2a = p + q + 1 + 2 * q * q / ( p - q) ; 右边肯定是个偶数。于是我们就讨论已知q,p的取法原创 2012-10-07 11:30:54 · 782 阅读 · 0 评论 -
BNU - Pair of Touching Circles - 数学题,找矩形
题意:给定一个矩形,问在这个矩形当中半径和圆心均为整数的相切圆有多少个。解:又是找矩形,给跪了。。。原来矩形这么有用的。。先枚举直角三角形直角边,得到斜边。枚举端点在斜边端点,在斜边相切的圆半径。由固定的斜边、两个圆得到固定的矩形。对于每个矩形,由于对称,所以要加2。还有另外一种情况,即直角三角形的一条边为0,那么枚举的斜边与矩形边平行,最后只加1.原创 2012-10-04 22:28:59 · 956 阅读 · 0 评论 -
BNU - Candles - 暴力枚举
题意:0-9 , ‘+’ 。 给定几个数字, 问最少用到的数字。 数字以从大到小的方式组成T输出。如果组成的数字个数一样,输出T大的。解:暴力枚举。关键就是看怎么枚举了。如何处理他要求的顺序的问题。原创 2012-10-05 09:50:05 · 681 阅读 · 0 评论 -
BNU Graceful Prime Decomposition 记忆化搜索
将n分成素数相加的形式,相加的素数必须小于k并且相加的素数不能连续出现。素数的顺序不同算是不同的相加方式。给定n,k,问素数相加的方式有几种?题目&&样例 打巨表过的,原来我对打表还不熟悉。看看下面写的,真是神奇!!!记忆化搜索,dp思想。。。#include #include #include #include #include #include #include原创 2012-10-03 09:33:55 · 659 阅读 · 0 评论 -
poj 3684 数学物理题 Physics Experiment
被代班和建模占据了大堆时间。现在开始继续做ACM了,终于开始做了。 这题韦广说是线段树,让我看看。看了之后觉得是推导的数学题。 所有的球都按第一个球算出来(除了没动的球),然后加上和第一个球的距离即可。参考http://hi.baidu.com/yningc/item/85eedbd80cc1e73ce2108f1d,然后代码也是他的。我就没敲了(c++能A,G++不能A)。原创 2012-09-13 10:13:26 · 1259 阅读 · 0 评论 -
hdu 3641 神二分 有木有
题意,告诉你一个数m,求最小的x!满足x!%m== 0;解: 将m的所有质数因子和质数因子的个数存起来。二分x,对于每个m的质因子p,x!的p的个数都大于等于m的质因子个数就行了。对于二分的上限还是得注意的。就因为这个wa了一个。二分的下限也得注意,从0开始。 二分真是好神!记得对于大数要写LL。/*Pro: 0Sol:date:*/#inclu原创 2012-08-28 15:16:19 · 1478 阅读 · 0 评论 -
hdu 4002 数论 打表找规律 Find the maximum
题意:给出一个整数n,求一个数x,x在1到n之间,并且x/φ(x)最大(此中φ(x)为x的欧拉函数)。思路:由欧拉函数为积性函数,即:若是gcd(m , n) == 1,则有φ(m * n) == φ(m) * φ(n);且由 φ(p^k) == (p - 1) * p^(k - 1),可得φ(n) == φ(p1^k1 * p2^k2 * p3^k3 * … * pt^kt)原创 2012-08-27 16:52:14 · 1239 阅读 · 0 评论 -
hdu 4373 组合数学
http://acm.hdu.edu.cn/showproblem.php?pid=4373哎,多校的题。感觉是个很简单的数学问题,但是比赛的时候肿么都想不出来。今天决心把它给做了。哎,原来以为是一道简单数学题呢,还用到Lucas,还用到中国剩余定理啊,哎。。。于是我就去研究研究了一下中国剩余定理。终于懂了。参见黑书p230页。怎么描述中国剩余定理的解法呢,我想想。对于两个原创 2012-08-22 09:33:50 · 1052 阅读 · 3 评论 -
hdu 4061 数学(结论简单)
还是YY难求。wa的原因是将逗号写成了分号。。。答案是第一个数/总的数的和。 http://blog.youkuaiyun.com/tclh123/article/details/6849679其实就是M种牌放到M堆里,M种牌和M堆都是从1~M编号的。输入 M, 然后输入M个数,表示M种牌分别有多少张,同时也表示M堆分别的最大容量是多少。游戏是这样玩的,从第一堆开始由顶向下取(简单起见),取到的牌属于原创 2012-08-31 09:55:39 · 851 阅读 · 0 评论 -
hdu 4365 瞎涂颜色 数论
这题给一个n*n的正方形涂色,使之成为又中心对称又轴对称的图形。 给出了m点已经涂色,会告诉你他们的坐标。 再告诉你用k种颜色涂。不考虑已经涂色的情况: 这题是一圈一圈地考虑,对于每个圈,只考虑一条边的一半,即(n + 1) >> 1; 对于每一圈都如此。 那么总的可以由k种颜色中任意涂的个数total是1 + 2 + 3原创 2012-08-14 19:54:10 · 771 阅读 · 0 评论 -
hdu 4364 矩阵乘法
矩阵乘法都忘了,伤不起。是第一行和第一列每个对应的位置相乘得到第一个位置的数。忘了的结果就是肿么都看不懂为什么会有三个for。http://zh.wikipedia.org/wiki/%E7%9F%A9%E9%99%A3%E4%B9%98%E6%B3%95题意: 矩阵乘法里面的加改成了异或,乘法定义是: 与1相乘不变,与2相乘往左移一位,与3相乘是往左移原创 2012-08-18 10:06:39 · 602 阅读 · 0 评论 -
hdu - 4345 - Memory Control - 数论
http://acm.hdu.edu.cn/showproblem.php?pid=4345问题即是求相加小于等于n的质数的最小公倍数有几个。推荐网站:http://oeis.org/,只需将前面几个数字的答案输入,即可得出序列,打表即过(每想到这里,我就想笑)。 解题报告说用记忆化搜索,没想明白,估计就是跟dp差不多,用前面的去推后面的。今晨参悟http://blog.c原创 2012-08-08 11:48:54 · 1358 阅读 · 0 评论