摘要:
区间选点 定N个闭区间[ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。 输出选择的点的最小数量。 位于区间端点上的点也算作区间内。 输入格式 第一行包含整数N,表示区间数。 接下来N行,每行包含两个整数ai,bi,表示一个区间的两个端点。 输出格式 输出一个整数,表示 阅读全文
posted @ 2020-04-22 22:03
龙雪可可
阅读(153)
评论(0)
推荐(0)
摘要:
f[i][j] 所有从(i, j)开始滑的路径 属性:Max 状态计算:分情况讨论 f(i, j):向上、向下、向左、向右 先都把第一步f(i, j)去掉,f(i, j) += f(i, j + 1) + 1; 每一步存在的条件:右边的高度小于当前点的高度。 拓扑图:不能存在环,此题中不可能存在环 阅读全文
posted @ 2020-04-22 21:35
龙雪可可
阅读(144)
评论(0)
推荐(0)
摘要:
没有上司的舞会 挑没有直接边相连的点的数量最多。 f[u, 0]所有从以u为根的子树中选择,并且不选u这个点的方案。 f[u, 1]所有从以u为根的子树中选,并且选择u这个点的方案。 属性Max; f(u, 0): ] #include <iostream> #include <algorithm> 阅读全文
posted @ 2020-04-22 21:30
龙雪可可
阅读(76)
评论(0)
推荐(0)
摘要:
f[i][j]表示第i列上一列横向摆放方格伸出来的方案数 j:本列伸出来的格子的二进制表示。 k:上列伸出来的格子的二进制表示 1)不能有冲突,即1不能有重叠,j & k == 0; 2) 连续的空格不能为奇数,因为横着的已经摆放玩了,只能放竖的了,所以不能有连续奇数个空格,j | k =奇数个0 阅读全文
posted @ 2020-04-22 20:32
龙雪可可
阅读(116)
评论(0)
推荐(0)
摘要:
数位统计DP-计数问题 分情况讨论:【a, b】,0~9 count(n, x),1~n中x出现的次数。 【a, b】中x出现的次数, 用前缀和:count(b, x) - count(a-1, x); 1 ~ n,x = 1 n = abcdefg 分别求出1在每一位上出现的次数 eg:比如求1在 阅读全文
posted @ 2020-04-22 18:14
龙雪可可
阅读(158)
评论(0)
推荐(0)
摘要:
//背包:容量是n的背包,n个物品的体积分别是1,2,3……n,恰好装满背包的方案数,每个物品可以用无限次 状态表示:f(i, j) 集合:从1~i中选,体积恰好是j的方案 属性:数量 状态计算: f(i,j):i选了0,1,2,3……n个: f[i - 1][j], f[i-1][j-i], f( 阅读全文
posted @ 2020-04-22 13:23
龙雪可可
阅读(151)
评论(0)
推荐(0)
摘要:
状态表示的时候表示的是某一段区间。 动态规划: 1、状态表示:f[i, j] 第i堆到第j堆的区间 1)集合:所有将第i堆和第j堆石子合并成一堆石子的 合并方法的集合 2)min: 所有合并方式代价的最小值 2、状态计算:f[1][n]就是所求的,从第1堆一直合并到第n堆的合并方式的最小值。 最后一 阅读全文
posted @ 2020-04-22 12:22
龙雪可可
阅读(116)
评论(0)
推荐(0)
摘要:
902. 最短编辑距离 给定两个字符串A和B,现在要将A经过若干操作变为B,可进行的操作有: 删除–将字符串A中的某个字符删除。 插入–在字符串A的某个位置插入某个字符。 替换–将字符串A中的某个字符替换为另一个字符。 现在请你求出,将A变为B至少需要进行多少次操作。 输入格式 第一行包含整数n,表 阅读全文
posted @ 2020-04-22 00:24
龙雪可可
阅读(154)
评论(0)
推荐(0)