09 2018 档案

摘要:题意:有T个队伍,有M道题,要求每个队至少有一道题,并且有队伍至少过N道题的概率。 这个题解主要讲一下,后面的,至少有一道题解决和至少一道题至N-1道题解决,到底怎么算的,其实,很简单,就是母函数。 ac代码: 阅读全文
posted @ 2018-09-30 19:57 青山新雨 阅读(135) 评论(0) 推荐(0) 编辑
摘要:题意:给你n个奖,每个机会只能中一个奖,中奖的概率分别是{p1,p2,p3......pn};并且这些奖是两两没有交集。(pi*pj=0)问,需要多少次才能把所有奖都中完的期望值。 先来分析:中所有奖事件A={{中奖A1},{中奖A2},{中奖A3}.....{中奖An}},是不是相当于A事件满足了 阅读全文
posted @ 2018-09-29 19:59 青山新雨 阅读(153) 评论(0) 推荐(0) 编辑
摘要:题意:就是让你从(1,1)走到(r, c)而且每走一格要花2的能量,有三种走法:1,停住。2,向下走一格。3,向右走一格。问在一个网格中所花的期望值。 首先:先把推导动态规划的基本步骤给出来。 · 1.设变量:(注意:设置变量时,要能够使整个求解过程可以分为多个阶段。) 2.分析阶段决策,并写出决策 阅读全文
posted @ 2018-09-28 17:46 青山新雨 阅读(174) 评论(0) 推荐(0) 编辑
摘要:#include #define maxn int(1e4) bool dp[maxn][maxn]; int n; void f1(int x, int y) { dp[x][y] = 1; int i = x + 1, j = y; int k = 0; while (1) { ++k; if (i > 0 && i ... 阅读全文
posted @ 2018-09-27 00:32 青山新雨 阅读(333) 评论(0) 推荐(0) 编辑
摘要:题意:给你一个网格,每个格子的有三个概率 p1,p2,p3,分别表示,停下的概率,右走一格的概率,下走一格的概率。每行动一次花费2个金币,问你,从(i,j)走到(x,y)金币的期望值。 思路: 直接把他作为一个dp题,,来看更好理解。那么(x1,y1)来自于(x1-1,y1),(x1, y1-1)和 阅读全文
posted @ 2018-09-26 16:38 青山新雨 阅读(306) 评论(0) 推荐(0) 编辑
摘要:这道题,先说一下单色三角形吧,推荐一篇noip的论文《国家集训队2003论文集许智磊》 链接:https://wenku.baidu.com/view/e87725c52cc58bd63186bd1b.html?from=search 单色三角形指的是n个顶点,有n(n-1)条边,很明显是每个点两两 阅读全文
posted @ 2018-09-21 22:12 青山新雨 阅读(739) 评论(0) 推荐(0) 编辑
摘要:就是输出n时,莫比乌斯函数的值。直接将n唯一分解即可。 思路:筛出105以内的素数,因为109开方,105就差不多。当一个大数还没有被1000个素数分解,那么这个数基本上可以认为是素数(为合数为小概率了)。使用欧拉筛筛出105以内的素数,然后枚举素数试除即可 ac代码: 阅读全文
posted @ 2018-09-21 08:27 青山新雨 阅读(219) 评论(0) 推荐(0) 编辑
摘要:题意:设a, b, c, d, k。 x属于[a, b], y属于[c, d]。问满足gcd(x, y)=k的(x, y)的对数是多少?注意:a=c=1; 公式推导: 注意一下,中间过程别爆精度: ac代码: 阅读全文
posted @ 2018-09-20 22:22 青山新雨 阅读(246) 评论(0) 推荐(0) 编辑
摘要:题意:哥德巴赫猜想。问一个大于2的偶数能被几对素数对相加. 思路:欧拉筛,因为在n<215,在3万多,一个欧拉筛得时间差不多4*104, 那么筛出来的素数有4千多个,那么两两组合直接打表,时间复杂度下于16*106 则时间还是卡的过去。 ac代码: 阅读全文
posted @ 2018-09-19 15:51 青山新雨 阅读(170) 评论(0) 推荐(0) 编辑
摘要:题意:给你一个数n, 定义m=2k-1, {k|1<=k<=n},并且 k为素数; 当m为合数时,求分解为质因数,输出格式如下:47 * 178481 = 8388607 = ( 2 ^ 23 ) - 1 分析:要分解m,首先要判断m是否为合数,直接用米勒拉宾判断,但是后面的大合数分解,一开始用了试 阅读全文
posted @ 2018-09-19 14:09 青山新雨 阅读(390) 评论(0) 推荐(0) 编辑
摘要:题意:x可以表示为bp, 求这个p的最大值,比如 25=52, 64=26, 然后输入x 输出 p 就是一个质因子分解、算法。(表示数据上卡了2个小时。) 合数质因子分解模板。 两种方法: 方法一:时间最坏的时间复杂度是(大概10^8*n)就是这种方法,数据卡了很久,如果数据再给狠一点肯定不过,应为 阅读全文
posted @ 2018-09-17 21:48 青山新雨 阅读(346) 评论(0) 推荐(0) 编辑
摘要:题意:给你一个个数对a, b 表示ab这样的每个数相乘的一个数n,求n-1的质数因子并且每个指数因子k所对应的次数 h. 先把合数分解模板乖乖放上: 然后,我自己写了个快速幂 快速幂的模板: AC代码: 阅读全文
posted @ 2018-09-15 23:36 青山新雨 阅读(253) 评论(0) 推荐(0) 编辑
摘要:题意:在1—n的数字,放入编号为1—n的框中,每个框只放一个数字,问数字与所放的框的编号不同的个数的期望值。 思路:在1—n中任选一个数字,设为k 那么 k 排到非k编号的框中的方案数为 n!-(n-1)!(n!是所有数的全排列,(n-1)!是k放在k框中的全排列) 那么有n个数字,就是n*( n! 阅读全文
posted @ 2018-09-15 22:21 青山新雨 阅读(453) 评论(0) 推荐(1) 编辑
摘要:题意:不说了。 更加偏向于数学不好的小可爱来理解的。 这篇博客更加偏重于容斥的讲解。用最直观的数学方法介绍这个题。 思路: 在a<=x<=b. c<=y<=d 中满足 x*y%2018=0. 其实,2018的质因子为 2, 1009。 好吧,那么关于2018的倍数都可以表示为 2k*1009*u. 阅读全文
posted @ 2018-09-15 15:48 青山新雨 阅读(322) 评论(0) 推荐(0) 编辑
摘要:第一行包含三个正整数N、M、S,分别表示树的结点个数、询问的个数和树根结点的序号。 接下来N-1行每行包含两个正整数x、y,表示x结点和y结点之间有一条直接连接的边(数据保证可以构成树)。 接下来M行每行包含两个正整数a、b,表示询问a结点和b结点的最近公共祖先。 输出格式: 输出包含M行,每行包含 阅读全文
posted @ 2018-09-13 21:48 青山新雨 阅读(214) 评论(0) 推荐(0) 编辑
摘要:题意; 有n个装备,每个装备有m个属性,每件装备的价值为cost。 小哥,为了省钱,如果第j个装备的属性可以由其他准备组合而来。比如 每个装备属性表示为, b1, b2.......bm . 它可以由其他2个装备组合而成,则 b1=k1*a1+h1*c1. b2=k1*a2+h2*c1....... 阅读全文
posted @ 2018-09-13 20:43 青山新雨 阅读(287) 评论(0) 推荐(0) 编辑
摘要:题意:一条路上有n个地雷,给出地雷的位置。某人从起点(位置1)出发,走一步的概率是p,走两步的概率是(1-p),然后问有多少概率走过这个雷区。 思路: 只要走过最后一个地雷就代表走过雷区了。 而每到 i 这个地方,无非是前一步和前两步走过来的。那么公式就是dp[ i ]= p*dp[ i-1 ]+d 阅读全文
posted @ 2018-09-08 20:53 青山新雨 阅读(162) 评论(0) 推荐(0) 编辑
摘要:这大概是我写的第一个DFS 题目描述 农民约翰的母牛总是产生最好的肋骨。你能通过农民约翰和美国农业部标记在每根肋骨上的数字认出它们。农民约翰确定他卖给买方的是真正的质数肋骨,是因为从右边开始切下肋骨,每次还剩下的肋骨上的数字都组成一个质数,举例来说: 7 3 3 1 全部肋骨上的数字 7331是质数 阅读全文
posted @ 2018-09-03 23:01 青山新雨 阅读(461) 评论(0) 推荐(0) 编辑
摘要:素数判定 √n/2的复杂度 阅读全文
posted @ 2018-09-03 22:21 青山新雨 阅读(321) 评论(0) 推荐(0) 编辑
摘要:题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列: f(1)=1f(1) = 1 f(1)=1 f(2)=1f(2) = 1f(2)=1 f(n)=f(n−1)+f(n−2)f(n) = f(n-1) + f(n-2)f(n)=f(n−1)+f(n−2) (n≥2n ≥ 2n≥2 且 nn 阅读全文
posted @ 2018-09-03 22:08 青山新雨 阅读(314) 评论(0) 推荐(0) 编辑
摘要:有这样一段程序,fun会对整数数组A进行求值,其中Floor表示向下取整: fun(A) sum = 0 for i = 1 to A.length for j = i+1 to A.length sum = sum + Floor((A[i]+A[j])/(A[i]*A[j])) return s 阅读全文
posted @ 2018-09-01 09:21 青山新雨 阅读(263) 评论(0) 推荐(0) 编辑
摘要:有编号1-n的n个格子,机器人从1号格子顺序向后走,一直走到n号格子,并需要从n号格子走出去。机器人有一个初始能量,每个格子对应一个整数A[i],表示这个格子的能量值。如果A[i] > 0,机器人走到这个格子能够获取A[i]个能量,如果A[i] < 0,走到这个格子需要消耗相应的能量,如果机器人的能 阅读全文
posted @ 2018-09-01 08:06 青山新雨 阅读(280) 评论(0) 推荐(0) 编辑
摘要:S[0...n-1]是一个长度为n的字符串,定义旋转函数Left(S)=S[1…n-1]+S[0].比如S=”abcd”,Left(S)=”bcda”.一个串是对串当且仅当这个串长度为偶数,前半段和后半段一样。比如”abcabc”是对串,”aabbcc”则不是。 现在问题是给定一个字符串,判断他是否 阅读全文
posted @ 2018-09-01 07:51 青山新雨 阅读(182) 评论(0) 推荐(0) 编辑

more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示