线性dp
左佥都御史
这个作者很懒,什么都没留下…
展开
-
最小编辑距离-poj3356
我开始读题的时候以为弄错提了。。看来读题还是有待提高 题意是 给定两个串,一个a,b,让a变成b 有两种操作 1 增加一个字符 2 减少一个字符 3 转换一个字符 每一次操作算一次操作数, 问你最小的操作数 在华南农业大学的acm群里有人问这道题,后来翻了翻,还是挺有意思的,开始以为是最长公共子串,后来大神原创 2017-04-13 23:25:01 · 367 阅读 · 0 评论 -
Codeforces Round #407 (Div. 2)-E-The Great Mixing-滚动数组或者dfs
给定一种浓度的啤酒,给你个数字n,下面是n种浓度的啤酒,让你配成这种浓度的啤酒,问你最少需要多少份原料啤酒。 因为浓度范围很大,1后面6个零,背包就算了。范围太大。 方法1 用bitset实现滚动数组,然后用位运算可以完全模拟配酒的过程(关键在那个或),并且位运算很快,不会超时。 方法2 用BFS,要注意用map来记录他们出现的次数,这个和第一种思路差不多,就是实现方法不太一样,还有就是需要用原创 2017-04-18 19:59:32 · 561 阅读 · 0 评论 -
Gym - 101350A-A - Sherlock Bones-DP
妈蛋,开始都没看懂题意,临近结束了才知道题意,只知道是dp。 但是还是没得发现子结构是什么。。 具体思路: 先统计从0到i(截止点是i)的奇数区间和偶数区间。 这个我也不会。。 然后在排除状如 0001 和10000的情况 你会发现,一个0可以会增加一个非法区间,一个1本身就是非法区间。。 所以我第一个初始就调成1,顺带记录1的个数了。。 改成longlong。#include <i原创 2017-04-27 12:43:16 · 945 阅读 · 0 评论