【acwing】165. 小猫爬山(DFS之剪枝)

news/2024/11/24 3:18:33/

穿越隧道

在这里插入图片描述

搜索:
1.优化搜索顺序
大部分情况下,应优选搜索分支较少的节点
2.排除等效冗余
3.可行性剪枝
4.最优性剪枝
5.记忆化搜索(DP)
在这题中
1.优化搜索顺序:√(有)
猫越重,分支可能越少。
对猫的重量从大到小排序
2.排序等效冗余 :×(无重复性情况)
3.可行性剪枝:√(有)
如果某辆车猫的重量超出了W(剪枝)
4.最优化剪枝:√(有)
如果新开车的数量已经大于ans,就直接退出
5.记忆化搜搜(DP):×(无)

#include <bits/stdc++.h>
using namespace std;
const int N = 20;int n,m;
int w[N];//每只猫的重量
int sum[N];//每辆车的重量
int ans = N;//最坏情况,每辆车一只猫
void dfs(int u, int k){//最优性剪枝 if(k >= ans){//当前车的数量,大于等于最坏情况时 return ; }if(u == n){//递归出口 ans = k;return ;}for(int i = 0; i < k; i++){//第u只猫,能放到k辆车的哪辆车上去。if(sum[i] + w[u] <= m){//可行性剪枝 sum[i] += w[u];dfs(u + 1, k);sum[i] -= w[u];//恢复现场 } }sum[k] = w[u];//新开一辆车dfs(u + 1,k + 1);sum[k] = 0;//恢复现场 
} 
int main(){cin >> n >> m;for(int i = 0; i < n; i++) cin >> w[i];sort(w,w + n);reverse(w,w + n);//从大到小 dfs(0,0);/*第一个0:当前搜到第0只猫第二个0:当前车的数量为0*/ cout << ans << endl;return 0; 
} 

http://www.ppmy.cn/news/684113.html

相关文章

最好用的五个黑科技搜索引擎推荐

一. 数据搜&#xff1a;http://data.chongbuluo.com/ 「数据搜」这个网站就是搜索一些热词和数据指数的&#xff0c;包括百度指数、阿里指数、微博指数、微信指数、搜狗指数等等。当然&#xff0c;还有一些汽车数据、腾讯大数据、票房数据相关数据查询网站。 估计很多人经常用的…

bootStrap 搜索框

2、 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><!--声明文档兼容模式&#xff0c;表示使用IE浏览器的最新模式--><meta http-equiv"X-UA-Compatible" content"IEedge"><!…

坏坏猫搜索怎么显示服务器异常,坏坏猫搜索

坏坏猫搜索是一款囊括了全网影视、小说、漫画的一款小聚合软件&#xff0c;支持安卓和iOS双平台&#xff0c;之前推荐过他的安卓版本&#xff0c;非常好用&#xff0c;不过现在安卓原版原版已经有很多G告&#xff0c;所以只能给各位带来他的功能一样的安卓替代品—三香堂&#…

Python———运行环境搭建

不管用什么工具开发 Python 程序&#xff0c;都必须安装 Python 的运行环境。 目前最常用的是Windows 、 Linux 平台。这里 我们以Windows10为主讲解。 其实编程和平台关系不大。大家也可以使用Linux、Mac。 Windows 平台下 Python 环境搭建 第一步&#xff1a;进入 python 官…

一个类似AOV或者AOE的数据结构的类似排序的算法

背景: 一个东西的执行有多个入参和出参, 一个东西的出参又可以是别的东西的入参, 因此执行的依赖关系. 草图里a b c d e f为三个东西, 上面的数字是入参,下面的数字是出参 当前已知这6个东西, 和他们的入参出参 求他们的运行顺序. 要求同样执行顺序的东西可以并行执行. 代码如…

UART、RS-232、RS-422、RS-485之间有什么区别

通讯问题&#xff0c;和交通问题一样&#xff0c;也有高速、低速、拥堵、中断等等各种情况。如果把串口通讯比做交通&#xff0c;UART比作车站&#xff0c;那么一帧的数据就好比汽车。汽车跑在路上&#xff0c;要遵守交通规则。如果是市内&#xff0c;一般限速30、40,而高速公路…

UART、RS-232、RS-422、RS-485

通讯问题&#xff0c;和交通问题一样&#xff0c;也有高速、低速、拥堵、中断等等各种情况。如果把串口通讯比做交通&#xff0c;UART比作车站&#xff0c;那么一帧的数据就好比汽车。汽车跑在路上&#xff0c;要遵守交通规则。如果是市内&#xff0c;一般限速30、40,而高速公路…

什么是微服务

作者&#xff1a;老刘 链接&#xff1a;https://www.zhihu.com/question/65502802/answer/802678798 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 一文详解微服务架构本文将介绍微服务架构和相关的组件&#xff0c…