数学
bllsll
巴拉拉,起飞。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Colossal Fibonacci Numbers! 巨大的斐波那契数 UVA - 11582
给你a b n,然后让你计算f(a^b)%n的值 这个题做了蛮久。首先是对这么大的数不知所措。计算f(a^b)%n,首先a^b,就已经很大了好吧,其中0<=a,b<2e64,都超过long long 的范围了。然后参考了下dalao 们的博客,这个主要是发现斐波那契数列模上一个数之后,是会出现循环的。因为f[i]是由f[i-1],f[i-2]推出来的,如果f[i-1]和f[i-2]出现过了,即出现原创 2017-06-26 14:58:34 · 529 阅读 · 0 评论 -
Disgruntled Judge UVA - 12169 (暴力或者拓展欧几里得)
这里数据太水了吧,暴力竟然都可以过。 然后第二种方法是拓展欧几里得。 题意:给你T组数据 x[1],x[3],x[5]…x[2*T-1]x[i]=(a*x[i-1]+b)%10005; 让你输出x[2],x[4],…x[2*T];枚举a,然后通过x[1],x[3]求b,然后验证符不符合。这里b只用一组解就行了,因为b=y0+10001*k,之后会被约掉wa,这里有一个坑点,就是会报PE,因为UV原创 2017-06-26 20:34:48 · 276 阅读 · 0 评论 -
Minimum Sum LCM 唯一分解定理+求质因数UVA - 10791
题意:给你一个数n,问以n作为最小公倍数的数的和最小是?(至少为两个数)这个一看就要用到唯一分解定理。怎么求质因数呢?和上一道题一样,打个表?可是数的范围到了 2^31-1。方法见代码然后还要注意 1的情况,以及只有一个质因数,以及 2^31-1也是一个质数,然后会暴int#include <iostream> #include <cstring> #include <algorithm> #in原创 2017-06-27 12:54:51 · 348 阅读 · 0 评论 -
Choose and divide唯一分解定理/分解/直接 UVA - 10375
题意:给你p,q,r,s 求: C(p,q)/C(r,s); p,q,r,s的范围在10000,然后结果在1e8. 看书,这里用到了唯一分解定理,其实就是让n!的因子尽量少,会有精度问题。然后不一定是质因子,但是质因子的时间比较短~ 还有一种方法是直接除,因为c(p,q),它的分子分母的个数是一样的。//唯一分解定理#include <iostream> #include <cstring原创 2017-06-27 13:19:29 · 252 阅读 · 0 评论 -
GCD XOR 求约数以及推论 UVA - 12716
题意:给你一个N,输出有多少对 < A,B>,满足A XOR B= GCD (A,B); (1<=B<=A<=N)。 参考http://www.cnblogs.com/naturepengchen/articles/3952145.html有几个结论:(1)若 a xor b = c,则 a xor c = b。 (2)a - b <= a xor b,(a >= b) (3原创 2017-06-27 14:59:50 · 335 阅读 · 0 评论 -
Irrelevant Elements UVA - 1635 唯一分解定理
就是看c(n-1,i)中那些数可以被m整除。 直接乘再来除这样数太大了。用c(n,i)=n-i+1/i *c(n,i-1);递推。然后看m的唯一分解的质因数在c(n,i)中出现的次数。#include <iostream> #include <cstring> #include <algorithm> #include <cstdio> #include <cmath> #include <vec原创 2017-07-06 09:42:13 · 308 阅读 · 0 评论 -
Send a Table 欧拉函数UVA - 10820
题意:给你个n,问有多少个pair#include <iostream> #include <cstring> #include <algorithm> #include <cmath> #include <cstdio>using namespace std; const int maxn = 5e4+5; long long phi[maxn]; void phi_table() { i原创 2017-06-28 09:42:32 · 346 阅读 · 0 评论 -
大数模板
#include <iostream> #include <cstring> #include <algorithm> #include <cstdio>using namespace std; const int MAX = 1000; struct bign { int len=0; char s[MAX]; bign(){memset(s,'\0',sizeof(s))原创 2017-06-12 15:46:32 · 319 阅读 · 0 评论 -
高斯消元 EXTENDED LIGHTS OUT POJ - 1222
板子题,快记下来~题意:一个5*6的网格,然后每个格子里有一个按钮,如果点击这个按钮,那么这个按钮四周包括自己就会翻转,给一个初始状态(01表示按钮的状态),问如果要翻转成全是0的方法分析:之前做过暴力版的,就是枚举第一行,然后之后的状态都确定下来了~ 高斯也可以来一波 大概意思就是,将每个格子的翻转情况设为xi,然后列方程,解方程,就可以得到答案了。 然后这里还有一个小技巧,用的异或操作,因原创 2017-11-02 01:05:30 · 269 阅读 · 0 评论
分享