随笔分类 - 数论
摘要:这一题其实并不难,昨天比赛时WA了,下来请教了队友,原来是用的矩形切割Problem 363462MS 224K本题思路:以出现的矩形端点为交点将所有的矩形分割成一个个小矩形,这里的点要求不重复且升序,正好用到set很方便(相当于离散化)。然后再把原来的矩形按照value的降序排列,将每个矩形所覆盖的且还没有着色小矩形块统统着色,并求价值和,即得结果。查找矩形覆盖的小矩形块时可用二分,但本题数据规...
阅读全文
摘要:旋转卡壳可以用于求凸包的直径、宽度,两个不相交凸包间的最大距离和最小距离等。虽然算法的思想不难理解,但是实现起来真的很容易让人“卡壳”。拿凸包直径(也就是凸包上最远的两点的距离)为例,原始的算法是这样子:Compute the polygon's extreme points in theydirection. Call themyminandymax. Construct...
阅读全文
摘要:题目大意:有t组cases。每组给你一个from,to,和串s。将from进制下的串s转化为to进制下的串题目链接:PKU1220 NUMBER BASE CONVERSION题目分析:直接对进制转换时的人工方法进行模拟,直到将串s除尽。[代码]
阅读全文
摘要:今天下午哈尔滨赛区网络预选赛1003出了一道大数开方的题,自己用了XX大学的模板,并错误的深信不疑,导致WA11次,悲剧RANK94如果1Y了,肯定是另一种结果啊。情何以堪……赛后得知模板用错,用中山大学的模板区做URAL1153Supercomputer(大数开方),小菜一碟。题目大意:N=x*(x+1)/2,给你N (N < 10600),输出x分析:求sqr...
阅读全文
摘要:题目描述 Give you a lot of positive integers, just to find out how many prime numbers there are.. In each case, there is an integer N representing the number of integers to find. Each integer won’t ...
阅读全文
摘要:看了算法导论(第2版)第30章的《多项式与快速傅里叶变换》多项式有系数表示法和点值表示法。两个次数界为n的多项式A(x)和B(x)相乘,输入输出均采用系数表示法。(假定n为2的幂)1)使次数界增加一倍:A(x)和B(x)扩充为次数界为2n的多项式,并构造起系数表示2)求值:两次应用2n阶FFT,计算出A(x)和B(x)的长度为2n的点值表示3)点乘:计算多项式C(x)=A(x)*B(x)的点值表示...
阅读全文
摘要:模板:给定L1上两点(ax,ay),(bx,by),L2上两点(cx,cy),(dx,dy),求两直线交点(x,y)。[代码]1039Accepted200K63MS63MS是有些慢,这一题是刘汝佳的《算法艺术与信息学竞赛》P359的例题。思路:枚举上下两个顶点成光线所在直线,然后判断光线是否合法,合法的话枚举判断光线与管道上下壁是否相交,并存下最远的交点横坐标。代码
阅读全文
摘要:注意这里的优化:我们先将所有操作读进内存,从后往前计算出哪些操作是必要的,然后仅仅执行必要的操作就行了至于哪些操作的是必要的呢,我们需要从后往前维护当前哪些变量的值是必要的,首先,程序结束的时候,显然所有变量的值都是必要的。每当遇到一个赋值语句的时候,被覆盖的变量的值之前就是不必要的了。每当遇到一个计算语句的时候,如果修改的变量是必要的,那么显然用来作为运算的变量也就变为必要的了Accepted3...
阅读全文
摘要:题目大意:求凸包边缘的长度解题思路:标准的凸包Graham算法[代码]PS;这题和ZJU1453、FOJ1333一样,但ZJU和FOJ上n==2时输出2*(p[0]-p[1]).len()。
阅读全文
摘要:题意:求一条射线经过一系列球反射后的反射点分析:从起点出发,求出射线与球的最近交点,然后更改反射线为入射线循环找射线与球的最近交点,直到没有球与射线相交。[代码] //pp 球心与直线p2-p1的垂足 point pp=(sgn(d)==0? s.c:s.c+((p1-s.c)*(p2-s.c)*(p1-p2)).turnlen(d) ); if(sgn((pp-p1)^(p2-p1))<=...
阅读全文
摘要:Accepted1695187MS9188K题意:已知给定k,x,y求 1<=a<=x 1<=b<=y 中满足 gcd(a,b)=k 的(a,b)对数。(注意数对是无序的)。 1<=x,y<=1e5, 0<=k<=1e5用到了欧拉函数,素因子分解,筛选法,组合数学上的容斥原理等,不失为一道好题!!!大体思路:有一个小小的变形:在[1...b/k]中选...
阅读全文
摘要:题目大意:在一个w*h的格点区域内,有一些直线,定义一个点是危险点,如果它到某条直线的曼哈顿距离小于1;定义一个点是最安全点,如果它不是危险点,且到所有危险点的最小距离是最大的。如果所有点都是危险点,输出”MISS!”(STG中挂了一次称为1 miss),否则按字典序输出所有最安全点。分析:首先得把危险点求出来,一个点到一条之间的曼哈顿最近点要么是它水平射线的交点(当直线斜...
阅读全文
摘要:Accepted3471296MS200K对于速度V的方向有三种情况,可用V与ABCD面法向量的点积判断:1 V指向ABCD面外侧,或V与ABCD面平行,不可能进球;2 ball在ABCD面内侧,不可能进球;3 ball在ABCD面上,当且仅当 P在多边形ABCD内(不包括边界)才进球4 ball在ABCD面外侧,当且仅当 直线P+xV与ABCD面的交点Q在多边形ABCD内(不包括边界)才进球代码...
阅读全文
摘要:置换的概念还是比较好理解的,《组合数学》里面有讲。对于置换的幂运算大家可以参考一下潘震皓的那篇《置换群快速幂运算研究与探讨》,写的很好。结论一:一个长度为l的循环T,l是k的倍数,则T^k是k个循环的乘积,每个循环分别是循环T中下标i mod k=0,1,2…的元素按顺序的连接。结论二:一个长度为l的循环T,gcd(l,k)=1,则T^k是一个循环,与循环T不一定相同。结论三:一个长...
阅读全文
摘要:矩阵乘法是一种高效的算法可以把一些一维递推优化到log( n ),还可以求路径方案等,所以更是是一种应用性极强的算法。矩阵,是线性代数中的基本概念之一。一个m×n的矩阵就是m×n个数排成m行n列的一个数阵。由于它把许多数据紧凑的集中到了一起,所以有时候可以简便地表示一些复杂的模型。矩阵乘法看起来很奇怪,但实际上非常有用,应用也十分广泛。 基本定义 它是这样定义的,只有当矩...
阅读全文
摘要:在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler's totient function、φ函数、欧拉商数等。 例如φ(8)=4,因为1,3,5,7均和8互质。 从欧拉函数引伸出来在环论方面的事实和拉格朗日定理构成了欧拉定理的证明。 简介 φ函数的值 φ(1)=1(唯一和1互质的数就是1本身)。...
阅读全文

浙公网安备 33010602011771号