随笔分类 - 数学
UVa 766 Sum of powers (伯努利数)
摘要:题意: 求 ,要求M尽量小。 析:这其实就是一个伯努利数,伯努利数公式如下: 伯努利数满足条件B0 = 1,并且 也有 几乎就是本题,然后只要把 n 换成 n-1,然后后面就一样了,然后最后再加上一个即可。 代码如下:
阅读全文
SPOJ - AMR11H Array Diversity (水题排列组合或容斥)
摘要:题意:给定一个序列,让你求两种数,一个是求一个子序列,包含最大值和最小值,再就是求一个子集包含最大值和最小值。 析:求子序列,从前往记录一下最大值和最小值的位置,然后从前往后扫一遍,每个位置求一下数目就好。 求子集可以用排列组合解决,很简单,假设最大值个数是 n,最小值的数是 m,总数是 N,答案就
阅读全文
HDU 5894 hannnnah_j’s Biological Test (组合数学)
摘要:题意:给你n 个座位,和m 个人, 安排在一个圆桌子上,要求任意两个人之间的座位至少为k 个,求方案数,答案对1e9取模。 析:一开始,我没看到是圆桌,推出一个非圆桌的,但是一换成圆桌,当时脑子就乱,先求出至少要占用多少座位,学生和空座位。 那么就剩下了 n - m - m * k 个空座位,问题就
阅读全文
CodeForces 785D Anton and School - 2 (组合数学)
摘要:题意:有一个只有’(‘和’)’的串,可以随意的删除随意多个位置的符号,现在问能构成((((((…((()))))….))))))这种对称的情况有多少种,保证中间对称,左边为’(‘右边为’)’。 析:通过枚举 ‘(’ 来计算有多少种情况,假设 第 i 个括号前面有 n 个 '(',右边有 m 个 ')
阅读全文
CodeForces 402D Upgrading Array (数学+DP)
摘要:题意:给出一个数列,可以进行一种操作将某一个前缀除去他们的gcd,有一个函数f(x),f(1) = 0 , f(x) = f(x/p)+1,f(x) = f(x/p)-1(p是坏素数), 求 sum(f[a[i]]) 的最大值。 析:因为f(1) = 0,否则如果是好素数,那么就加一,如果是坏素数就
阅读全文
LightOJ 1311 Unlucky Bird (物理题)
摘要:题意:有点长,意思是说有一个鸟,在两列火车之间不停的来回飞,两列相距为d时,都开始减速,直到最后停止下来,正好是相距0米, 现在给定两列车的速度和减速时的加速度,和鸟的速度求 d 和鸟飞过的路程。 析:就是一个简单的追及相遇问题,注意的是求的飞行时间时,要计算两列火车制动时间最长的那个。 代码如下:
阅读全文
HDU 5974 A Simple Math Problem (解方程)
摘要:题意:给定a和b,求一组满足x+y=a && lcm(x, y)=b。 析:x+y = a, lcm(x, y) = b,=>x + y = a, x * y = b * k,其中 k = gcd(x, y)。 然后第一个式子同时除以k,第二个式子同时除以k*k,那么x/k,和y/k是互质的,那么a
阅读全文
HDU 5245 Joyful (期望)
摘要:题意:进行K次染色,每次染色会随机选取一个以(x1,y1),(x2,y2)为一组对角的子矩阵进行染色,求K次染色后染色面积的期望值(四舍五入)。 析:我们可以先求出每个格子的期望,然后再加起来即可。我们可以把格子进行划分,然后再求概率。 代码如下:
阅读全文
HDU 3915 Game (高斯消元)
摘要:题意:有n堆石子,每个人只能从某一堆至少拿走一个,不能拿者败。问事先拿走某些堆的石子,使得先手必败。 析:将石子拆成二进制,未知数为1表示保留该堆石子,为0表示事先拿走该堆石子。最后求自由变元的数目,就是2的幂。 代码如下:
阅读全文
UVa 10214 Trees in a Wood. (数论-欧拉函数)
摘要:题意:给定一个abs(x) <= a, abs(y) <= b,除了原点之外的整点各有一棵树,可以相互阻挡,求从原点可以看到多少棵树。 析:由于a < b,所以我们可以一列一列的统计,第 x 列可以看到的树的个数就是 0 < y <= b中gcd(x, y) = 1的y的个数。 然后就可以分别统计,
阅读全文
HDU 1207 汉诺塔II (简单DP)
摘要:题意:中文题。 析:在没有第四个柱子时,把 n 个盘子搬到第 3 个柱子时,那么2 ^ n -1次,由于多了一根,不知道搬到第四个柱子多少根时是最优的, 所以 dp[i] 表示搬到第4个柱子 i 个盘子时,步数最少,dp[i] = min{ dp[j] + (1<<i-j) - 1}。 也可以找规律
阅读全文
HDU 1270 小希的数表 (暴力枚举+数学)
摘要:题意:... 析:我们可以知道,a1+a2=b1,那么我们可以枚举a1,那么a2就有了,并且a1+a3=b2,所以a3就有了,我们再从把里面的剩下的数两两相加,并从b数组中去掉, 那么剩下的最小的就是a4,然后依次可以求出a5,a6....由于a最大才是5000,并且保证有唯一解,那么找到一个就直接
阅读全文
CodeForces 743C Vladik and fractions (数论)
摘要:题意:给定n,求三个不同的数满足,2/n = 1/x + 1/y + 1/z。 析:首先1是没有解的,然后其他解都可以这样来表示 1/n, 1/(n+1), 1/(n*(n+1)),这三个解。 代码如下:
阅读全文
HDU 4336 Card Collector (期望DP+状态压缩 或者 状态压缩+容斥)
摘要:题意:有N(1<=N<=20)张卡片,每包中含有这些卡片的概率,每包至多一张卡片,可能没有卡片。求需要买多少包才能拿到所以的N张卡片,求次数的期望。 析:期望DP,是很容易看出来的,然后由于得到每张卡片的状态不知道,所以用状态压缩,dp[i] 表示这个状态时,要全部收齐卡片的期望。 由于有可能是什么
阅读全文
UVaLive 7143 Room Assignment (组合数+DP)
摘要:题意:有 n 个客人,m个房间,每个房间可住ci个人,这 n 个人中有 t 对双胞胎,sum{ci} = n 问你有多少种住房方法。 析:计数DP,dp[i][j] 表示前 i 个房间,还剩下 j 对双胞胎未住,第 i+1 个房间,就从剩下的 j 对双胞胎中选 k 对,然后再从不是双胞胎的人选剩下的
阅读全文
POJ 1006 Biorhythms (中国剩余定理)
摘要:题意:人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28天和33天。每一个周期中有一天是高峰。在高峰这天, 人会在相应的方 面表现出色。例如,智力周期的高峰,人会思维敏捷,精力容易高度集中。因为三个周期的周长不同,所以通常三个周期的高峰不会落在同一天。 对于每个人,我们
阅读全文
UVa 11806 Cheerleaders (数论容斥原理)
摘要:题意:给定一个n*m的棋盘,要放k个石子,要求第一行,最后一行,第一列,最后一列都有石子,问有多少种放法。 析:容斥原理,集合A是第一行没有石子,集合B是最后一行没有石子,集合C是第一列没有石子,集合D是最后一列没有石子,如果某一行或某一列, 没有,那么就相当于减少一行或者一列。 代码如下:
阅读全文
UVa 11440 Help Tomisu (数论欧拉函数)
摘要:题意:给一个 n,m,统计 2 和 n!之间有多少个整数x,使得x的所有素因子都大于M。 析:首先我们能知道的是 所有素数因子都大于 m 造价于 和m!互质,然后能得到 gcd(k mod m!, m!) = 1,也就是只要能求出不超过 m!且和 m! 互质的个数就好,也就是欧拉函数呗,但是,,,m
阅读全文