普通DP
youth518
这个作者很懒,什么都没留下…
展开
-
P3283 [SCOI2013]火柴棍数字 DP
题意: 给定一个 nnn 位的数字,求最多移动 kkk 根火柴棒, 能形成的最大值 范围&性质: 1≤n≤500,1≤k≤35001\le n \le 500,1\le k \le 35001≤n≤500,1≤k≤3500 分析: 首先有几个很显然的贪心性质: 位数越多越好 补的前几位都是 1 (最高位有可能是7) 所以问题转化成对于原序列,再拿出尽可能多的火柴棒的前提下,留下的最大值是多少 直接DP,设 fi,j,kf_{i,j,k}fi,j,k 表示从小到大第 iii 位 此时有 jjj原创 2020-11-10 10:01:54 · 259 阅读 · 0 评论 -
P2767 树的数量 DP | 组合数学
题面: 给定n,mn,mn,m求nnn个节点的mmm叉树的形态有多少种 范围&性质:1≤n,m≤1271\le n,m\le 1271≤n,m≤127 分析: DP做法 当mmm等于2时就是卡特兰数,详情见卡特兰数定义和递推式 那我们考虑像Catlan数一样枚举每个儿子的大小然后组合起来,所以设f[i][j]f[i][j]f[i][j]表示表示根节点有iii个mmm叉子树,总个数为jjj的方案数,g[i]g[i]g[i]表示用iii个点构成一颗mmm叉树的方案数,转移时相当于往根节点上接一颗mm原创 2020-10-15 22:14:13 · 114 阅读 · 0 评论 -
CF348D LGV引理
题意: 给定一张图,图上存在障碍点,两个人从(1,1)(1,1)(1,1)出发,只能向上或向右走,走到(n,m)(n,m)(n,m)且路径不相交的方案数 数据范围:1≤n,m≤30001\le n,m\le 30001≤n,m≤3000 分析: 没什么好分析的,就是个裸题 前置芝士:LGV引理 LGVLGVLGV引理就是求解nnn组一一对应的起点到终点,且路径不相交的方案数 不会可以戳这里 题目可以转化成2个起点:(1,2),(2,1)(1,2),(2,1)(1,2),(2,1) 到 两个终点: (n,m−原创 2020-10-13 09:48:51 · 340 阅读 · 0 评论 -
P3624 [APIO2008]DNA 后缀和优化DP
题意: 我们给定一组DNA序列(只含ACGT),其中部分位置用N表示为一个不确定的核苷酸,我们规定范式-X,表示按照字典序下降次数不超过x的DNA序列,给定一个长M的未确定DNA序列,输出将序列确定下来后范式-K中第R大的序列 范围&性质: 1≤M≤5×104,1≤K≤10,1≤R≤2×10121\le M\le 5\times10^4,1\le K\le 10,1\le R\le 2\times 10^{12}1≤M≤5×104,1≤K≤10,1≤R≤2×1012,保证未完成序列在范式-K形式下总原创 2020-09-29 11:36:55 · 132 阅读 · 0 评论 -
P5566 [SDOI2008]红黑树 贪心|动态规划
题意: 求一颗nnn个节点的红黑树红色节点数目最多和最少 红黑树是满足如下性质的的染色二叉搜索树: 每个结点被染成红色或黑色; 每个前端结点为黑色结点; 任一红结点的子结点均为黑结点; 在从任一结点到其子孙前端结点的所有路径上具有相同的黑结点数。 二叉搜索树结点中的空指针看作是指向一个空结点,则称这类空结点为二叉搜索树的前端结点。并规定所有前端结点的高度为 -1。 范围&性质:1≤n≤50001\le n\le 50001≤n≤5000 分析: 贪心 首先对于一颗nnn个点的红黑树,他必定存原创 2020-09-20 11:09:06 · 343 阅读 · 0 评论 -
CF772C Vulnerable Kerbals 图论+数论gcd
题意: 给出m,n,再给一个m个数的集合让你构造一个序列满足以下的条件: 1.这个序列的所有数都在0-m-1之间(含) 2.这个数列的所有前缀积模mmm都不同 3.所有的前缀积模mmm都不能出现在给你的集合中 4.最大化这个序列的长度 输出任意满足条件的序列。 范围&性质:1≤n≤2×1051\le n \le 2\times 10^51≤n≤2×105 分析: 根据题意列出同余方程,我们可以发现当余数从一个点向另一个点转移时,存在gcd(i,m)∣jgcd(i,m)|jgcd(i,m)∣j ,这样原创 2020-09-19 08:15:26 · 204 阅读 · 0 评论 -
P4133 [BJOI2012]最多的方案 二分+DP
题意: 给定nnn,将nnn用一些斐波那契数的和表示,求有多少种表示方法,使得每种方案里不会出现相同的两个数 范围&性质:1≤n≤10181\le n\le 10^{18}1≤n≤1018 分析: 由于每一个数只能用至多一次,所以题目就转换成了一个01背包问题,但是这个背包的物品体积和容量过大,所以我们需要考虑优化,首先由于斐波那契数增长极快,第91项时已经超过了101810^{18}1018,所以我们只要先预处理出前91项,之后为了保证方案不重复,我们每次枚举删掉nnn范围内最大的斐波那契数,然后原创 2020-09-19 08:09:48 · 132 阅读 · 0 评论