- 博客(3)
- 收藏
- 关注
原创 棋盘覆盖问题——分治
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 棋盘覆盖问题——分治前言一、思路二、代码2.读入数据总结 前言 题目描述:紫皮书P229.在第一次看到这个题目时,我脑子里想的还是之前学的回溯法,一个个地往方格里代L型牌,但是能感觉到效率不太高,参考了视频之后,发现用分治法特别好。 一、思路 分治法就是分而治之,那这个题目该怎么分呢?在“分”时,有一个最佳的分法(能这样分更好)——均匀地分,那这个题目又怎么均匀地分呢?显然可以按行均匀分、按列均匀分、按块均匀分等等,分多少行、分多少
2020-09-15 10:21:48
269
原创 UVa1374 快速幂计算——解答树
UVa1374 快速幂计算——解答树前言一、看题解前后我的思路二、代码2.读入数据总结 前言 我认为这个题目可以很深刻地理解好解答树,更好地理解好树状的搜索。 一、看题解前后我的思路 在没有看题解之前虽然很容易判断这应该是涉及到解答树,利用迭代加深方法,但是一是没有想好怎么剪枝,二是把每一次深度加深之后得到的新的数都全部塞进数组,认为下一个深度都有可能用到,所以我一开始创建一个二维数组,行表示深度,列表示上一行的所有数可以通过加减(指数乘即是加,除即是减)得到。但完全没有意识到把状态看成结点,每个结点
2020-09-13 17:51:05
247
原创 UVa12325 宝藏
UVa12325 宝藏前言一、什么情况下算是背包容量大而S1,S2小?二、使用步骤1.判断是否tot>S1*S2,如果是则求出n2.在背包容量为(tot-n*S1*S2)的条件下回溯总结 前言 看到这个题目的第一眼就觉得应该用回溯法,思路就是从S1开始放,递归结束后再放S2,递归结束的条件是当背包的剩余空间小于min(min=S1<S2?S1:S2)时,判断这条解答树路径上的价值之和是不是比全局变量ans大,大则赋值给ans,否则结束递归。但是这会有一个问题,当背包的容量大而S1和S2特别小时
2020-09-13 11:36:37
142
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人