
数论
文章平均质量分 57
keyboarder_zsq
你所认为的极限,其实是别人的起点。
展开
-
hdoj4180
题意: 使(a/b-c/d)最小,然后让你求c/d. 我们能说最小the error |A/B - C/D| 然后C,D的范围是 0 < C < D < B。 其实就是:求接近(A/B)分数的最大分数 思路: 因为是神队友搞得exgcd专题,所以往这方面想想。 我们先把那个减式通分得:(AD-BC)/BD;求这个最小若A,B有最大公约数不是1,则化简就是答案。 若最大公约数为1,那原创 2016-05-28 09:31:23 · 416 阅读 · 0 评论 -
求<=N的平方数
考试的最后一题。。又是数学题。。。(又是宛如智障) x2+y2=z2x^2 + y^2 = z^2 可以有: x=a2−b2 x = a^2 - b^2 y=2ab y = 2ab z=a2+b2 z = a^2 + b^2 然后直接预处理 = = 、 哎!;#include <bits/stdc++.h>using namespace std;typedef pair<int,i原创 2017-07-08 00:53:30 · 628 阅读 · 0 评论 -
POJ3696【欧拉函数+欧拉定理】
题意:求最小T,满足L的倍数且都由8组成,求长度;思路://#include#include#include#include#includeusing namespace std;typedef long long LL;LL eluer(LL n){ LL res=n,a=n; for(LL i=2;i*i<=a;i++)原创 2017-02-10 15:44:49 · 444 阅读 · 0 评论 -
Lightoj 1067【逆元模板(求C(N,M))】
#include using namespace std;typedef long long LL;typedef unsigned long long ULL;typedef pairPII;const double eps=1e-5;const double pi=acos(-1.0);//const int mod=1e9+7;const int INF=0x3f3f3f3f原创 2016-11-25 14:14:54 · 522 阅读 · 0 评论 -
lightoj 1078【同余定理】
题意:给你一个n和一个数 digit ,问你最少需要多少个 digit 使得整除于n;思路:同余定理(a+b)%n=(a%n+b%n)%n;(m%n+m%n*10+m%n*100+m%n*1000......)%n==0;temp=m%n;temp=(temp*10+m)%n=(10*m%n+m%n)%n;temp=(temp*10+m)%n=(10*10*m%n+10原创 2016-11-23 22:11:41 · 471 阅读 · 0 评论 -
【经典汉诺塔的路径】
#include <iostream>#include <stdio.h>#include <string.h>#include <stack>#include <queue>#include <map>#include <set>#include <vector>#include <math.h>#include <algorithm>using namespace std;原创 2016-07-08 18:53:48 · 630 阅读 · 0 评论 -
错排公式
转自:http://blog.youkuaiyun.com/liwen_7/article/details/7646451n个有序的元素应有n!种不同的排列。 如果一个排列式的所有的元素都不在原来的位置,则称这个排列为错排。 任给一个n,求出1,2,……,n的错排个数Dn共有多少个。 递归关系:d[n]=(n-1)(d[n-1]+d[n-2]);解释: 先知道什么是错排了吧。第一步: “错排”1号元素转载 2016-07-09 16:33:21 · 775 阅读 · 0 评论 -
51nod 1119【杨辉三角】
思路: = =杨辉三角的应用,组合数的应用; C(N+M,N); 逆元一发,费马小定理,OK。原创 2016-08-31 23:51:50 · 591 阅读 · 0 评论 -
hdoj5793 A Boring Question【找规律】
超出的规律。。。。1 23 2 273 2154 2315 2631 342 3133 3404 31215 3361然后我们来推个公式: 比如说a2=3a1+1,我们可以看到 等比是m, 然后凑一下, 1+x=m*x x=1/(m-1) 上面那个例子就凑成了这个样子, (a2+1/2)/(a1+1/2)=3所以首项是:m+1+[1/(m-1)]原创 2016-08-04 17:46:09 · 593 阅读 · 0 评论 -
51nod1256【exgcd求逆元】
思路: 把k*M%N=1可以写成一个不定方程,(k*M)%N=(N*x+1)%N,那么就是求k*M-N*x=1,k最小,不定方程我们可以直接利用exgcd,中间还搞错了; //小小地讲一下exgcd球不定方程原理 对于ax+by=gcd(a,b); 我们设一下a>b,在简单直接把b=0时,gcd(a,b)=a.此时,x=1,y=0; 接着,a>b>0,我们这里可以摆两个式子:①:ax1原创 2016-09-10 10:58:50 · 785 阅读 · 0 评论 -
hdoj1465【错排公式(直接水过)】
//注意会爆 int #include <bits/stdc++.h>using namespace std;typedef long long LL;typedef unsigned long long ULL;const double eps=1e-5;const double pi=acos(-1.0);const int mod=1e9+7;const int INF=0x3f原创 2016-07-15 23:08:56 · 592 阅读 · 0 评论 -
CodeForces787A【exgcd求不定方程解(模板)】
思路: B+AX=D+CYB+AX = D + CY => AX−CY=D−BAX - CY= D - B 然后套exgcd保证X,Y都要>=0.//#pragma comment(linker, "/STACK:102400000,102400000")#include <stdio.h>#include <string.h>#include <iostream>#include原创 2017-10-22 18:59:00 · 696 阅读 · 0 评论