动态规划
yichudu
code anything
展开
-
动态规划-接球游戏-阿里2021届秋招笔试
阿里巴巴2021届毕业生招聘在线笔试(9月18日场)题目截图展示.代码def ballgame(n, d, positions, points): cur = 20 dp = [[float("inf")] * 41 for _ in range(n + 1)] dp[0][cur] = 0 for idx in range(n): for j in range(41): if dp[idx][j] != float("i原创 2021-05-11 20:08:44 · 201 阅读 · 0 评论 -
leetcode-416-分割等和子集-01背包
题目见参考1.原题给一个正整数列表, 问能否分割为两个集合, 使之加和相等.抽象选出若干个元素, 使其和为总和的一半.每个元素可选可不选, 0-1 背包.ac代码 pyfrom typing import Listclass Solution: def canPartition(self, nums: List[int]) -> bool: if sum(nums) % 2 == 1: return False ha原创 2021-05-05 22:20:02 · 208 阅读 · 0 评论 -
DP与滚动数组
转自:http://blog.csdn.net/niushuai666/article/details/6677982滚动数组的作用在于优化空间,主要应用在递推或动态规划中(如01背包问题)。因为DP题目是一个自底向上的扩展过程,我们常常需要用到的是连续的解,前面的解往往可以舍去。所以用滚动数组优化是很有效的。利用滚动数组的话在N很大的情况下可以达到压缩存储的作用。一个简单的例转载 2016-05-13 14:54:42 · 1568 阅读 · 0 评论 -
动态规划 HDOJ-1114 完全背包
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=11141.问题描述给出每种硬币的重量与价值,计算储蓄罐中硬币重量为x时,所含硬币的最少总价。每种硬币有无限个。2.输入TE FNP1 W1P2 W2...Pn WnT:测试用例个数E:空猪储蓄罐的重量F:硬币+储蓄罐的重量N:硬币种类数Pi原创 2016-05-13 13:09:58 · 960 阅读 · 0 评论 -
动态规划-背包问题总述
背包问题是这样一类问题——背包有重量限制,要往背包里放物品。每样物品都有自己的价值v与重量w。问怎样放使得背包里物品的总价值最大。 参考文档:大牛之作-《背包问题九讲》 - 01背包:每样东西只有一个,要么放,要么不放,所以得名01背包 - 完全背包:每样物品都没有个数限制 - 不完全背包:不同物品的个数不尽相同01背包dp[i][j]表示以下两种约束下的最大价值: 1.所放物品总重量<=原创 2015-09-24 10:21:58 · 646 阅读 · 0 评论 -
树形DP+并查集+左偏树, HDU-5575,Discover Water Tank,2015上海现场赛D题
只是ACM/IICPC 2015 上海区域赛的一道题。原题链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1004&cid=655题目描述N-1个木板把一个水箱划分成了N部分(从左到右形成了编号为[1,N]的N个小水箱)。这些木板高度不尽相同。因为水往低处流和木板相隔,所以整个大水箱中有若干个高低不同的水平面。原创 2017-01-03 17:03:49 · 767 阅读 · 0 评论 -
树形DP-POJ-2342-Anniversary party
POJ 链接: http://poj.org/problem?id=2342HODJ 链接 : http://acm.hdu.edu.cn/showproblem.php?pid=1520不得不吐槽,HDOJ不止java会超时,C++也会超时,非要scanf这种低级写法,有意思么?1.题目大意某大学举办年会, 请职员们参会. 每个人都有一个活跃值(逗逼属性值), 职工之间具有层级关原创 2017-01-23 17:52:45 · 643 阅读 · 0 评论 -
动态规划-题目1537:买卖股票
题目1537:买卖股票时间限制:1 秒内存限制:128 兆特殊判题:否提交:616解决:164题目描述:给定一个大小为n的数组,数组的元素a[i]代表第i天的股票价格。设计一个算法,计算在最多允许买卖k次(一买一卖记为一次)的条件下的最大收益。需要注意的是,你不能同时拥有两份股票。也就是说在下次买入前,你必须把手头上原有的股票先卖掉。输入:输入可能包含多个测试案例。原创 2014-03-12 11:07:25 · 2762 阅读 · 0 评论 -
leetcode-188-Best Time to Buy and Sell Stock IV-动态规划
题目: https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iv/#/description1.题意2.思路3.代码#acclass Solution(object): def maxProfit(self, k, prices): """ :type k: int :t原创 2017-03-29 16:32:11 · 551 阅读 · 0 评论 -
动态规划-LIS 最长上升子序列
题目链接1. 题目题目描述: 某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,并观测到导弹依次飞来的高度,请计算这套系统最多能拦截多少导弹。拦截来袭导弹时,必须按来袭导弹袭击的时间顺序,不允许先拦截后面的导弹,再拦截前面的导弹。输入: 每组输入有原创 2017-05-22 09:59:36 · 965 阅读 · 1 评论 -
动态规划 HDOJ-2602-Bone Collector-01背包
Bone CollectorTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 40794Accepted Submission(s): 16961Problem DescriptionMany year原创 2015-09-23 19:44:06 · 951 阅读 · 0 评论 -
编辑距离及代码实现
字符串A与B的编辑距离,Edit Distance,是指由A转换为B所需的最少编辑操作次数。编辑操作包括字符的替换、插入与删除。如kitten(小猫)->sitting(坐):距离为3.kitten-->(k→s)-->sitten--> (e→i)-->sittin-->(g)->sitting动态规划实现dp[i][j]表示子串str1[0~i]与子串str2[0~j]的编原创 2015-08-10 17:57:25 · 2990 阅读 · 2 评论 -
动态规划-循环数组的最大子数组和
动态规划-循环数组的最大子数组和原创 2014-03-10 21:54:49 · 2053 阅读 · 0 评论 -
动态规划-排列组合
题目1552:座位问题时间限制:1 秒内存限制:128 兆特殊判题:否提交:313解决:95题目描述:计算机学院的男生和女生共n个人要坐成一排玩游戏,因为计算机的女生都非常害羞,男生又很主动,所以活动的组织者要求在任何时候,一个女生的左边或者右边至少有一个女生,即每个女生均不会只与男生相邻。现在活动的组织者想知道,共有多少种可选的座位方案。例如当n为4时,共有女女女女, 女女女原创 2014-03-12 10:33:24 · 2678 阅读 · 0 评论 -
动态规划-迷宫-百度之星-Labyrinth
迷宫规模较大,DFS必然超时。注意到行走方向只有上、下、右三个,意味着已走过的路不能再走,更意味着不用回溯。且问题问的是最大值。一切都清晰地指向了DP!原创 2014-05-16 22:42:34 · 3156 阅读 · 7 评论 -
动态规划-uva-674
大意:有5种面值的硬币,1、5、10、25、50分。给定找零总额,问有多少种组合方法。分析:动态规划。int不会溢出。原创 2014-05-18 19:36:18 · 1454 阅读 · 0 评论 -
0-1背包-poj-1948-Triangular Pastures
携程大赛2014.4.11 预赛第二场第二题原创 2014-04-12 21:45:33 · 1535 阅读 · 0 评论 -
排错公式-jobdu-1451
排错公式。小明给n个网友写信,不巧所有的信都装错信封了,问有多少种组合?原创 2014-04-28 20:27:38 · 1802 阅读 · 0 评论 -
动态规划-hdoj-4832-百度之星2014初赛第二场
ChessProblem Description 小度和小良最近又迷上了下棋。棋盘一共有N行M列,我们可以把左上角的格子定为(1,1),右下角的格子定为(N,M)。在他们的规则中,“王”在棋盘上的走法遵循十字路线。也就是说,如果“王”当前在(x,y)点,小度在下一步可以移动到(x+1, y), (x-1, y), (x, y+1), (x, y-1), (x+2, y), (x-2, y原创 2014-05-31 22:32:24 · 1254 阅读 · 0 评论 -
最长公共子序列-jobdu-1402(附带打印)
2008年上海交通大学计算机研究生机试真题 最长公共子序列原创 2014-04-28 20:53:24 · 1293 阅读 · 0 评论 -
动态规划-阿里笔试
答案:117.分析:状态压缩+动态规划+记忆化搜索状态压缩:用int型数据保存拼图过程中的图案。二进制表示的倒数第i位表示2*7地面中第i个格子是否被地板铺上与否。动态规划:dp[r][c][sta]表示在形状sta的基础上,在(r,c)位置开始拼,拼满整个地面的情况种类数目。那么状态转移方程就是:[java] view plaincopy原创 2015-04-05 12:39:20 · 1223 阅读 · 0 评论 -
poj-2677 动态规划、双调欧几里得旅行商
TourTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 2699 Accepted: 1193DescriptionJohn Doe, a skilled pilot, enjoys traveling. While on vacation, he rents原创 2015-06-17 09:41:18 · 767 阅读 · 0 评论 -
动态规划-jobdu-1547:出入栈
题目1547:出入栈时间限制:1 秒内存限制:128 兆特殊判题:否提交:537解决:107题目描述:给定一个初始为空的栈,和n个操作组成的操作序列,每个操作只可能是出栈或者入栈。要求在操作序列的执行过程中不会出现非法的操作,即不会在空栈时执行出栈操作,同时保证当操作序列完成后,栈恰好为一个空栈。求符合条件的操作序列种类。例如,4个操作组成的操作序列符合条件的如下:入栈原创 2014-03-02 11:00:22 · 1013 阅读 · 0 评论