当前位置: 首页 > news >正文

个人做民宿需要建立网站吗建筑网库

个人做民宿需要建立网站吗,建筑网库,成都优化网站厂家,昆山建设监察网站该题的方法#xff0c;也有点背包的意思#xff0c;如果一些不懂的朋友#xff0c;可以从背包的角度去理解该树形DP 问题 题解主要在注释里 //该题是背包问题树形dp问题的结合版#xff0c;在树上解决背包问题 //背包问题就是选或不选当前物品 //本题求的是最大分数 //先转… 该题的方法也有点背包的意思如果一些不懂的朋友可以从背包的角度去理解该树形DP 问题 题解主要在注释里 //该题是背包问题树形dp问题的结合版在树上解决背包问题          //背包问题就是选或不选当前物品          //本题求的是最大分数          //先转成背包问题理解          //从n个物品当中选出最大分数          //再转成有限制版的          //从n个物品当中选出最大分数并且血量是健康的          //再转成树形DP去理解该问题                    //树是健康就是在任意一条树的路径下(到叶子节点的任意一条路径)能确保至少有一个物品不被选          //从树上前n个物品当中选出一些物品并且保证树是健康的          //从树上前i个物品当中选出保证树是健康的前提下能选出的不超过i个物品的最大分数          //然后再去拓展这个定义                    //结合树形DP的经验          //以当前u为根节点的子树在保证树是健康的前提下能选出的最大分数          //那么就有了推导过程从下往上推导也就是从最小子树往上推导到最大子树最大分数          //那么最好的做法就是利用递归的特性回溯的时候进行推导          //这题中我们直接找出最大分数其实是比较难的我们用初中的思想          //正难则反既然找最大分数(有个不选的)比较难那么我们可以用          //找个最小分数(选上的)那么就变得比较简单了                    //状态定义          //首先我们找最小的以树形dp为经验推导出          //我们以u为根节点的子树总和最小的分数并且是保证健康的在一条路径上最少也得选一个          //定义为min_val[u]                          //那么怎么算出最大分数呢既然有min_val[u],那么就有以当前u为根节点的子树节点总和sum_val[u]          //那么相减sum_val[u] - min_val[u]就等于最大分数了                    //那么如何推导这两个定义的数组呢          //树形dp类型问题最好首先用dfs,边回溯边推导数组 class Solution { public:void dfs_sum_val(int u,int fa,vectorint val,vectorvectorint g,vectorlong long sum_val){sum_val[u] val[u];for(auto e:g[u])if(fa ! e)//不要往上计算我们是从下往上推导{dfs_sum_val(e,u,val,g,sum_val);//回溯计算sum_val[u] sum_val[e];}//这个dfs我们可以算作一个小题就是计算出每个点为根节点的子树的总和}void dfs_min_val(int u,int fa,vectorint val,vectorvectorint g,vectorlong long min_val){long long min_res 0;min_val[u] (long long)val[u];for(auto e:g[u]){if(fa ! e){dfs_min_val(e,u,val,g,min_val);min_res min_val[e];}}if(min_res) min_val[u] min((long long)min_val[u],min_res);}long long maximumScoreAfterOperations(vectorvectorint edges, vectorint values) {//该题是背包问题树形dp问题的结合版在树上解决背包问题//背包问题就是选或不选当前物品//本题求的是最大分数//先转成背包问题理解//从n个物品当中选出最大分数//再转成有限制版的//从n个物品当中选出最大分数并且血量是健康的//再转成树形DP去理解该问题//树是健康就是在任意一条树的路径下(到叶子节点的任意一条路径)能确保至少有一个物品不被选//从树上前n个物品当中选出一些物品并且保证树是健康的//从树上前i个物品当中选出保证树是健康的前提下能选出的不超过i个物品的最大分数//然后再去拓展这个定义//结合树形DP的经验//以当前u为根节点的子树在保证树是健康的前提下能选出的最大分数//那么就有了推导过程从下往上推导也就是从最小子树往上推导到最大子树最大分数//那么最好的做法就是利用递归的特性回溯的时候进行推导//这题中我们直接找出最大分数其实是比较难的我们用初中的思想//正难则反既然找最大分数(有个不选的)比较难那么我们可以用//找个最小分数(选上的)那么就变得比较简单了//状态定义//首先我们找最小的以树形dp为经验推导出//我们以u为根节点的子树总和最小的分数并且是保证健康的在一条路径上最少也得选一个//定义为min_val[u]//那么怎么算出最大分数呢既然有min_val[u],那么就有以当前u为根节点的子树节点总和sum_val[u]//那么相减sum_val[u] - min_val[u]就等于最大分数了//那么如何推导这两个定义的数组呢//树形dp类型问题最好首先用dfs,边回溯边推导数组int edge_size edges.size();vectorvectorint g(values.size() 110);for(int i 0;i edge_size;i){int a edges[i][0];int b edges[i][1];g[a].push_back(b);g[b].push_back(a);}vectorlong long sum_val(21000);vectorlong long min_val(21000,0x3f3f3f3f);//预处理出来sum_val数组dfs_sum_val(0,-1,values,g,sum_val);//预处理出来min_val数组dfs_min_val(0,-1,values,g,min_val);return sum_val[0] - min_val[0];} };
http://www.w-s-a.com/news/466103/

相关文章:

  • 杭州做微信网站软件公司网站建设毕业设计中期进度报告
  • 怎么做谷歌这样的网站如何建立一个网站放视频
  • 园区网站建设调研报告北京朝阳区哪里有网站开发
  • 网站角色权限wordpress 优化版
  • 购物网站ppt怎么做网络公司注册多少钱
  • 学做衣服上什么网站好贴吧高级搜索
  • 贵州 跨境电商网站建设做淘宝店铺有哪些好的网站
  • 广州正规网站制作公司网站搭建公司
  • ui设计零基础好学吗珠海网站建设优化推广
  • 网站开发多少费用火车头采集wordpress发布时间
  • 有没有做皮艺的网站教育培训网站建设ppt
  • 建设外贸商城网站制作如何建设景区旅游网站
  • 网站建设服务的具体条件怎么建设一个响应式网站
  • 做flash的网站wordpress设置前台投稿
  • 商务网站开发文档迅雷资源做下载网站
  • 无极磁铁网站如何把地图放到自己做的网站上
  • 青浦赵巷网站建设公司网站开发需求文档
  • 苏州网站建设的公司哪家好无锡网站制作那些
  • 装饰公司网站模板科技成果鉴定机构
  • 给公司做的东西放到私人网站上十堰为企业做网站的单位
  • 手机网站建设价钱手机自己做网站
  • 网站建设属于哪种公司电子商务查询网站
  • 工程建设标准强制性条文最新版本网站关键词排名优化应该怎么做
  • 网站网页设计内容品牌高端网站建设公司
  • 网站开发报价 福州中国建筑网官网手机版
  • 网站 图片 自动往右移专门做定制化的网站
  • 最好用的cms手机百度关键词排名 网站优化软件
  • 凉山州城乡规划建设局网站长沙网站建设哪家强
  • 广州网站开发创意设计公司企业自己怎么制作网站首页
  • 曲靖 曲靖网站建设软件(app)开发wordpress 没有远程发布