欢迎大佬来到蒟蒻的博客

天接云涛连晓雾。星河欲转千帆舞。仿佛梦魂归帝所,闻天语,殷勤问我归何处。我报路长嗟日暮,学诗谩有惊人句。九万里风鹏正举。风休住,蓬舟吹取三山去!
摘要: 一、背包问题 (一)01背包(每个物品最多只能放一次) 模板1: for(int i=1; i<=n; i++) { for(int j=V; j>=1; j--) { f[i][j] = f[i-1][j]; if(v[i] <= j) { f[i][j] = max(f[i][j], f[i-1 阅读全文
posted @ 2020-10-21 23:04 Lonely_Fish 阅读(83) 评论(0) 推荐(0)
摘要: 一、模型 void dfs(int step){ 判断边界 尝试每一种可能 for(i=1;i<=n;i++){ 继续下一步 dfs(step+1) } 返回 } 阅读全文
posted @ 2020-10-14 21:23 Lonely_Fish 阅读(106) 评论(0) 推荐(0)
摘要: Queue: back()返回一个引用,指向队列的最后一个元素。 empty()函数返回真(true)如果队列为空,否则返回假(false)。 front()返回队列第一个元素的引用。 pop()函数删除队列的第一个元素 push() 在末尾加入一个元素 size() 返回队列中元素的个数 阅读全文
posted @ 2019-07-02 21:16 Lonely_Fish 阅读(107) 评论(0) 推荐(0)
摘要: 思路: 1.准备:计算r的最大值 2.搜索:枚举两点间距离,根据前面的油确定当前油的半径 //当两个油滴之间的距离小于那个油滴的半径,我们就要把它变成0 3.答案:原空间减去目前最大空间 代码: 阅读全文
posted @ 2019-04-05 00:56 Lonely_Fish 阅读(231) 评论(0) 推荐(0)
摘要: 思路: 1.搜索参数:当前已经选取的个数;已经放弃的个数 2.搜索剪枝:放弃的比m多,则return 3.搜索边界:如果已选取了n个:如果正好放弃了m个,dp;return 3.搜索内容:(1)不放弃当前砝码 (2)放弃当前砝码 4.标记:是否被放弃 5.DP:利用背包解决 代码: 阅读全文
posted @ 2019-03-31 00:37 Lonely_Fish 阅读(139) 评论(0) 推荐(0)
摘要: 思路: 1.搜索对象:拼成后每根木棍长度2.搜索范围:最长的一根 ~ 总长度/23.搜索参数:当前编号,上一根木棍编号,还剩多少长度4.剪枝: (1)从大到小排序 (2)当需要更换时,不考虑与此根相同的 (3)找的木棍长度不大于剩余长度 (4)当当前拼接根数为总长除以原始长度,输出答案,直接退出 ( 阅读全文
posted @ 2019-03-30 19:09 Lonely_Fish 阅读(247) 评论(0) 推荐(0)