随笔分类 - 数学
UVa 557 Burger (概率+递推)
摘要:题意:有 n 个牛肉堡和 n 个鸡肉堡给 2n 个客人吃,在吃之前抛硬币来决定吃什么,如果剩下的汉堡一样,就不用投了,求最后两个人吃到相同的概率。 析:由于正面考虑还要要不要投硬币,太麻烦,所以我们先求最后两人吃到不同的概率即可,再用 1 减去就OK。 假设最后两个人吃的不一样,那么前 n-2 个人
阅读全文
UVa 10213 How Many Pieces of Land ? (计算几何+大数)
摘要:题意:一块圆形土地,在圆周上选n个点,然后两两连线,问把这块土地分成多少块? 析:这个题用的是欧拉公式,在平面图中,V-E+F=2,其中V是顶点数,E是边数,F是面数。对于这个题只要计算V和E就好。 我们从一个顶点开始枚举对角线,这条线左边有 i 个点,那么右边有 n-i-2 个点,那么两边的连线在
阅读全文
UVa 1641 ASCII Area (计算几何,水题)
摘要:题意:给定一个矩阵,里面有一个多边形,求多边形的面积。 析:因为是在格子里,并且这个多边形是很规则的,所以所有格子不是全属于多边形就是全不属于,或者一半,并且我们可以根据"/"和“\”的数目来知道,如果是奇数,那么就是属于, 偶数就是不属于。 代码如下:
阅读全文
CodeForces 711D Directed Roads (DFS判环+计数)
摘要:题意:给定一个有向图,然后你可能改变某一些边的方向,然后就形成一种新图,让你求最多有多少种无环图。 析:假设这个图中没有环,那么有多少种呢?也就是说每一边都有两种放法,一共有2^x种,x是边数,那么如果有环呢?假设x是这个连通块的边数, y是这个环的边数,那么就一共有2^x * (2 ^ y - 2
阅读全文
CCF 201312-4 有趣的数 (数位DP, 状压DP, 组合数学+暴力枚举, 推公式, 矩阵快速幂)
摘要:问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次。 2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前。 3. 最高位数字不为0。 因此,符合我们定义的最小的有趣的数是2013。除此以外,4位的有趣的数还有两个:20
阅读全文
CodeForces 710B Optimal Point on a Line (数学,求中位数)
摘要:题意:给定n个坐标,问你所有点离哪个近距离和最短。 析:中位数啊,很明显。 代码如下:
阅读全文
URAL 2067 Friends and Berries (推理,数学)
摘要:题意:给定 n 个人,每个人两个值s, r,要满足,p(v, u) = sqrt((sv − su)^2 + (rv − ru)^2), p(v,u,w) = (p(v,u) + p(v,w) + p(u,w)) / 2 要求找出p(v, u) ≥ p(v,u,w) 的对数,其中w是除u,v外,任意
阅读全文
URAL 2070 Interesting Numbers (找规律)
摘要:题意:在[L, R]之间求:x是个素数,因子个数是素数,同时满足两个条件,或者同时不满足两个条件的数的个数。 析:很明显所有的素数,因数都是2,是素数,所以我们只要算不是素数但因子是素数的数目就好,然后用总数减掉就好。打个表,找找规律,你会发现, 这些数除外的数都是素数的素数次方,然后就简单了。 代
阅读全文
UVa 1640 The Counting Problem (数学,区间计数)
摘要:题意:给定两个数m, n,求从 m 到 n 中0-9数字各出现了多少次。 析:看起来挺简单的,其实并不好做,因为有容易想乱了。主要思路应该是这样的,分区间计数,先从个位进行计,一步一步的计算过来。都从0开始,最后用大数减小数的即可。 举个例子吧,容易理解。比如0-1234。 先计算个位数字,有1-4
阅读全文
CodeForces 707C Pythagorean Triples (数论)
摘要:题意:给定一个数n,问你其他两边,能够组成直角三角形。 析:这是一个数论题。 如果 n 是奇数,那么那两边就是 (n*n-1)/2 和 (n*n+1)/2。 如果 n 是偶数,那么那两边就是 (n/2*n/2-1) 和 (n/2*n/2+1)。那么剩下的就很简单了。 代码如下:
阅读全文
UVaLive 6627 First Date (转换时间)
摘要:题意:给定两个日期,两种不同算闰年的方法,导致日期不同,给定那个慢的,求你求了那个快的。 析:因为算闰年的方法不同,所以我们就要先从1582算到当前时间,算出差了多少天,再加上就好。注意跨月,跨年的情况。 代码如下:
阅读全文
UVaLive 7371 Triangle (水题,判矩形)
摘要:题意:给定两个三角形,问你能不能拼成矩形。 析:很明显,要想是矩形,必须是四个角是直角,那么三角形必须是直角三角形,然后就是只能斜边相对,然后呢?就没了。 代码如下:
阅读全文
HDU 3668 Volume (数学,积分)
摘要:题意:求图中交叉圆柱体的体积! 析:大体思路很明确,把两个圆柱的体积加起来 减去中间公共部分的即可!第一步首先得想到公共部分是一个怎样的图形。这个在高数下册例题中有讲到! 中间实线部分就是第一卦限内的图形,显然一个二重积分就可以搞定: 这种情况比较简单点,适合于2*R <= h 的时候! 如果2*R
阅读全文
HDU 3666 THE MATRIX PROBLEM (差分约束)
摘要:题意:给定一个最大400*400的矩阵,每次操作可以将某一行或某一列乘上一个数,问能否通过这样的操作使得矩阵内的每个数都在[L,R]的区间内。 析:再把题意说明白一点就是是否存在ai,bj,使得l<=cij*(ai/bj)<=u (1<=i<=n,1<=j<=m)成立。 首先把cij先除到两边去,就
阅读全文
UVaLive 6859 Points (几何,凸包)
摘要:题意:给定 n 个点,让你用最长的周长把它们严格包围起来,边长只能用小格子边长或者是小格子对角线。 析:先把每个点的上下左右都放到一个集合中,然后求出一个凸包,然后先边长转成题目的方式,也好转两个点的最小的*根号2加上两者差*1. 代码如下:
阅读全文
UVaLive 6862 Triples (数学+分类讨论)
摘要:题意:给定一个n和m,问你x^j + y^j = z^j 的数量有多少个,其中0 <= x <= y <= z <= m, j = 2, 3, 4, ... n。 析:是一个数学题加分类讨论。首先对 x进行分类讨论。 当 0 = x 时,只要 y = z,就行,那么就有(m+1) * (n-1) 个
阅读全文
UVaLive 7360 Run Step (排列组合,枚举)
摘要:题意:给定一个数 n ,表示一共有 n 步,然后你可以迈一步也可以迈两步,但是左腿和右腿的一步和两步数要一样,并且两步数不小于一步数,问你有多少种方式。 析:虽然是排列组合,但还是不会做。。。。。水啊。 思路是先分开算,先算左腿的,再算右腿的,对左腿先枚举2步的,然后再算一步的,主要是这个怎么算,我
阅读全文
UVaLive 7362 Farey (数学,欧拉函数)
摘要:题意:给定一个数 n,问你0<= a <=n, 0 <= b <= n,有多少个不同的最简分数。 析:这是一个欧拉函数题,由于当时背不过模板,又不让看书,我就暴力了一下,竟然AC了,才2s,题目是给了3s,很明显是由前面递推,前面成立的,后面的也成立, 只要判定第 i 个有几个,再加前 i-1 个就
阅读全文
UVaLive 7361 Immortal Porpoises (矩阵快速幂)
摘要:题意:求Fibonacci的第 n 项。 析:矩阵快速幂,如果不懂请看http://www.cnblogs.com/dwtfukgv/articles/5595078.html 是不是很好懂呢。 代码如下: 这也是运用矩阵快速幂的思想写的。 代码如下:
阅读全文