数论
yuanxinyu402
这个作者很懒,什么都没留下…
展开
-
LCM from 1 to n
LightOJ 1289 LCM from 1 to nDescription Given an integer n, you have to find lcm(1, 2, 3, …, n) lcm means least common multiple. For example lcm(2, 5, 4) = 20, lcm(3, 9) = 9, lcm(6, 8, 12) = 24.Inp原创 2015-08-25 20:38:31 · 1005 阅读 · 0 评论 -
BZOJ 2440 完全平方数-莫比乌斯函数
题目描述 1.n的不大确定+f(n)([1,n]中不是平方数的倍数的数的个数)递增 -> 二分 2.容斥原理:f(x)=1的倍数-一个质数的倍数+2个质数乘积的倍数-… ; f(x)=sigma(mu[i]*floor(x/(i*i))) ,1<=i<=floor(sqrt(x))#include<cstdio>#include<cstring>#include<cmath原创 2016-01-26 19:56:41 · 320 阅读 · 0 评论 -
Codeforces Round #341 (Div. 2) C Wet Shark and Flowers - 期望与概率
题目描述标准题解针对每一个 sharkishark_i,算出 [l,r] 之间有多少个p的倍数,记为 aia_i ai=⌊rip⌋+⌊li−1p⌋ a_i = {\lfloor {r_i \over p} \rfloor} + {\lfloor {{l_i - 1} \over p} \rfloor} 因为对于任意相邻的shark得到的money是独立的,可以针对pair(i,i+1原创 2016-02-01 16:30:46 · 309 阅读 · 0 评论 -
2000: 棋盘开关灯游戏 - 高斯消元|搜索
2000: 【高级算法】棋盘开关灯游戏 时间限制: 1 Sec 内存限制: 128 MB 提交: 37 解决: 23 [提交][状态][我的提交] 题目描述 一个棋盘状的开关阵列,排成5行6列。每个开关同时也是一个灯。按下一个开头后,受控制的灯就会改变状态:开->关,关->开。受控制的规则如下: (1)角上的开关控制相邻的3个灯,如下图左上角的开关 (2)边上的开关控制相邻的4个灯原创 2016-01-31 10:16:52 · 582 阅读 · 0 评论 -
[NOIP2004]虫食算 - 高斯消元|搜索
1284: [NOIP2004]虫食算 时间限制: 1 Sec 内存限制: 64 MB 题目描述 所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子: 43#9865#045 + 8468#6633 ——————————— 44445506978 其中#号代表被虫子啃掉的数原创 2016-01-30 17:45:43 · 432 阅读 · 0 评论 -
HYSBZ/BZOJ 3503 和谐矩阵 - 高斯约当消元异或方程
题目描述Solution 1:把矩阵中的每一个元素看作未知数,根据元素之间的互相影响列方程,方程大小为 (n*m,n*m)。如果有不定解怎么办呢?1. dfs暴力枚举每一个不定解。肯定要TLE2. 在每行确定解的时候,强制性设定这行的所有不定解为1 ,继续回代,直到出答案。 好像数据挺水,O((nm)3{(nm)}^3)勉强能过。1.代码,但要T#include<cstdio>#include原创 2016-02-01 18:55:31 · 458 阅读 · 0 评论 -
HYSBZ/BZOJ 1005 [HNOI2008] 明明的烦恼 - Prufer编码&组合数学&高精度 此乃神题!
题目描述分析&Solution:hzw大神的blogJMJST大神的blogMatrix67对Prufer编码的理解再结合题解,才终于理解怎么回事,大赞hzw大神的blog。#include<cstdio>#include<algorithm>#include<cmath>#include<cstring>using namespace std;#define MAXN 1000原创 2016-02-02 20:56:12 · 681 阅读 · 0 评论 -
HYSBZ/BZOJ 1008 [HNOI2008] 越狱 - 组合数学
题目描述可能越狱的情况 = 总数 - 不能越狱的情况 ans=可能越狱的情况 Mod 100003,即: ans=(mn−m∗(m−1)n−1)mod100003ans =( m^n - m* {(m-1)^{n-1}} ) \mod 100003#include<cstdio>#define Mod 100003typedef long long LL;LL n,m,ans;LL m原创 2016-02-03 13:40:33 · 292 阅读 · 0 评论 -
HYSBZ/BZOJ 1004 [HNOI2008] Cards - 组合数学
题目描述分析: 输入数据保证任意多次洗牌都可用这 m种洗牌法中的一种代替,且对每种洗牌法,都存在一种洗牌法使得能回到原状态。这句话是说: (1). m种洗牌方式保证能把所有排列的变换出来,且每种洗牌方式仅且仅用一次就够了,即不用多种洗牌方式叠加使用。 (2). 对于一个排列A,通过m种不同的变换可以得到(m+1)种不同的排列(包含A本身),而且,这(m+1)种排列能且只能由这(m+1)种排原创 2016-02-02 16:30:53 · 351 阅读 · 0 评论 -
BZOJ(本校) 2525 公约数 - 莫比乌斯反演
题目描述 给出一个数N,求1 <= x, y <= N,且gcd(x, y)为素数的数对x, y的数量。 输入 一行一个数N。 输出 一个数表示答案 样例输入 4 样例输出 4 提示 【数据范围】 N ≤ 10000000 来源 HZOI gcd(x,y)为质数,1<=x,y<=n <=> gcd(x,y)=1 1<=x,y<=n/prime[i] prime[i]需原创 2016-01-27 10:22:59 · 483 阅读 · 0 评论 -
BZOJ 2301: [HAOI2011]Problem b - 莫比乌斯反演
题目描述经过这道题的洗礼后,现在这个题就是差不多的了。 注意容斥原理,向上向下取整的问题。=_=#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define MAXN 50000int mu[MAXN+10],prime[MAXN+10],cntpr,sum[MAXN+10],a,b,c,d原创 2016-01-27 12:22:28 · 274 阅读 · 0 评论 -
病毒分裂
题目描述 A 学校的实验室新研制出了一种十分厉害的病毒。由于这种病毒太难以人工制造 了,所以专家们在一开始只做出了一个这样的病毒。 这个病毒被植入了特殊的微型芯片,使其可以具有一些可编程的特殊性能。最重要的一个性能就是,专家们可以自行设定病毒的分裂能力K,假如现在有x 个病毒,下一个分裂周期将会有Kx 个一模一样的病毒。你作为该实验室的数据分析员,需要统计出在分裂到第N个周期前,一共有多少个病毒单原创 2015-10-11 09:03:47 · 1225 阅读 · 0 评论 -
HYSBZ/BZOJ 1013 [JSOI2008] 球形空间产生器sphere - 高斯约当消元
题目描述分析:根据题目给出的dist的定义,并设球心的坐标为(x1,x2,...xnx_1,x_2,...x_n),列出n+1个方程。 step 1. n+1个方程的两边同时平方。 step 2. n+1个方程拆括号,化简。 step 3. 前n个方程-第n+1个方程,得到新的n个方程(dist2也被减没了dist^2也被减没了) step 4. n个关于n个未知数的方程,解吧。#inclu原创 2016-02-06 17:28:57 · 359 阅读 · 0 评论 -
OpenJudge NOI题库 6266:取石子游戏
题目本题的提示还是够详细了: 假设石子数目为(a,b)且a >= b,如果[a/b] >= 2则先手必胜,如果[a/b]<2,那么先手只有唯一的一种取法. [a/b]表示a除以b取整后的值.当x/y<2时,很显然只有一种取法当x/y>=2时,这时候该走的人(S)总是能赢(如果x=k*y+r,当S为状态为[r,y]的该走的人,且其最后赢家为自己,那么S先走到[r+y,y],O走到[r,y],原创 2015-11-01 23:08:43 · 1161 阅读 · 0 评论 -
HDU - 3359 Kind of a Blur - 高斯-约当消元
题目描述题目有坑,h,w=0,但d可能不等于0就要结束。 h,w输入的顺序也是不合常理,唉,被坑了。#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>using namespace std;#define MAXH 10#define MAXN 100const double eps=1e-12;in原创 2016-01-29 10:25:50 · 401 阅读 · 0 评论 -
高斯_约当消元(浮点)
#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>using namespace std;#define MAXN 400const double eps=1e-8;int n,m;double a[MAXN+10][MAXN+10],x[MAXN+10];bool free_x[MAXN+10];v原创 2016-01-28 12:08:15 · 402 阅读 · 0 评论 -
HYSBZ/BZOJ 2154 Crash的数字表格 - 莫比乌斯反演
题目描述由于不想码推导过程,粘一个by Liu Junhao最开始推到最后的式子,却傻傻的没有意识到可以分块加速,还以为自己推错了。。=_= 表示以后看到向下取整的东东要注意了。 注意:Mod要写就写完,不要懒,谁知道会不会爆??。#include<cstdio>#include<algorithm>using namespace std;#define MAXN 10000000#def原创 2016-01-27 21:18:55 · 460 阅读 · 0 评论 -
SPOJ VLATTICE Visible Lattice Points - 莫比乌斯反演
题目描述一开始把坐标想成(1,1,1)开始,却在算斜率的时候忘记-(1,1,1),至此陷入歧途。最后忍无可忍看了题解。。。看的这个,就粘这个了想懂了还是很清楚的。#include<cstdio>#define MAXN 1000000#define MAXP 80000int mu[MAXN+10],cntpr,prime[MAXP+10],sum[MAXN+10],a;bool ispri原创 2016-01-27 16:03:31 · 281 阅读 · 0 评论 -
SPOJ - PGCD Primes in GCD Table - 莫比乌斯反演
题目描述1’.枚举prime#include<cstdio>#include<algorithm>using namespace std;#define MAXN 10000000#define MAXP 800000int prime[MAXP+10],cntpr,mu[MAXN+10],a,b,sum[MAXN+10];bool isprime[MAXN+10];void CalMob原创 2016-01-27 14:32:15 · 279 阅读 · 0 评论 -
HYSBZ/BZOJ 1007 [HNOI2008] 水平可见直线 - 计算几何
题目描述分析: 直角坐标系内,有n条直线分布,求:最大值(对于任意x,直线上能取到的max( f(x) ))构成的折线由哪些直线构成。Solution : 把直线按照斜率从小到大排序。 从左到右:先找到中斜率最小的直线 r ,它一定属于ans的集合,找到这条直线与所有直线中横坐标最小的点(x0,y0),由x0确定下一条直线 tar(由于可能出现几条直线交 r 于同一点的情况,取这些直线中斜率最原创 2016-02-02 14:44:26 · 359 阅读 · 0 评论