数学
文章平均质量分 69
韩小侠
这个作者很懒,什么都没留下…
展开
-
POJ1183 公式推导
题解:从题目的公式开始1 1/a=(1/b+1/c)/(1-1/b*1/c)化简得 1/a=(b+c)/(b*c-1)令y=b+c c=y-b带入 得y=(b*b+1)/(b-a)令b-a=t b=t+a y=t+2*t+(a*a+1)/t 则t=sqrt(a*a+1)时y最小值 那么枚举t从sqrt(a*a+1) 开始向左枚举能整除即为答案 看了别人的题解原创 2012-10-22 13:32:53 · 881 阅读 · 0 评论 -
POJ1830高消
开关问题Time Limit: 1000MS Memory Limit: 30000KTotal Submissions: 4088 Accepted: 1433Description有N个相同的开关,每个开关都与某些开关有着联系,每当你打开或者关闭某个开关的时候,其他的与此开关相关联的开关也会相应地发生变化,即这些相原创 2012-09-13 20:30:30 · 4120 阅读 · 0 评论 -
HDU 2050 分割问题
有结论根据公式就可以。#include using namespace std;int main(){ int t;long long n; cin>>t; while(t--) cin>>n,cout<<2*n*n-n+1<<endl; return 0;}原创 2013-10-11 21:44:20 · 832 阅读 · 0 评论 -
POJ1222高斯消元
EXTENDED LIGHTS OUTTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 4731 Accepted: 3117DescriptionIn an extended version of the game Lights Out, is a p原创 2012-09-13 19:55:37 · 1898 阅读 · 0 评论 -
HDU1028 拆分数母函数
Ignatius and the Princess III Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)原创 2012-10-15 18:34:24 · 1004 阅读 · 0 评论 -
POJ2965高消+搜索
The Pilots Brothers' refrigeratorTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 12909 Accepted: 4833 Special JudgeDescriptionThe game “The Pilots B原创 2012-09-14 09:44:40 · 3702 阅读 · 0 评论 -
POJ1753高斯消元+枚举
Flip GameTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 20337 Accepted: 8821DescriptionFlip game is played on a rectangular 4x4 field with two-sided piec原创 2012-09-13 20:14:12 · 1598 阅读 · 0 评论 -
HDU2082 母函数
找单词 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total原创 2012-10-12 10:37:48 · 607 阅读 · 0 评论 -
HDU 4305 无向连通图的生成树个数 矩阵行列式取模
题意:给出n个人和他们的坐标,闪电随机劈到一个机器人,在他周围的与他距离不超过r的机器人会被传播,但是三点共线的情况只能传染最近的那个,传染后的有多少种情况。也就是无相连通图的生成树的个数。对于一个无向连通图来说,它可能有很多生成树,那么如何求得它的生成树个数呢?首先给出一个非常一般的计算方法 -- 矩阵行列式法对于任何一个顶点数为n的无向连通图,我们列出一个矩阵。原创 2013-05-29 09:26:23 · 1643 阅读 · 0 评论 -
POJ3185高斯消元
The Water BowlsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 3372 Accepted: 1315DescriptionThe cows have a line of 20 water bowls from which they drink.原创 2012-09-14 09:31:21 · 1283 阅读 · 0 评论 -
POJ 1256 全排列函数
题目要求是按照给出的字母顺序进行全排列并非是ASCII的顺序 可以用STL的全排列函数 这道题可以对全排列函数有更深一步的理解 那就是构造cmp函数等同sort一样 给出明确的大小顺序就可以比较#include #include#include#includeusing namespace std;int cmp(char a,char b){ if(a>='a'&&b>=原创 2013-01-23 11:36:31 · 735 阅读 · 0 评论 -
POJ1833 next_permutation函数应用
排列Time Limit: 1000MS Memory Limit: 30000KTotal Submissions: 13140 Accepted: 5451Description题目描述: 大家知道,给出正整数n,则1到n这n个数可以构成n!种排列,把这些排列按照从小到大的顺序(字典顺序)列出,如n=3时,列出原创 2012-10-10 16:56:47 · 529 阅读 · 0 评论 -
POJ2084 catalan数
Game of ConnectionsTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 6323 Accepted: 3258DescriptionThis is a small but ancient game. You are supposed to原创 2012-10-09 20:38:14 · 771 阅读 · 0 评论 -
POJ1681高消+搜索
Painter's ProblemTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 3484 Accepted: 1718DescriptionThere is a square wall which is made of n*n small square br原创 2012-09-13 20:21:44 · 4215 阅读 · 0 评论 -
POJ2947高斯消元+同余方程
Widget FactoryTime Limit: 7000MS Memory Limit: 65536KTotal Submissions: 3453 Accepted: 1139DescriptionThe widget factory produces several different kinds of widgets原创 2012-09-16 11:07:28 · 1584 阅读 · 0 评论 -
URAL 1133 二分
给出广义斐波那契数列的任意两项,让求这个斐波那契数列的其他项。这题解方程的话精度不够所以二分求出f[a+1]这一项的值。二分的时候如果超范围直接跳出。再通过f[a]与f[a+1]求出任意一项。写得好挫啊。#include #include#include#includeusing namespace std;int judge(long long x,long long a,原创 2013-10-01 16:45:46 · 854 阅读 · 0 评论 -
POJ1775
差一点用DP做了 注意0的阶乘是1 总觉得思维不够开阔 这题问一个非负数是否是不同的数的阶乘组成的 可以循环一遍就出结果的 从大到小循环。。#include #includeusing namespace std;int main(){ int a[10],n; a[0]=1; for(int i=1; i<=9; i++) a[i]=a[原创 2013-01-08 18:12:28 · 759 阅读 · 0 评论 -
POJ1401 数学N!因子分解
这题很水 就是问N!中 末尾0的个数 其实就是问 N!有多少个10相乘 10=2*5 而N!这些因子化为素因子相乘的形式 2的个数显然比5多 所以只需要计算N!里有多少个5就行了 比如100里有 5 10 15 20 25 30 35 40 45 50 55 60 65 70 。。。而25 50 75 100这种里面有两个5 125有3个5 知道这些就能编了。。#include原创 2013-01-08 12:26:24 · 617 阅读 · 0 评论 -
POJ 3219 二项式系数奇偶性的判定
这题想了很久 因为题里的给了递推公式 但是数据范围太大 用不了递归打表的 然后上网发现了这个 其实还有N!/(K!(N-K)!)分别求出 N! K! (N-K)!中因子2的个数 如果N!中2的因子个数大于后两项的和 那么就是偶数 如果等于就为奇数 判定准则Cn^m(m≤n)的奇偶性取决于m和n—m的二进制表达式中是否存在位于同一数位上的两个数码都是1,如果存在,Cn^m是偶数,否原创 2013-01-08 14:04:43 · 1129 阅读 · 0 评论 -
POJ 2042 暴力打表
题目描述让求出一个数最多4个数的平方和组成有多少种 暴力打表直接出来了#include #include#includeusing namespace std;int ans[33000];int main(){ int n; memset(ans,0,sizeof(ans)); for(int i=0; i<=181; i++) for(int原创 2013-01-29 14:32:35 · 790 阅读 · 0 评论 -
POJ2229 递推
这题明显递推 但是找了好久才找出来 很明显的是n为奇数的时候 n=n-1的偶数答案一样n为偶数的时候 答案为 上一个偶数是情况 +1 +1 还有n/2 的情况同一 *2 所以h[n]=h[n-2]+h[n/2]#include #include#includeusing namespace std;int d[1000005];int main(){ d[1]=1;原创 2013-01-07 21:31:04 · 556 阅读 · 0 评论 -
HDU 4342 水数学
题意:给出一个n,需要求出第n个非完全平方数m,和前m个数的开方取下整数。这题首先能发现 i^2 之前有 i^2-i个非完全平方数,所以只要找出相邻的一个区间里存在n就可以确定第n个数的值m。再根据m取下整找出和就可以,貌似%lld是超时的,所以我很贱的打了个表。#include #include#include#includeusing namespace std;long l原创 2013-07-01 13:33:53 · 876 阅读 · 0 评论 -
HDU 4355 三分
题意:在一维数轴上给出点,每个点到求的那一点的距离为s,那么他的不高兴值就是s^3*w[i],求导可以得出类似一个凹的图像,三分法求出的最小值。#include #include#include#include#includeusing namespace std;#define eps 1e-4int n,t;double x[50005],w[50005];double原创 2013-07-20 14:16:12 · 828 阅读 · 0 评论 -
HDU 4382 矩阵乘法
题意:给出ADD SET MUL 操作,问你循环N次(N为大数),c2的结果,对1e9+7取模。把每个操作转化成矩阵,相乘后根据费马小定理矩阵高次幂取模就行了。转化的过程我的答案真在后面所以把字符串先存起来倒着乘的,如果答案阵在前那么就正这乘就行了。#include #include#include#includeusing namespace std;const int M原创 2013-07-29 13:13:36 · 938 阅读 · 0 评论 -
HDU 4549 矩阵连乘
M斐波那契数列F[n]是一种整数数列,它的定义如下:F[0] = aF[1] = bF[n] = F[n-1] * F[n-2] ( n > 1 )现在给出a, b, n,你能求出F[n]的值吗?输出F[n]对1000000007取模后的值即可不难推出 f(n)=a^fib(n-2)*b^fib(n-1)%1000000007,所以通过欧拉定理或者费马小定理降幂,再用快速幂原创 2013-06-19 13:53:40 · 1079 阅读 · 0 评论 -
HDU 3936 斐波那契性质矩阵连乘
题意:p[i]=fib[4*i-1] 给出L,R,求出中间的p[i]的和。利用性质:p[1]+p[2]+...+p[n]=f[1]^2+f[2]^2+...+f[2*n-1]^2+f[2*n]^2=f[2*n]*f[2*n+1]fibonacci数列的性质:1.gcd(fib(n),fib(m))=fib(gcd(n,m))证明:可以通过反证法先证fibonac原创 2013-07-19 11:32:42 · 974 阅读 · 0 评论 -
NEFU 41 斐波那契性质
题意:f[1] = 1; f[2] = 2;f[n] = f[n - 1] + f[n - 2];And s[n] is defined: ans = as[x] % n;根据性质:f[0]^2+f[1]^2+...+f[n]^2=f[n]*f[n+1] ans=a^(f[x]*f[x+1]-1)%n再根据欧拉定理向下降幂就可以了。#include #include原创 2013-08-05 19:04:48 · 717 阅读 · 0 评论 -
HDU 2522 有理分数的循环节
题意:输出1/n. (是循环小数的,只输出第一个循环节).直接模拟除法了。。#include #include#include#includeusing namespace std;bool a[200000];int main(){ int n,t,div; scanf("%d",&t); while(t--) { memse原创 2013-08-23 16:17:03 · 1465 阅读 · 0 评论 -
POJ1146
这题就是求字典序的下一个排列 用STL里的next_permutation函数就能轻松解决 处理过这种问题 在加上sort函数 很巧妙的解决了问题#include #include#include#includeusing namespace std;int main(){ char yl[55],as[55]; while(~scanf("%s",yl)&&原创 2013-01-08 19:56:26 · 674 阅读 · 0 评论