摘要: 题意:给出一张地图,分为可走和不可走,有 T次询问,每次给出 3对坐标,分别为空白格子,指定的可移动棋子,目标位置的初始坐标,求出将可移动棋子移动到目标位置的最小步数; 解法:BFS建图+SPFA; 1.BFS建图: 首先可以想到,只有空格在目标棋子的旁边,才可以使目标棋子移动; 进行一次移动后,空 阅读全文
posted @ 2019-10-25 11:28 hfutgy 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 题意:有 n节课程,每个课程有两个上课地点,初始都是在第一个上课地点上课,对于每一节课程,都可以有一个申请切换上课地点的要求,申请有一定的概率通过或不通过,但是一共只能有 m次申请的机会,而且对于每一节课程只能申请一次,而人在各个教室之间移动时,都要耗费体力值,求最小的体力耗费期望。 解法:期望+D 阅读全文
posted @ 2019-10-24 15:05 hfutgy 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 差分约束可以分为求最大值或最小值; 1. 求最大值: 形如求 f[n]-f[0] 的最大值,那么该式肯定有一个上界 ,那么我们就需要列出形如 xi-xj<=d (连一条 j -> i 的边权为 d 的边)的方程组,又因为在对式子取最大值时,我们所取的那个上界肯定是最小的那一个,所以是在建好了的图上跑 阅读全文
posted @ 2019-10-22 09:50 hfutgy 阅读(119) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-10-18 19:12 hfutgy 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题意:给出 n 个数,取到每个数的概率相等,求取完所有的数的概率; 解法:期望; 1.期望;我们可以设 f[i] 表示已经取完了 i 个数的期望,接下来我们考虑如何从 f[i] 转移到 f[i+1] ; 取一次:有 1*(n-i)/n 的期望抽到不同的数; ...... 取K次:有 K*[(i/n) 阅读全文
posted @ 2019-10-18 19:00 hfutgy 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一个多边形,每个顶点上都有数字,任意两个顶点之间的边都有一个符号(+,×),每删掉一条边,就可以让该边的两个顶点通过该边的运算符号来计算得到一个新的顶点,求一个删边策略使得最终剩下一个点时,该点数值最大,并输出删掉的第一条边能得到最大值的序号; 解法:区间DP; 1.区间DP;先断环为链, 阅读全文
posted @ 2019-09-30 09:32 hfutgy 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题意:给出7个数,求他们连续出现七个互不相同的数的期望;(这七个数相加的总和可以 >7) 解法:期望; 1.期望:根据题意,我们可以很容易地推出前七个数的期望: 7!×∏a[i]/∏6i=0(n-i), 其中 n=∑a[i]; 但是,这只是考虑了 1~7 这段的期望值,那么 1~n 一共有 (n-6 阅读全文
posted @ 2019-09-26 21:02 hfutgy 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一棵树,有边权,只有叶子节点有点权,求一个合法方案(选择走到哪几个叶子节点,且路径上的权值和 <= 要走到的叶子节点的点权和),使得选择的叶子节点数量尽量的多; 解法:树形DP+分组背包; 1.树形DP;这是一棵树,所以叫树形DP; 2.分组背包;在这里主要是运用到了它的思想;我们可以设 阅读全文
posted @ 2019-09-24 16:54 hfutgy 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 树链剖分,顾名思义,就是将一棵树上的节点按照一个特殊的方式重新编号,这样我们就可以利用一些数据结构去优化加速一些树上的操作; 现在要介绍的是重链剖分; 首先明确一些概念: 重儿子:父亲节点的所有儿子中子树结点数目最多(size最大)的结点; 轻儿子:父亲节点中除了重儿子以外的儿子; 重边:父亲结点和 阅读全文
posted @ 2019-09-24 15:44 hfutgy 阅读(124) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-09-20 12:29 hfutgy 阅读(5) 评论(0) 推荐(0) 编辑