动态规划(基础)
c++实现
BUPT留白
从模仿到超越,我还在路上!仍需努力,砥砺前行!
展开
-
动态规划典型例题
ykc想吃好吃的 题目描述 一天,ykc在学校闲的无聊,于是决定上街买点吃的,ykc很懒,本来就不是很像逛街,于是找来了czl帮他买,这里应该有滑稽,而czl也不愿为ykc买东西吃,但是ykc很强势,非让他去买,呢没办法了,然而czl还有很多事要做,没呢么多时间帮ykc,而这条小吃街又很长,有n家店,n有50000这么大,并且这n家店的商品价值有所不同(要知道,商品的价值可能为负,原创 2017-08-08 16:18:29 · 342 阅读 · 0 评论 -
Longest Ordered Subsequence
Longest Ordered Subsequence 鹏神意外得到了神灯。 神灯中冒出了灯神,灯神说道:“我将给你一个有序的数列,你可以在保证原有顺序不变的前提下,挑出任意多的数。如果你挑出的数字是严格升序的,那么这段数字的个数就是你女朋友的个数。” “妈的智障。”鹏神骂道。 但是鹏神还是希望自己能有尽可能多的女朋友。所以他求救于你,希望你能帮他算出他最多能原创 2017-08-08 16:39:55 · 182 阅读 · 0 评论 -
Ignatius and the Princess IV
"OK, you are not too bad, em... But you can never pass the next test." feng5166 says. "I will tell you an odd number N, and then N integers. There will be a special integer among them, you have to原创 2017-08-08 16:55:31 · 180 阅读 · 0 评论 -
最长公共子序列
最长公共子序列 输入 第1行:字符串A 第2行:字符串B (A,B的长度 输出 输出最长的子序列,如果有多个,随意输出1个。 输入示例 abcicba abdkscab 输出示例 abca #include #include #include #include #i原创 2017-08-09 19:38:16 · 198 阅读 · 0 评论 -
编辑距离问题
编辑距离问题 给定两个字符串S和T,对于T我们允许三种操作: (1) 在任意位置添加任意字符 (2) 删除存在的任意字符 (3) 修改任意字符 问最少操作多少次可以把字符串T变成S? 例如: S= “ABCF” T = “DBFG” 那么我们可以 (1) 把D改为A (2) 删掉G (3) 加入C 所以答案是3。原创 2017-08-09 20:40:53 · 391 阅读 · 0 评论 -
最长上升子数列
最长上升子数列 输入 第1行:1个数N,N为序列的长度(2 <= N <= 50000) 第2 - N + 1行:每行1个数,对应序列的元素(-10^9 输出 输出最长递增子序列的长度。 输入示例 8 5 1 6 8 2 4 5 10 输出示例 5 题解(转载): (LIS Lo原创 2017-08-09 21:04:55 · 565 阅读 · 0 评论 -
0-1背包问题
0-1背包问题 有n件物品,第i件物品(I = 1,2,3…n)的价值是vi, 重量是wi,我们有一个能承重为m的背包,我们选择一些物品放入背包,显然放入背包的总重量不超过m。我们要求选择物品的总价值最大,请问如何选择?这里我们假设所有出现的数都是正整数。 输入 第1行,2个整数,N和W中间用空格隔开。N为物品的数量,W为背包的容量。(1 <= N <= 100,1 <=原创 2017-08-10 11:40:26 · 289 阅读 · 0 评论