动态规划
Site1997
[呆]
展开
-
Leetcode 1320 (一维DP)
题意给定一个英文单词,用两只手指去码字。每只手指移动所需要的代价为键盘上两字母之间的距离,求码完整个单词所需要的最小代价。解法最直观的想法是,运用dp[idx][pos1][pos2]dp[idx][pos1][pos2]dp[idx][pos1][pos2]来表示输入到第idxidxidx个字母,并且第一只手指在pos1pos1pos1,第二只手指在pos2pos2pos2时的最小代价。这...原创 2020-02-22 09:28:37 · 564 阅读 · 0 评论 -
codeforces 895C
(状压dp) 题意:给定一个集合,里面包括n(1≤n≤10^5)个数字a[i](1≤a[i]≤70),求出这个集合中有多少子集,使得子集内部所有数字的乘积为平方数。思路:观察到a[i]的范围比n要小很多,于是我们可以用一个小数组保存:大小为i的数字出现过几次,然后枚举i(1≤i≤70)。计数问题很有可能是dp,枚举i原创 2017-12-02 21:19:14 · 492 阅读 · 0 评论 -
Leetcode 375 (DP O(n^2)解法)
题意对方从1~n里面选一个数字,然后我来猜,每次猜后,对方会告诉我是大了,小了,还是正确。假如我猜xxx,猜错的的话要付给他xxx元前,问我得钱包里至少放多少钱才能保证我能猜到他的数字。O(n^3) 解法这个题O(n3)O(n^3)O(n3)解法是容易想到的,状态转移方程如下:f(a,b)=mina≤k≤b(max{f(a,k−1),f(k+1,b)}+k) .f(a,b)...原创 2019-08-31 09:00:55 · 1330 阅读 · 0 评论