随笔- 1046
文章- 115
评论- 19
阅读-
36万
随笔分类 - 动态规划(DP)
CodeForces 146E Lucky Subsequence (排列组合 + DP)
摘要:CodeForces 146E Lucky Subsequence 题意 首先定义了一种叫幸运数,幸运数是只包含数字4和数字7的数字。给定n()个数,每个数字都不大于 ,让你从中选出k个数,这k个数只要下标不同就算不同,并且这k个数中都不包含两个相同的幸运
阅读全文
CodeForces 1467D Sum of Paths (动态规划)
摘要:CodeForces 1467D Sum of Paths 题意 有一条直线,直线上有 n(n ⇐ 5000) 个点,每个点有一个值,你可以选择在任意点出发,移动 k(k ⇐ 5000) 步,只能向左或向右移动,但是可以多次经过同一个点,所有可能出现的路径称好路径。下面有 q(q ⇐ 200000)
阅读全文
HDU 6778 Car (状压DP)
摘要:Car Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 272 Accepted Submission(s): 113 Problem Descr
阅读全文
HDU 6567 Cotree (树的重心+并查集+树形DP)
摘要:Cotree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 1215 Accepted Submission(s): 416 Problem
阅读全文
[CQOI2016]手机号码(数位DP)
摘要:链接:https://ac.nowcoder.com/acm/problem/19945来源:牛客网 题目描述 人们选择手机号码时都希望号码好记、吉利。比如号码中含有几位相邻的相同数字、不含谐音不吉利的数字等。手机运营商在发行新号码时也会考虑这些因素,从号段中选取含有某些特征的号 码单独出售。为了便
阅读全文
和与或(数位DP + 状压)
摘要:链接:https://ac.nowcoder.com/acm/problem/21336来源:牛客网 题目描述 给你一个数组R,包含N个元素,求有多少满足条件的序列A使得 0 ≤ A[i] ≤ R[i] A[0]+A[1]+...+A[N-1]=A[0] or A[1]... or A[N-1] 输
阅读全文
合并回文子串(区间DP)
摘要:链接:https://ac.nowcoder.com/acm/problem/13230来源:牛客网 题目描述 输入两个字符串A和B,合并成一个串C,属于A和B的字符在C中顺序保持不变。如"abc"和"xyz"可以被组合成"axbycz"或"abxcyz"等。 我们定义字符串的价值为其最长回文子串的
阅读全文
Cow Hopscotch (单调队列 + DP)
摘要:链接:https://ac.nowcoder.com/acm/contest/1113/K来源:牛客网 The cows have reverted to their childhood and are playing a game similar to human hopscotch. Their
阅读全文
HDU 6415 Rikka with Nash Equilibrium (计数DP)
摘要:题意:给两个整数n,m,让你使用 1 ~ n*m的所有数,构造一个矩阵n*m的矩阵,此矩阵满足:只有一个元素在它的此行和此列中都是最大的,求有多种方式。 析:根据题意,可以知道那个元素一定是 n * m,因为这个数是最大的,不会有其他可能了,我们考虑从大小到的顺序放,先放最大的,再放次大的,那么想想
阅读全文
干物妹小埋 (离散化 + 线段树 + DP)
摘要:链接:https://ac.nowcoder.com/acm/contest/992/B来源:牛客网 题目描述 在之前很火的一个动漫《干物妹小埋》中,大家对小埋打游戏喝可乐的印象十分的深刻。 现在欧尼酱将小埋的快乐水全部分开藏在了家具的顶端。 小埋使出空中1080°转身接战术翻滚跳到任一家具上,她相
阅读全文
HDU 6377 度度熊看球赛 (计数DP)
摘要:度度熊看球赛 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 293 Accepted Submission(s): 130 Problem De
阅读全文
HDU 6348 序列计数 (树状数组 + DP)
摘要:序列计数 Time Limit: 4500/4000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 348 Accepted Submission(s): 117 Problem De
阅读全文
CodeForces 935E Fafa and Ancient Mathematics (树形DP)
摘要:题意:给定一个表达式,然后让你添加 n 个加号,m 个减号,使得表达式的值最大。 析:首先先要建立一个表达式树,这个应该很好建立,就不说了,dp[u][i][0] 表示 u 这个部分表达式,添加 i 个符号,使值最大,dp[u][i][1] 表示 u 个部分表达式,添加 i 个符号,使用值最小,这里
阅读全文
UVaLive 5760 Alice and Bob (博弈 + 记忆化搜索)
摘要:题意:有 n 堆石子,有两种操作,一种是从一堆中拿走一个,另一种是把两堆合并起来,Alice 先拿,谁不能拿了谁输,问谁胜。 析:某些堆石子数量为 1 是特殊,石子数量大于 1 个的都合并起来,再拿,这是最优的,因为都想另一个输,并且第二种操作是可以翻转胜负的,所以都会先采取第二个操作,但是砘数量为
阅读全文
CodeForces 946D Timetable (DP)
摘要:题意:给定 n,m,K,表示某个人一个周有 n 天,每天有 m 节课,但是他可以跳过 K 节课,然后下面每行一个长度为 m 个01字符串,0 表示该人在这一小时没有课,1 表示该人在这一个小时有课,每天的在学校时间是从开始上的第一节课,到上完最后一节课,问你他在校时间最短是多少。 析:首先要预处理出
阅读全文
UVa 10163 Storage Keepers (二分 + DP)
摘要:题意:有n个仓库,m个管理员,每个管理员有一个能力值P,每个仓库只能由一个管理员看管,但是每个管理员可以看管k个仓库(但是这个仓库分配到的安全值只有p/k,k=0,1,...),雇用的管理员的工资即为他们的能力值p和,问,使每个仓库的安全值最高的前提下,使的工资总和最小。 析:首先使用二分安全值,然
阅读全文
勇敢的妞妞 (状压 + 搜索)
摘要:美丽的牛家庄受到了外星人的侵略, 勇敢的妞妞要上战场抵御侵略。 在妞妞上战场前, 村长牛牛给了妞妞N件装备, 妞妞需要选择其中的K件,装备在身上提升自己的战斗力。每件装备有5种属性增幅值,对于第i件装备它的属性增幅值为(ri1, ri2, ri3, ri4, ri5), 分别代表该装备对不同的属性值
阅读全文
UVa 11077 Find the Permutations (计数DP)
摘要:题意:给定 n 和 m,问你在 1 ~ n 的所有排列中,有多少个排列满足至少要交换 m 次才能变成 1 2 3 ... n。 析:首先,先考虑一下,某个排列,要变成 1 2 3 .. n,最少要交换几次,这个问题,我们可以把这个排列拆成几个循环,很明显在每个循环中,假设循环长度是 n ,那么至少要
阅读全文
UVa 11762 Race to 1 (数学期望 + 记忆化搜索)
摘要:题意:给定一个整数 n ,然后你要把它变成 1,变换操作就是随机从小于等于 n 的素数中选一个p,如果这个数是 n 的约数,那么就可以变成 n/p,否则还是本身,问你把它变成 1 的数学期望是多少。 析:一个很明显的期望DP,dp[i] 表示把 i 变成 1 的期望是多少,枚举每一种操作,列出表达式
阅读全文
UVa 11021 Tribles (概率DP + 组合数学)
摘要:题意:有 k 只小鸟,每只都只能活一天,但是每只都可以生出一些新的小鸟,生出 i 个小鸟的概率是 Pi,问你 m 天所有的小鸟都死亡的概率是多少。 析:先考虑只有一只小鸟,dp[i] 表示 i 天全部死亡的概率,那么 dpi] = P0 + P1*dp[i-1] + P2*dp[i-1]^2 + .
阅读全文