自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ramay7

https://ramay7.github.io/

  • 博客(78)
  • 资源 (2)
  • 收藏
  • 关注

原创 POJ 2689 Prime Distance(区间相邻素数最大、小距离,区间素数筛)

题目链接: POJ 2689 Prime Distance 题意: 求出区间[a, b]内相邻素数的最大距离和最小距离。 分析: 区间素数筛。然后枚举所有区间素数。#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <algorithm>#include <climits>

2016-05-31 01:26:45 884

原创 LightOJ 1197 Help Hanzo(区间素数筛)

题目链接: LightOJ 1197 Help Hanzo 题意: 给出区间左右端点[a, b]输出区间内素数个数。a < b, a,b属于int, b - a <= 1e5。 分析: [a, b]区间的每个合数可以用[2, m](m = sqrt(b))中的所有数筛掉。#include <iostream>#include <cstdio>#include <cstring>#in

2016-05-31 01:25:39 540

原创 HDU 2161 Prime(判断素数)

题目链接: HDU 2161 Prime 题意: 简单的判断素数。 分析: 注意根据题目要求特判1,2.#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <algorithm>#include <climits>#include <cmath>#include <ct

2016-05-31 01:23:47 529

原创 POJ 2115 C Looooops(扩展欧几里德)

题目链接: POJ 2115 C Looooops 题意: 有一个循环语句,变量从A开始,每次都要+C,终止条件是变量==B,每次累加都要mod 2^k.问循环最多执行几次?或者永远循环, 分析: 令K = 2^k.设循环执行了x次则:(A + C * x) mod K = B,也就是A + C * x = B + K * y. 移项可得:C * x - K * y = B - A.那么

2016-05-31 01:22:42 487

原创 URAL 1226 Little Chu(最大原根)

题目链接: URAL 1226 Little Chu* 题意: 找到最大的k,使得k, k^2, k^3…k^x 模n的结果各不相同且x尽可能大。 分析: 求最大原根。#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <algorithm>#include <climit

2016-05-31 01:21:35 381

原创 POJ 3090 Visible Lattice Points(欧拉函数)

题目链接: POJ 3090 Visible Lattice Points 题意: 给你一个方格,问从最左下角最多能看到多少点? 分析: 其实还是欧拉函数~#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <algorithm>#include <climits>#in

2016-05-31 01:20:29 496

原创 UVA 10820 Send a Table(欧拉函数)

题目链接: UVA 10820 Send a Table欧拉函数。#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <algorithm>#include <climits>#include <cmath>#include <ctime>#include <cassert>

2016-05-31 01:19:17 600

原创 POJ 2478 Farey Sequence(n级法雷数列的元素个数)

题目链接: POJ 2478 Farey Sequence 题意: 求n级法雷数列的元素个数。(不包含0/1, 1/1) 分析: 考虑n级法雷数列比n-1级法雷数列多出来的元素,可以得到:f[n] = f[n - 1] + euler[n]#include <iostream>#include <cstdio>#include <cstring>#include <string>#

2016-05-31 01:18:17 1121

原创 POJ 2891 Strange Way to Express Integers(中国剩余定理)

题目链接: POJ 2891 Strange Way to Express Integers 题意: 给出x模m[i]的余数a[i],求x。 分析: 中国剩余定理。#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <algorithm>#include <climits>

2016-05-31 01:17:06 413

原创 POJ 1006 Biorhythms(中国剩余定理)

题目链接: POJ 1006 Biorhythms中国剩余定理#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <algorithm>#include <climits>#include <cmath>#include <ctime>#include <cassert>#

2016-05-31 01:15:58 475

原创 HDU 2669 Romantic(扩展欧几里德)

题目链接: HDU 2669 Romantic、 题意: 求X*a + Y*b = 1最小非负整数解x和相应的y. 分析: 扩展欧几里德求出来基础解后稍微处理下就好了。#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <algorithm>#include <climit

2016-05-31 01:14:51 359

原创 HDU 1573 X问题(中国剩余定理)

题目链接 HDU 1573 X问题 题意: 求解在(0, N]区间满足 x ≡ a[i](mod m[i])(0<= i < M)的x的个数。 分析: 利用中国剩余定理求解出最小非负整数解a0(如果有解)和解的周期m0,假设解的个数为k个 则:a0 + k * m0 <= N –> k <= (N - a0) / m0,(N >= a0) 当a0 = 0时解的个数是(N - a0) /

2016-05-31 01:13:28 458

原创 HDU 1576 A/B(乘法逆元、费马小定理)

