
数理,数论
文章平均质量分 57
vocaloid01
小菜鸟一只_(:з」∠)_前来膜拜各路大佬orz
展开
-
欧拉函数总结
欧拉函数的定义:对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目。例如euler(8)=4,因为1,3,5,7均和8互质。Euler函数表达通式:euler(x) = x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…(1-1/pn),其中p1,p2……pn为x的所有素因数。euler(1) = 1(唯一和1互质的数就是1本身)。当x为素数时 euler(x...原创 2018-11-17 15:22:52 · 367 阅读 · 0 评论 -
POJ - 2689 Prime Distance 大区间素数筛选
The branch of mathematics called number theory is about properties of numbers. One of the areas that has captured the interest of number theoreticians for thousands of years is the question of primali...原创 2018-11-16 18:24:33 · 373 阅读 · 0 评论 -
线性筛法(欧拉筛)求质数模板
#include <bits/stdc++.h>using namespace std;const int MAXN = 100005;int prime[MAXN],M_P_factor[MAXN];//记录质数,记录每个数的最小质因子 inline void Print(int n){ printf("Number--%d : ",n); for(int i...原创 2018-11-16 16:57:11 · 382 阅读 · 0 评论 -
Gym - 101775J Straight Master (差分)
A straight is a poker hand containing five cards of sequential rank, not necessarily to be the same suit. For example, a hand containing 7 club, 6 spade, 5 spade, 4 heart and 3 diamond forms a straigh...原创 2018-10-01 20:29:31 · 682 阅读 · 0 评论 -
一个无序实数数组中的相邻两个元素的最大差值(实数桶排序)
题目描述求解数组元素在实轴上相邻的2个数之间的最大差值输入 第一行输入一个正整数N,表示数据的个数 接下来的一行中有N个实数,表示数组中的N个元素,中间以空格分隔输出: 实轴上相邻的两元素之间差值的最大值样例输入: 5 2.1 3.1 7.5 1.5 6.3样例输出: 3.2要求:分析所写算法的时间复杂度,如果可能,考虑...原创 2018-09-27 15:40:44 · 1904 阅读 · 0 评论 -
HDU - 2534 Score (数学,找规律)
大家都知道,pfz是“成电杰出学生”,在成电杰出学生的颁奖典礼上,lxh和pfz都没有听台上在说什么,而是在下面讨论当晚的美式足球比赛,lxh预测说纽约巨人队今晚将会得到11分,pfz马上说不可能。因为通常来说美式足球比赛的得分只有3分和7分两种形式,无论怎么得分都不可能得到11分。想了一会以后,lxh发现其实11分以上的分数都是可以得到,于是11就是最大的不可以得到的分数。现在问题来了,如果比赛...原创 2018-08-16 09:52:48 · 202 阅读 · 0 评论 -
HDU - 2133 What day is it (蔡勒公式+模拟)
Today is Saturday, 17th Nov,2007. Now, if i tell you a date, can you tell me what day it is ?InputThere are multiply cases.One line is one case.There are three integers, year(0<year<10000)...原创 2018-08-12 13:12:56 · 263 阅读 · 0 评论 -
常用数论知识总结(持续更新)
皮克定理: 皮克定理是一个计算点阵中顶点在格点上的多边形面积公式,该公式可以表示为2S=2a+b-2,其中a表示多边形内部的点数,b表示多边形边界上的点数,S表示多边形的面积。无名定理(分数小数互化,判断是否是有限小数或无限循环小数):一个分数如果它的分母是10^n(n是含零自然数),就可以直接写成整数或有限小数;而一个有限小数化成分数,第一步就是将其分母写成10^n。如果一个分数无法将其分母...原创 2018-07-24 21:04:09 · 780 阅读 · 0 评论 -
计蒜客 035 三角形内点的个数(皮克定理)
1000ms 65536K在一个平面坐标系中,我们可以选出三个不全在一条线上的点构成一个三角形。我们称一个在三角形内(不包含三角形的边上),横纵坐标皆为整数的点位这个三角形的内点。 对于一个由(0,0)、(n,m)、(p,0)作为顶点构成的三角形,请你设计程序求出他的内点数。输入包括一行,包括三个用空格分隔的整数,分别为n,m,p(0 ≤ n < 32000,0 < m <...原创 2018-07-24 21:01:47 · 678 阅读 · 0 评论 -
牛客小白月赛5——D 阶乘
时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K题目描述输入描述:输入数据共一行,一个正整数n,意义如“问题描述”。输出描述:输出一行描述答案:一个正整数k,表示S的末尾有k个0示例1输入10输出7说明题解:难以描述,代码也不长直接看代码应该就懂了。代码:#i...原创 2018-07-23 10:33:35 · 279 阅读 · 0 评论 -
51Nod - 1433 0和5
小K手中有n张牌,每张牌上有一个一位数的数,这个字数不是0就是5。小K从这些牌在抽出任意张(不能抽0张),排成一行这样就组成了一个数。使得这个数尽可能大,而且可以被90整除。注意:1.这个数没有前导0,2.小K不需要使用所有的牌。 Input每个测试数据输入共2行。第一行给出一个n,表示n张牌。(1<=n<=1000)第二行给出n个整数a0,a1,a2,...原创 2018-07-20 11:30:12 · 111 阅读 · 0 评论 -
能被2、3、4、5、6、7、8、9等数整除的数的特征
性质1:如果数a、b都能被c整除,那么它们的和(a+b)或差(a-b)也能被c整除。性质2:几个数相乘,如果其中有一个因数能被某一个数整除,那么它们的积也能被这个数整除。能被2整除的数,个位上的数能被2整除(偶数都能被2整除),那么这个数能被2整除能被3整除的数,各个数位上的数字和能被3整除,那么这个数能被3整除能被4整除的数,个位和十位所组成的两位数能被4整除,那么这个数能被4整...转载 2018-07-20 11:16:34 · 1247 阅读 · 0 评论 -
51Nod - 1013 3的幂的和
求:3^0 + 3^1 +...+ 3^(N) mod 1000000007Input输入一个数N(0 <= N <= 10^9)Output输出:计算结果Sample Input3Sample Output40题解:等比数列前(n+1)项和,公比为3首项为1所以t=( 3^(n+1)-1 ) / 2 % 1000000007。3^(n+1)用快速幂解决,而除法取模只需将除法变乘法即可...原创 2018-05-18 21:57:42 · 337 阅读 · 0 评论 -
判断点是否在多边形内部(Ray-casting Algorithm)
判断一个点是否在多边形内部的典型方法:(1)面积和判别法:判断目标点与多边形的每条边组成的三角形面积和是否等于该多边形,相等则在多边形内部。(2)夹角和判别法:判断目标点与所有边的夹角和是否为360度,为360度则在多边形内部。(3)光线投射法:从目标点出发引一条射线,看这条射线和多边形所有边的交点数目。如果有奇数个交点,则说明在内部,如果有偶数个交点,则说明在外部。 这里前两...转载 2018-04-19 15:18:54 · 4134 阅读 · 0 评论 -
折线分割平面(递推+数学)
我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示: Input输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0<n<=10000),表示折线的数量。Output对于每个测试实例,请输出平面的最大分割数,每个实例的输出原创 2017-12-02 16:02:04 · 368 阅读 · 0 评论 -
判断欧拉回路是否存在的方法
原文链接:http://blog.sina.com.cn/s/blog_63509b890100rev7.html正文: 判断一个图中是否存在欧拉回路(每条边恰好只走一次,并能回到出发点的路径),在以下三种情况中有三种不同的算法:一、无向图 每个顶点的度数都是偶数,则存在欧拉回路。二、有向图(所有边都是单向的) 每个节顶点的入度都等于出度,则存在欧拉回路。以上两种情况都很好理解。其原理就是每个转载 2017-11-16 15:33:45 · 5404 阅读 · 3 评论 -
51Nod ----1009 数字1的数量
基准时间限制:1 秒 空间限制:131072 KB给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的个数。 例如:n = 12,包含了5个1。1,10,12共包含3个1,11包含2个1,总共5个1。Input 输入N(1 <= N <= 10^9)Output 输出包含1的个数Input示例 12 Output示例 5思路: 可以从数字中找关系。例如:n =原创 2017-10-16 19:12:52 · 186 阅读 · 0 评论 -
51Nod——1004 n^n的末位数字
基准时间限制:1 秒 空间限制:131072 KB给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。 Input一个数N(1 <= N <= 10^9)Output输出N^N的末位数字Input示例13Output示例3思路: 快速幂瞬秒。代码:#include <iostream>#include <cstdio>using namespace std;long long my原创 2017-10-14 17:42:36 · 223 阅读 · 0 评论 -
51Nod——1003 阶乘后面0的数量
基准时间限制:1 秒 空间限制:131072 KBn的阶乘后面有多少个0? 6的阶乘 = 1*2*3*4*5*6 = 720,720后面有1个0。 Input一个数N(1 <= N <= 10^9)Output输出0的数量Input示例5Output示例1思路: 编程之美:一个数 n 的阶乘末尾有多少个 0 取决于从 1 到 n 的各个数的因子中 2 和 5 的个数, 而 2 的个数是原创 2017-10-14 17:19:02 · 284 阅读 · 1 评论 -
1011 最大公约数GCD——51Nod(__gcd() )
基准时间限制:1 秒 空间限制:131072 KB输入2个正整数A,B,求A与B的最大公约数。Input 2个数A,B,中间用空格隔开。(1<= A,B <= 10^9) Output 输出A与B的最大公约数。Input示例 30 105 Output示例 15思路: gcd公式大家都知道……(不知道的面壁),不过 __gcd() 我是学gcd的一年后才知道(好吧我孤陋寡闻)代原创 2017-10-14 13:35:57 · 301 阅读 · 0 评论 -
1008 N的阶乘 mod P ——51Nod(同余定理)
基准时间限制:1 秒 空间限制:131072 KB输入N和P(P为质数),求N! Mod P = ? (Mod 就是求模 %)例如:n = 10, P = 11,10! = 3628800 3628800 % 11 = 10Input 两个数N,P,中间用空格隔开。(N < 10000, P < 10^9)Output 输出N! mod P的结果。Input示例 10 11 Output示原创 2017-10-14 13:25:45 · 577 阅读 · 0 评论 -
斯特林公式(阶乘近似值)
斯特林公式(Stirling's approximation)是一条用来取n的阶乘的近似值的数学公式。一般来说,当n很大的时候,n阶乘的计算量十分大,所以斯特林公式十分好用,而且,即使在n很小的时候,斯特林公式的取值已经十分准确,不过我们主要是在n很大时使用。形式: 或更精确的 或原创 2017-10-14 13:00:23 · 1068 阅读 · 0 评论 -
关于矩阵快速幂の简单粗暴の理解
今天做题遇到了矩阵快速幂,找了半天博客都没看懂 最后还是看代码自己悟。所以这里我就把自己的理解 写出来,有不对的欢迎指正。 真正理解后感觉也就没几句话就讲完了,首先我们看 一下数的快速幂ll Mypow(ll a,ll b){ ll re = 1; while(b) { if(b&1)re *= a; a *= a;原创 2017-10-03 16:23:24 · 231 阅读 · 0 评论 -
POJ 3070 Fibonacci (矩阵幂运算)
Time limit 1000 ms Memory limit 65536 kBIn the Fibonacci integer sequence, F0 = 0, F1 = 1, and Fn = Fn − 1 + Fn − 2 for n ≥ 2. For example, the first ten terms of the Fibonacci sequence are:原创 2017-10-03 15:59:25 · 355 阅读 · 0 评论 -
杭电ACM 2028 Lowest Common Multiple Plus
Time limit 1000 ms Memory limit 32768 kB 求n个数的最小公倍数。 Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。 Output 为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。 Sample Input2 4 63 2原创 2017-10-02 21:58:57 · 518 阅读 · 0 评论 -
Minimum Inversion Number HDU - 1394
Time limit 1000 ms Memory limit 32768 kB The inversion number of a given number sequence a1, a2, ..., an is the number of pairs (ai, aj) that satisfy i < j and ai > aj.For a given sequen原创 2017-10-01 18:59:31 · 196 阅读 · 0 评论