随笔分类 - 4. 动态规划dp
摘要:1415: [Noi2005]聪聪和可可 Description Input 数据的第1行为两个整数N和E,以空格分隔,分别表示森林中的景点数和连接相邻景点的路的条数。 第2行包含两个整数C和M,以空格分隔,分别表示初始时聪聪和可可所在的景点的编号。 接下来E行,每行两个整数,第i+2行的两个整数A
阅读全文
摘要:Race to 1 题目大意:给你一个正整数n,每次选不超过n的素数P,如果P | n,则n /= P。问把N变成1的期望操作次数 马尔科夫过程,即将状态转移看做一个FSM(有限状态机),每个状态用节点表示,转移用边表示,边权为转移概率 f[x]表示x变为1期望操作次数,p(x)表示小于等于x的素数
阅读全文
摘要:题目大意:每晚打游戏。每晚中,赢一局概率p,最多玩n局,一直玩到胜率严格大于p时才能停止游戏并高高兴兴回家,否则只能打满n局垂头丧气回家。问打游戏的天数的期望。 考虑“垂头丧气回家”的概率 设dp[i][j]表示i天,赢了j天,且胜率小于等于p的概率dp[i][j] = dp[i-1][j] * (
阅读全文
摘要:题目大意:n个麻球,第一天有k个,麻球生命期为一天,临近死亡前会有i的几率生出Pi个麻球。问m天后麻球全部死亡概率 设f[i]表示i天后一个麻球全部死亡的概率 有f[1] = P0 f[i] = P0 + P1 * f[1] + P2 * f[2]^2 + ... + Pi * f[i]^i + .
阅读全文
摘要:Series-Parallel Networks https://vjudge.net/problem/UVA-10253 如果用一个节点表示串联/并联操作,用一棵树表示每一个串并联网络,要求一个节点代表的串并联网络全部按照这个节点表示的方式(串联/并联)拆开成为他的子节点 不难发现除了叶子节点为单
阅读全文
摘要:题目大意:蓝书P115 不愧是WF的题 不难发现R的个数为L/2 + 2,O的个数为L/2 - 2 三种做法,第一种比较麻烦,dp[i][j][k][l]表示i个R,j个O,第一个元素是(k)R,最后一个元素是(l)R 不难发现i - j > 5无意义,线性复杂度 第二种,压缩状态。 不难发现求得的
阅读全文
摘要:Investigating Div-Sum Property 题目大意:给定一个k,求a <= x <= b的,且x%k为0,x十进制下%k为0,有多少个x 题解: 数位dp套路题 ddp[i][j][a]表示i位数,%k为j,各位数加和%k为a的数有多少 初始化出i=1的状态,枚举往后面一位加的数
阅读全文
摘要:Exploring Pyramids 题目大意:给定一个欧拉序列(即每经过一个点,把这个点加入序列),问有多少种对应的多叉树 序列与树构造对应问题,考虑区间DP dp[i][j]表示序列i...j对应二叉树个数 初始i == j,dp[i][j] = 1 dp[i][j] = 0,i!=j 转移:d
阅读全文
摘要:Stand in a Line 大意:有n个人排队,问有多少种排列使得没有人排在他的父亲前面 不难发现这是一个森林 设一个虚根root把所有树的根连起来,root排在所有方案的最前面,总方案数不变 设i的儿子为son1(i),son2(i)....sonk(i),k位i儿子的数量 设size[i]为
阅读全文
摘要:Sharing Chocolate 给你x*y巧克力,问你能不能切成n块给定面积的巧克力,每次只能沿一条方格线所在直线切且不能同时切割多块巧克力 dp[r][c][S]表示r*c切S集合面积是否可行 不难发现r*c=S集合面积的和是可行的必要条件,因此c可以通过S集合面积的和推出,状态简化为dp[r
阅读全文
摘要:Robotruck This problem is about a robotic truck that distributes mail packages to several locations in a factory. The robot sits at the end of a conve
阅读全文
摘要:Placing Lampposts 给你一个森林。选择一些点放灯,每个灯可以照亮所在点周围的所有边。优先最小化灯的数量,使所有边被照亮,然后最大化被两盏灯照亮的边的个数 由于 被两盏灯照亮的边的个数 + 被一盏灯照亮的边的个数 = 边数 把“最大化被两盏灯照亮的边的个数”转换为“最小化被一盏灯照亮的
阅读全文
摘要:Hackers' Crackdown https://vjudge.net/problem/UVA-11825 题目大意:n台电脑,n中服务,每台电脑有全部的服务,每台电脑可以选择一种服务,使得这台电脑和它连接的电脑服务终止。问最多能让多少种服务完全瘫痪,一种服务完全瘫痪是指没有任何一台电脑运行这种
阅读全文
摘要:Game of Sum 给定n个数数列,两个人交替拿数,每次只能拿左边连续一段或右边连续一段,必须拿至少一个数。两人均采用最优策略拿和更大的数,问先手得分-后手得分值。 dp[i][j]表示i..j数列先手最大,sum[i] = num[1] + num[2] + ... + num[i - 1]
阅读全文
摘要:And Then There Was One https://vjudge.net/problem/UVALive-3882 题目大意:n个数编号1..n排成一圈,第一次删除m,后来每k个删除一个(下一次删除m + k....),问最后剩下哪一个? 先考从0开始数,每k个删除一个。设f[i]表示共有
阅读全文
摘要:Beijing Guards Beijing was once surrounded by four rings of city walls: the Forbidden City Wall, the Imperial City Wall, the Inner City Wall, and fina
阅读全文
摘要:1076: [SCOI2008]奖励关 Description 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关。在这个奖励关里,系统将依次随机抛出k次宝物, 每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再吃)。 宝物一共有n种,系统每次抛出这n种宝
阅读全文
摘要:1087: [SCOI2005]互不侵犯King Description 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上 左下右上右下八个方向上附近的各一个格子,共8个格子。 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能
阅读全文
摘要:1270: [BeijingWc2008]雷涛的小猫 Description Input Output Sample Input Sample Output 8 HINT Source dp水题 题解见代码注释 1 #include <iostream> 2 #include <cstdio> 3
阅读全文
摘要:1003: [ZJOI2006]物流运输 Description 物流公司要把一批货物从码头A运到码头B。由于货物量比较大,需要n天才能运完。货物运输过程中一般要转 停好几个码头。物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪。由于各种 因素的存在,有的时候某个码头会无
阅读全文