随笔分类 - 数学几何————数学和几何
POJ 2546 Circular Area(两个圆相交的面积)
摘要:题目链接题意 : 给你两个圆的半径和圆心,让你求两个圆相交的面积大小。思路 : 分三种情况讨论假设半径小的圆为c1,半径大的圆为c2。c1的半径r1,圆心坐标(x1,y1)。c2的半径r2,圆心坐标(x2,y2)。d为两圆圆心连线的长度。相交面积为Sd=sqrt((x1-x2)^2+(y1-y2)^...
阅读全文
URAL 1430. Crime and Punishment(数论)
摘要:题目链接题意 :给你a,b,n,让你找出两个数x,y,使得n-(a*x+b*y)最小。思路 : 分大小做,然后枚举a的倍数 1 #include 2 #include 3 #include 4 #define LL __int64 5 6 using namespace std ; 7 8...
阅读全文
URAL 1091. Tmutarakan Exams(容斥原理)
摘要:题目链接题意 : 给你两个数k,s,让你找k个数,这k个数都不大于s,并且这k个数的公约数大于1。思路 : 枚举一下素数倍数,求组合数,最后容斥原理求最终结果。当k=3,s=20的时候 :2 : 2 4 6 8 10 12 14 16 18 203 :3 6 9 12 15 185 :5 10 15...
阅读全文
URAL 1356. Something Easier(哥德巴赫猜想)
摘要:题目链接题意 : 给你一个数n,让你找出几个素数,使其相加为n,输出这些素数。思路 :哥德巴赫猜想 :任何一个大于 6的偶数都可以表示成两个素数之和。任何一个大于9的奇数都可以表示成三个素数之和。而在该题中,偶数中2本身就是个素数,奇数中小于9的都是素数,所以只要写一个判断素数的函数即可,这样不在范...
阅读全文
URAL 1141. RSA Attack(欧拉定理+扩展欧几里得+快速幂模)
摘要:题目链接题意 : 给你n,e,c,并且知道me≡ c (mod n),而且n = p*q,pq都为素数。思路 : 这道题的确与题目名字很相符,是个RSA算法,目前地球上最重要的加密算法。RSA算法原理。看到这个算法之后,就知道这个题是求cd≡m(mod n),要求m,就要先求d,而d则是e的模反元素...
阅读全文
URAL 1748. The Most Complex Number(反素数)
摘要:题目链接题意 :给你一个n,让你找出小于等于n的数中因子个数最多的那个数,并且输出因子个数,如果有多个答案,输出数最小的那个思路 : 官方题解 :(1)此题最容易想到的是穷举,但是肯定超时。(2)我们可以知道,计算约数的个数和质因数分解有着很大的联系: 若Q的质因数分解为:Q=p1^k1*p2^k2...
阅读全文
URAL 1355. Bald Spot Revisited(数论)
摘要:题目链接题意 :一个学生梦到自己在一条有很多酒吧的街上散步。他可以在每个酒吧喝一杯酒。所有的酒吧有一个正整数编号,这个人可以从n号酒吧走到编号能整除n的酒吧。现在他要从a号酒吧走到b号,请问最多能喝到多少酒。思路 :因为b肯定要是a的倍数,是a从头开始乘下去的,实际上就是找构成b/a的素数划分,有多...
阅读全文
URAL 1204. Idempotents (扩展欧几里得)
摘要:题目链接题意 : 给你一个同余方程,x*x ≡ x (mod n),让你求出所有的小于n的x。思路 :先来看同余的概念 :给定一个正整数m,如果两个整数a和b满足a-b能被m整除,即m|(a-b),那么就称整数a与b对模m同余,记作a≡b(mod m)。对模m同余是整数的一个等价关系。因此题目中给定...
阅读全文
URAL 1133 Fibonacci Sequence(数论)
摘要:题目链接题意 :给你第 i 项的值fi,第 j 项的值是 fj 让你求第n项的值,这个数列满足斐波那契的性质,每一项的值是前两项的值得和。思路 :知道了第 i 项第j项,而且还知道了每个数的范围,二分求第 i+1项,然后根据性质求下去,求到第 j 项的时候看看通过二分求出来的值与给定的第j项的值大小...
阅读全文
Codeforces Round #272 (Div. 1) A. Dreamoon and Sums(数论)
摘要:题目链接Dreamoon loves summing up something for no reason. One day he obtains two integersaandboccasionally. He wants to calculate the sum of allniceinteg...
阅读全文
URAL 1104 Don’t Ask Woman about Her Age(数论)
摘要:题目链接题意 : 给你一个数,未知进制,然后让你从2到36进制中找出一个最小的进制K,满足给你的这个数作为k进制时能够整除k-1。思路 : 有一个公式,(a*b^n)mod(b-1)=a;给定你这个数,当做字符串输入的时候,这个数转化成10进制的结果应该是:a[0]*k^(n-1)+a[1]*k^(...
阅读全文
HDU 5033 Building (维护单调栈)
摘要:题目链接题意:n个建筑物,Q条询问,问所在的位置,看到天空的角度是多少,每条询问的位置左右必定是有建筑物的。思路 : 维护一个单调栈,将所有的建筑物和所有的人都放到一起开始算就行,每加入一个人,就维护栈里的建筑物的高度,也就是说这个人所能够看到的建筑物时在栈里的,但是这个人看不到的就删掉,例如下图,...
阅读全文
2014 ACM/ICPC Asia Regional Xi'an Online(HDU 5007 ~ HDU 5017)
摘要:题目链接A题 :(字符串查找,水题)题意 :输入字符串,如果字符串中包含“Apple”, “iPhone”, “iPod”, “iPad” 就输出 “MAI MAI MAI!”,如果出现“Sony”就输出“SONY DAFA IS GOOD!” ,大小写敏感。思路 :字符串查找,水题。 1 #inc...
阅读全文
POJ 3384 Feng Shui(半平面交向内推进求最远点对)
摘要:题目链接题意 : 两个圆能够覆盖的最大多边形面积的时候两个圆圆心的坐标是多少,两个圆必须在多边形内。思路 : 向内推进r,然后求多边形最远的两个点就是能覆盖的最大面积。#include #include #include #include using namespace std ; struct ...
阅读全文
POJ 3525 Most Distant Point from the Sea (半平面交向内推进+二分半径)
摘要:题目链接题意 : 给你一个多边形,问你里边能够盛的下的最大的圆的半径是多少。思路 :先二分半径r,半平面交向内推进r。模板题 1 #include 2 #include 3 #include 4 #include 5 const double eps = 1e-10 ; 6 ...
阅读全文
POJ 1279 Art Gallery(半平面交求多边形核的面积)
摘要:题目链接题意 : 求一个多边形的核的面积。思路 : 半平面交求多边形的核,然后在求面积即可。#include #include #include #include using namespace std ;struct node{ double x; double y ;} p[1510...
阅读全文
POJ 3130 How I Mathematician Wonder What You Are!(半平面交求多边形的核)
摘要:题目链接题意 : 给你一个多边形,问你该多边形中是否存在一个点使得该点与该多边形任意一点的连线都在多边形之内。思路 : 与3335一样,不过要注意方向变化一下。 1 #include 2 #include 3 #include 4 #include 5 6 using namespace ...
阅读全文
POJ 3335 Rotating Scoreboard(半平面交求多边形核)
摘要:题目链接题意 : 给你一个多边形,问你在多边形内部是否存在这样的点,使得这个点能够看到任何在多边形边界上的点。思路 : 半平面交求多边形内核。半平面交资料关于求多边形内核的算法什么是多边形的内核?它是平面简单多边形的核是该多边形内部的一个点集,该点集中任意一点与多边形边界上一点的连线都处于这个多边形...
阅读全文
POJ 1113 Wall(Graham求凸包周长)
摘要:题目链接题意 : 求凸包周长+一个完整的圆周长。因为走一圈,经过拐点时,所形成的扇形的内角和是360度,故一个完整的圆。思路 : 求出凸包来,然后加上圆的周长 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 const...
阅读全文
HDU 1392 Surround the Trees (Graham求凸包周长)
摘要:题目链接题意 : 让你找出最小的凸包周长 。思路 : 用Graham求出凸包,然后对每条边求长即可。Graham详解 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std ; 8 9...
阅读全文