如何找到排名靠前的上海网站推广公司,以提升建设银行怀柔支行营业部网站的曝光率?

摘要:建设银行怀柔支行营业部网站,上海网站推广公司排名,罗湖网站建设优化,网站横幅怎做Powered by:NEFU AB-IN Link 文章目录165. 小猫爬山题意思路代码165. 小猫爬山 题意 翰翰和达达饲养了 N只小猫&amp
建设银行怀柔支行营业部网站,上海网站推广公司排名,罗湖网站建设优化,网站横幅怎做Powered by:NEFU AB-IN Link 文章目录165. 小猫爬山题意思路代码165. 小猫爬山 题意 翰翰和达达饲养了 N只小猫#xff0c;这天#xff0c;小猫们要去爬山。 经历了千辛万苦#xff0c;小猫们终于爬上了山顶#xff0c;但是疲倦的它们再也不想徒步走下山了#xff08;呜咕…Powered by:NEFU AB-IN Link 文章目录165. 小猫爬山题意思路代码165. 小猫爬山 题意 翰翰和达达饲养了 N只小猫这天小猫们要去爬山。 经历了千辛万苦小猫们终于爬上了山顶但是疲倦的它们再也不想徒步走下山了呜咕_。 翰翰和达达只好花钱让它们坐索道下山。 索道上的缆车最大承重量为 W而 N只小猫的重量分别是 C1、C2……CN。 当然每辆缆车上的小猫的重量之和不能超过 W。 每租用一辆缆车翰翰和达达就要付 1美元所以他们想知道最少需要付多少美元才能把这 N只小猫都运送下山 思路 可以看到n特别小w特别大所以不是一个背包问题考虑爆搜 DFS策略 遍历目前开的所有车若能放到这个车就放若遍历完所有车都放不了那么就开新车 DFS剪枝 如果车的数量比目前答案大了return优先考虑决策少的也就是分支少的节点在此题中重量大的更少被考虑所以优先考虑重量大的也就是事先降序排序 代码 /* * Author: NEFU AB-IN * Date: 2023-03-01 09:22:35 * FilePath: \Acwing\165\165.cpp * LastEditTime: 2023-03-01 10:14:16 */ #include bits/stdc.h using namespace std; #define int long long #undef int#define SZ(X) ((int)(X).size()) #define ALL(X) (X).begin(), (X).end() #define IOS \ios::sync_with_stdio(false); \cin.tie(nullptr); \cout.tie(nullptr) #define DEBUG(X) cout #X : X \n typedef pairint, int PII;const int N 20, INF 0x3f3f3f3f; int c[N], sum[N]; int n, w; int ans INF; void dfs(int u, int k) {if (k ans)return;if (u n 1){ans k;return;}for (int i 0; i k; i){if (c[u] sum[i] w){sum[i] c[u];dfs(u 1, k);sum[i] - c[u];}}sum[k] c[u];dfs(u 1, k 1);sum[k] 0; }signed main() {IOS;cin n w;for (int i 1; i n; i){cin c[i];}sort(c 1, c 1 n, greaterint());dfs(1, 1);cout ans \n;return 0; }