题目链接: HDU 1576 A/B 题意: 已知A%9973 = n,gcd(B, 9973)=1,给出n和B求A/B%9973. 分析: 裸的乘法逆元。利用费马小定理:因为gcd(B, 9973) = 1,且9973为质数,所以A/B%9973 = A%9973 * B^(9973 - 2) % 9973.#include <iostream>#include <cstdio>#i

2016-05-31 01:11:45 582

原创 POJ 1061 青蛙的约会(扩展欧几里德)

题目链接: POJ 1061 青蛙的约会 题意: 规定纬度线上东经0度处为原点,由东往西为正方向,单位长度1米,这样就得到了一条首尾相接的数轴。 设青蛙A的出发点坐标是x,青蛙B的出发点坐标是y。青蛙A一次能跳m米,青蛙B一次能跳n米,两只青蛙跳一次所花费的时间相同且都是从东往西跳。纬度线总长L米。现在要你求出它们跳了几次以后才会碰面。 分析: 假设两只青蛙跳了k次相遇。则:(x + k

2016-05-31 01:10:16 351

原创 ZOJ 2593 One Person Game(扩展欧几里德、|x| + |y|最小)

题目链接: ZOJ 2593 One Person Game 题意: 有两个点A,B,每次可以选择向左或向右走a,b,c(c = a + b)步,问最少需要多少次从A走向B? 分析: 假设走a步和走b步的次数各为x,y,则可以得到:A + x * a + b * y = B.可以利用扩展欧几里德求出这个二元一次不定方程的一组基础解。我们需要的是C = |x| + |y|的最小值。当x,y符

2016-05-31 01:08:32 370

原创 ZOJ 3609 Modular Inverse(乘法逆元)

题目链接: ZOJ 3609 Modular Inverse 题意: 求ax = 1 (mod n),给出a,n的最小正数解x,如果不存在输出Not Exist. 分析: 用扩展欧几里德求乘法逆元。注意是最小正数解!而不是非负数解!#include <iostream>#include <cstdio>#include <cstring>#include <string>#incl

2016-05-31 01:06:22 406

原创 LightOJ 1213 Fantasy of a Summation(快速幂)

题目链接: LightOJ 1213 Fantasy of a Summation 题意: 给定n,k,m求解:int res = 0;for( i1 = 0; i1 < n; i1++ ) { for( i2 = 0; i2 < n; i2++ ) { for( i3 = 0; i3 < n; i3++ ) { ...

2016-05-29 11:58:10 650

原创 LightOJ 1214 Large Division(大整数取模)

题目链接: LightOJ 1214 Large Division 题意: 大整数取模。输入a,b(-10^200 <= a <= 10^200, b != 0, b是int),判断a能否整除b。 分析: 把大整数写成“从左向右”的形式:如:1234 = ((1 * 10 + 2) * 10 + 3) * 10 + 4.然后根据(n + m) % p = ((n % p) + (m % p

2016-05-29 11:56:34 1216 1

原创 LightOJ 1220 Mysterious Bacteria(满足a^p = n的最大p)

题目链接: LightOJ 1220 Mysterious Bacteria 题意: 给一个三十二位有符号整数n求满足a^p = n的最大p。 分析: 一开始没注意到 within the range of a 32 bit signed integer.中的signed无限WA。。。 也就是可以有负数情况的。对于正数n只要对n进行质因子分解,然后在所有质因子的幂中找gcd即可。 对于

2016-05-29 11:55:18 454

原创 LightOJ 1234 Harmonic Number(调和级数求和)

题目链接: LightOJ 1234 Harmonic Number 题意: 求n级调和级数之和:h[n] = 1/1 + 1/2 + 1/3 + 1/4 +…+ 1/n。(n <= 1e8)。要求误差不超过1e-8. 分析; 找公式? 则当n > 1e6时可以用公式: h[n]=(log(n * 1.0) + log(n + 1.0)/2.0 + 1.0/(6.0 * n * (n

2016-05-29 11:53:39 798 1

原创 LightOJ 1236 Pairs Forming LCM(lcm(i, j) = n的对数)

题目链接: LightOJ 1236 Pairs Forming LCM 题意:long long pairsFormLCM( int n ) { long long res = 0; for( int i = 1; i <= n; i++ ) for( int j = i; j <= n; j++ ) if( lcm(i, j) == n

2016-05-29 11:51:20 1129

原创 LightOJ 1245 Harmonic Number (II)(∑ (n / i)(n < 2^31))

题目链接: LightOJ 1245 Harmonic Number (II) 题意: i <= n计算 ∑ (n / i)(n < 2^31) i = 1分析: 我只能想到ans[n] - ans[n - 1] = n的因子个数,剩下的我就不会了,因为n太大了,没办法递推啊。。。。。 网上是这样说的。令m = sqrt(n)。那么对于m’ > m,n/m’一定小于等于m,所

2016-05-29 11:49:32 345

原创 LightOJ 1336 Sigma Function(1--n中所有因子和为偶数的数字个数)

题目链接: LightOJ 1336 Sigma Function 题意: 找到1–n中所有因子和为偶数的数字个数。n <= 1e12. 分析: 通过打表发现平方数和平方数的二倍的因子和是奇数。那就只要找小于等于n的平方数和平方数的二倍的个数就好了。 打表的程序:const int MAX_N = 10010;int prime_cnt, total;int prime[MAX_N],

2016-05-29 11:47:16 524

原创 LightOJ 1259 Goldbach`s Conjecture(证明哥德巴赫猜想)

题目链接: LightOJ 1259 Goldbach`s Conjecture 题意: 验证哥德巴赫猜想:大于2的所有偶数都可以表示为两个素数的之和。 n <= 1e7 分析: 素数打表,暴力解。#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <algorithm>

2016-05-29 11:45:23 666

原创 LightOJ 1282 Leading and Trailing(n^k的高三位和低三位)

题目链接: LightOJ 1282 Leading and Trailing 题意: 给出n和k求出n^k的高三位和低三位。 分析: 低三位别忘了%03d输出啊! 高三位取log瞎搞啊!#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <algorithm>#incl

2016-05-29 11:44:15 420

原创 LightOJ 1341 Aladdin and the Flying Carpet(质因数分解、因子个数)

题目链接: LightOJ 1341 Aladdin and the Flying Carpet 题意: 给出矩形的面积a,构造矩形的长和宽使得长宽都不小于b,矩形的面积恰好为a且长和宽不等。输出方案数。 分析: 根据:任何一个大于1的自然数n,若其不为素数则必可唯一的分解为有限个素数的乘积,即 n = p1^a1 * p2^a2 * p3^a3 * … * pk^ak,那么同时n的因子个

2016-05-29 11:40:18 422

原创 UVA 11428 GCD - Extreme (II)(G=∑ ∑GCD(i, j)(1<=i<N,i+1<=j<=N,欧拉函数)

题目链接: UVA 11428 GCD - Extreme (II) 题意: i<N j≤N给定n求:G = ∑ ∑ GCD(i, j) (n <= 4000000) i=1 j=i+1分析: 令sum[n]为题式中答案。考虑递推 sum[n] = sum [n - 1] + gcd(1, n) + gcd(2, n) + gcd(

2016-05-29 11:35:31 1585

原创 UVA 11752 The Super Powers(至少是两个正整数的幂的幂数)

题目链接: UVA 11752 The Super Powers 题意: 求出1~2^64 - 1范围内的所有幂数,并且每个幂数至少是两个正整数的幂。 分析: 要用unsigned long long。 对于任意正整数x它的指数k只要k不是素数,那么x^k必然可以表示成两个不同的正整数的幂。例如512 = 2^9 = (2^3)^3 = 8 ^3 需要知道底数和指数的范围,然后判断指数

2016-05-29 11:28:05 507

原创 HDU 2478 Slides(n个矩形中n-1个矩形相交最大面积)

题目链接: HDU 2478 Slides 题意: 给出n个矩形的左下角和右上角坐标,求出n-1个矩形相交的最大面积。 分析: 先找到n个矩形左下角中的最右上角和次右上角的x,y坐标(Left_fir.x, Left_fir.y, Left_sec.x, Left_sec.y),右上角中的最左下角和次左下角的x,y坐标(Right_fir.x, Right_fir.y, Right_sec

2016-05-29 11:21:31 754

原创 LightOJ 1282 Leading and Trailing(取n^k的最高三位数字)

题目链接: LightOJ 1282 Leading and Trailing 题意: 给出n和k求出n^k的高三位和低三位。 分析: 低三位别忘了%03d输出啊! 高三位取log瞎搞啊!#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <algorithm>#incl

2016-05-27 02:16:01 423

原创 LightOJ 1370 Bi-shoe and Phi-shoe(欧拉函数)

题目链接: LightOJ 1370 Bi-shoe and Phi-shoe 题意: 给出n个数,要求对每个数a[i]找一个数x[i]使得小于x[i]且与x[i]互素的数的个数不小于a[i],求出所有x[i]的最小和。 分析: 和最小则每个数对应的x[i]应最小。这道题和欧拉函数定义稍微有点区别,欧拉函数是小于等于a且与a互素的数个数,而这题只能小于。 体现在1上,一般的phi[1]

2016-05-27 02:14:34 395

原创 UVA 10200 Prime Time(素数判定)

题目链接: UVA 10200 Prime Time 题意: 根据公式n * n + n + 41 求出在区间a<= n <= b的n算出的结果是素数的概率。0<= a <= b <= 10000. 分析: 预处理一下,要不然会TLE。前缀和的路子。输出需要注意精度,要不然会WA,我也不知道这里怎么会有坑。。。。#include <iostream>#include <cstdio>#

2016-05-27 02:13:03 1192

原创 UVA 11827 Maximum GCD(gcd, getline)

题目链接: UVA 11827 Maximum GCD 题意: 给出T,代表测试样例,每行是一个样例,会有M个数,求出M个数两两gcd的最大值。M<100. 分析: 唯一麻烦的就是M是未知的,也就是不知道这一行究竟有多少个数.用getline + string读入,然后在转化成数字即可。#include <iostream>#include <cstdio>#include <cstr

2016-05-27 02:11:53 441

原创 SGU 106 The equation(扩展欧几里德)

题目链接: SGU 106 The equation 题意: 给出a,b,c,x1,x2,y1,y2求满足ax + by + c = 0且x1 <= x <= x2, y1 <= y <= y2的x,y有多少组。 分析: 扩展欧几里德的应用需要特别注意a=0,b=0,c=0的特判。#include <iostream>#include <cstdio>#include <cstring

2016-05-27 02:10:28 431

原创 POJ 1845 Sumdiv(逆元、分治)【真心好题啊=_=】

题目链接: POJ 1845 Sumdiv 题意: 给出A和B,求A^B的所有因子和对990取余后的值。0<= A, B <= 50000000. 分析: 特判A=1,A=0,B=0的情况,根据任何一个大于1的自然数若其不为素数则必可唯一的分解为有限个素数的乘积。 假设A = p1^a1 * p2^a2 * p3^a3 * ... * pn^an,其中(p1,p2,p3,...,pn均为

2016-05-26 00:56:16 514

原创 51nod 1135 原根(求素数最小原根)

题目链接: 51nod 1135 原根 题意: 求素数p的最小原根。#include <stdio.h>#include <algorithm>#include <cmath>#include <iostream>#include <string.h>#include <cstring>using namespace std;const int MAX_N = 1000010;

2016-05-26 00:49:20 1341

原创 大视野OJ 2186 沙拉公主的困惑(模素数的逆元连乘)

题目链接: 大视野OJ 2186 沙拉公主的困惑 题意: 求1—>n!中和m!互质的数的个数,其中m <= n. 分析: 就是按照这个Acdreamers的博客打的。ORZ。。。。 判断素数的如果用数组的话会MLE,头一次用bitset。。。。。。#include <iostream>#include <cstdio>#include <cstring>#include <stri

2016-05-24 00:51:34 563

原创 LightOJ 1203 Guarding Bananas(凸包、直线夹角)

题目链接: LightOJ 1203 Guarding Bananas 题意: 给出n个点,找到一个点使从这个点看其他所有点所形成的最大夹角最小(视野内能看完其他所有点)。 分析: 先求个凸包,因为这样的点肯定是凸包上的点。然后枚举凸包顶点,凸包顶点和相邻边的另外两个端点所形成的角 肯定能覆盖所有凸包顶点,这样子一来就是转化为求两点对一点所形成的夹角,枚举取最小即可。#include <

2016-05-22 22:54:28 476

原创 LightOJ 1138 Trailing Zeroes (III)(二分)

题目链接: LightOJ 1138 Trailing Zeroes (III) 题意: 求最小的自然数n使得n的阶乘结果以Q个0结尾。如果不存在这样的数输出impossible。 1<= Q <= 1e8. 分析: 首先如果存在解的话,n一定是5的倍数。 5的阶乘后面有1个0; 10的阶乘后面有2个0; 15的阶乘后面有3个0; 20的阶乘后面有4个0; 25的阶乘后面有6个

2016-05-22 22:45:25 424

原创 URAL 1994 The Emperor's plan(dp、期望)

题目链接: URAL 1994 The Emperor’s plan 题意: n个人中有k个叛徒,每个叛徒晚上会杀掉k个非叛徒,当前状态时晚上,为了清除叛徒,白天会随机挑出若干(0 <= t <= rest,res是剩余总人数)个人杀掉,直到剩下的人全部都是非叛徒或者叛徒,问最终剩下非叛徒的期望。1<= n <= 200, 1<= k <= 20. 分析: 用dp[m][k]表示处理在白天

2016-05-22 00:10:05 411

ACM--状态压缩

ACM--状态压缩(天津大学·周伟)

2016-09-15

状态压缩by天津大学·周伟

2016-09-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除