上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: P1853 投资的最大效益 精心包装的背包. 既然债券可以随时买卖,那么就不需要记录什么买卖与否的状态,直接对于每一年选择买还是不买就行了,并且在当年由此直接获得利息,利息直接加到总资产上面,不用考虑本金存取的问题,转化为完全背包问题. 应该注意到,这里的n年是一个模板外的东西,先解决模板部分. f 阅读全文
posted @ 2020-12-04 19:47 goverclock 阅读(112) 评论(0) 推荐(0) 编辑
摘要: P1466 [USACO2.2]集合 Subset Sums 这也能动规,而且还是01背包. dp[i][j]表示从1~i的数字中选择,能够得到和为j的方案数.那么dp[i][0]=1.对于每个数字选或者不选,有: dp[i + 1][j] = dp[i][j] + dp[i][j - i],这里的 阅读全文
posted @ 2020-12-04 19:17 goverclock 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 小A点菜 方案数问题.背包. 使用dp[i][j]表示前i道菜刚好能花费完j钱的方案数,压成一维.(dp[j]) 那么明显地,dp[0]=1. 对于每个j,花完j钱的方案划分为两种:点了i菜和没点i菜,将这两种情况的方案数加起来,即dp[j] = dp[j] + dp[j - w[i]].(加号左边 阅读全文
posted @ 2020-12-04 15:22 goverclock 阅读(50) 评论(0) 推荐(0) 编辑
摘要: NASA的食物计划 多一个维度的01背包问题. dp[i][j][k]表示在前i种食品中选择出总体积不大于j且总重量不大于k的食物所能得到的最大卡路里. 省略细节的描述,压维后用dp[j][k]存储.因为是01背包所以j,k都从最大值开始循环并递减. j和k并没有优先级问题,简单地两层循环即可. 可 阅读全文
posted @ 2020-12-04 15:08 goverclock 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 数字三角形 Number Triangles 我的第200道题目. 可以当成动态规划的模板了,非常简单.主要是想先把动态规划的内容回忆起来,先前觉得难跳过了这一部分的刷题. 通过这种方式存储数据后,即可用s[i][j]来表示第i行第j个数,且d[i + 1][j], d[i + 1][j + 1]分 阅读全文
posted @ 2020-12-02 20:27 goverclock 阅读(146) 评论(0) 推荐(0) 编辑
摘要: P1825 [USACO11OPEN]Corn Maze S 标记还是不标记?这是个问题. 直接看得出来是bfs,只不过遇到传送装置要特殊处理. 最初的想法是,每当遍历到一个为传送门的新格子时,而该格子本身不标记,将该格子传送到的格子标记为visited.在这个基础上就可以当作普通bfs来做了. 结 阅读全文
posted @ 2020-11-30 22:07 goverclock 阅读(220) 评论(0) 推荐(0) 编辑
摘要: P1747 好奇怪的游戏 广搜. 不必在意有两只马,处理一个后重新初始化再次处理即可,剩下的就是很原始的bfs. 注意vis这个标记,在bfs中一个点第一次被遍历到时一定是最快/最短的路径,所以在vis标记之后就不需要再去这个点了.(隐性的剪枝) 如果用dfs+回溯来做的话,就必须等到所有的方案(剪 阅读全文
posted @ 2020-11-29 15:19 goverclock 阅读(122) 评论(0) 推荐(0) 编辑
摘要: P1433 吃奶酪 生活就像是与TLE斗智斗勇. 第一次用卡时. 穷竭搜索,发现情况不如已有解时剪枝. 比较直白的dfs,所以直接放代码,重点是里面用到的一个技巧. #include <algorithm> #include <cstdio> #include <cstring> #include 阅读全文
posted @ 2020-11-29 14:29 goverclock 阅读(126) 评论(0) 推荐(0) 编辑
摘要: P2895 [USACO08FEB]Meteor Shower S 使用标记来剪枝,多几行代码少算一年(虚指). 没想到bfs也有今天.(你也得剪枝了) 此外,还有一个预处理的方法. 最初想法就是很常规的bfs,不过有很多要判断的条件,写起来比较麻烦,但是起码能写出来.细节见注释. 需要开一个存储结 阅读全文
posted @ 2020-11-26 19:03 goverclock 阅读(142) 评论(1) 推荐(0) 编辑
摘要: P1135 奇怪的电梯 就让我把搜索的题单刷完吧. 这里没有写广搜的做法. 如果用深搜,得要用到一个很有意思的剪枝. 注意这个深搜的状态转移比较独特. 第一次提交 #include <algorithm>#include <cstdio> #include <cstring> #include <i 阅读全文
posted @ 2020-11-26 12:02 goverclock 阅读(109) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 下一页