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

无锡工程建设监察支队网站买一个网站多少钱

无锡工程建设监察支队网站,买一个网站多少钱,网站开发公司人员配置,wordpress logo涉及知识点 深度优化(DFS) 记忆化 题目 节点 0 处现有一棵由 n 个节点组成的无向树#xff0c;节点编号从 0 到 n - 1 。给你一个长度为 n - 1 的二维 整数 数组 edges #xff0c;其中 edges[i] [ai, bi] 表示在树上的节点 ai 和 bi 之间存在一条边。另给你一个下标从 0…涉及知识点 深度优化(DFS) 记忆化 题目 节点 0 处现有一棵由 n 个节点组成的无向树节点编号从 0 到 n - 1 。给你一个长度为 n - 1 的二维 整数 数组 edges 其中 edges[i] [ai, bi] 表示在树上的节点 ai 和 bi 之间存在一条边。另给你一个下标从 0 开始、长度为 n 的数组 coins 和一个整数 k 其中 coins[i] 表示节点 i 处的金币数量。 从根节点开始你必须收集所有金币。要想收集节点上的金币必须先收集该节点的祖先节点上的金币。 节点 i 上的金币可以用下述方法之一进行收集 收集所有金币得到共计 coins[i] - k 点积分。如果 coins[i] - k 是负数你将会失去 abs(coins[i] - k) 点积分。 收集所有金币得到共计 floor(coins[i] / 2) 点积分。如果采用这种方法节点 i 子树中所有节点 j 的金币数 coins[j] 将会减少至 floor(coins[j] / 2) 。 返回收集 所有 树节点的金币之后可以获得的最大积分。 参数范围 n coins.length 2 n 105 0 coins[i] 104 edges.length n - 1 0 edges[i][0], edges[i][1] n 0 k 104 分析 时间复杂度 O(节点数量) DFS调用的次数节点数量*2两种方式)*21(分割方式当n无穷大时2和21忽略。 核心原理 当有祖先节点现在方式二时本节点金币会减半。由于最多有10000个金币所以减半15次后就是0所以减半15次以上和减半15次结果一样。比赛时时间紧急所以弄了20次避免考虑边界情况。 变量解释 m_vRet[m_iN];//m_vRet[0] 未减半各节点及子孙节点的分数 m_vRet[i] 减半i次后的最大分数 代码 核心代码 class CNeiBo2 { public: CNeiBo2(int n, bool bDirect, int iBase 0):m_iN(n),m_bDirect(bDirect),m_iBase(iBase) { m_vNeiB.resize(n); } CNeiBo2(int n, vectorvector edges, bool bDirect,int iBase0) :m_iN(n), m_bDirect(bDirect), m_iBase(iBase) { m_vNeiB.resize(n); for (const auto v : edges) { m_vNeiB[v[0]- iBase].emplace_back(v[1]- iBase); if (!bDirect) { m_vNeiB[v[1]- iBase].emplace_back(v[0]- iBase); } } } inline void Add(int iNode1, int iNode2) { iNode1 - m_iBase; iNode2 - m_iBase; m_vNeiB[iNode1].emplace_back(iNode2); if (!m_bDirect) { m_vNeiB[iNode2].emplace_back(iNode1); } } const int m_iN; const bool m_bDirect; const int m_iBase; vectorvector m_vNeiB; }; class Solution { public: int maximumPoints(vectorvector edges, vector coins, int k) { m_iK k; for (int i 0; i m_iN; i) { m_vRet[i].assign(coins.size(),-1); } CNeiBo2 neiBo(coins.size(),edges, false); dfs(0, -1, 0, neiBo, coins); return m_vRet[0][0]; } int dfs(int cur, const int parent, int split,const CNeiBo2 vNeiBo,const vector coins) { if (split 20) { return 0; } int iRet m_vRet[split][cur]; if (-1 ! iRet) { return iRet; } const int curCoin coins[cur] / (1 split); int iType1 curCoin - m_iK; { for (const auto next : vNeiBo.m_vNeiB[cur]) { if (parent next) { continue; } iType1 dfs(next, cur, split, vNeiBo, coins); } } int iType2 curCoin/2; { for (const auto next : vNeiBo.m_vNeiB[cur]) { if (parent next) { continue; } iType2 dfs(next, cur, split1, vNeiBo, coins); } } iRet max(iType1, iType2); return iRet; } int m_iK; static const int m_iN 20; vector m_vRet[m_iN];//m_vRet[0] 未减半各节点及子孙节点的分数 m_vRet[i] 减半i次后的最大分数 }; 测试用例 template void Assert(const vector v1, const vector v2) { if (v1.size() ! v2.size()) { assert(false); return; } for (int i 0; i v1.size(); i) { assert(v1[i] v2[i]); } } template void Assert(const T t1, const T t2) { assert(t1 t2); } int main() { Solution slu; vectorvector edges; vector coins; int k; int res; edges { {0,1},{1,2},{2,3} }; coins { 10,10,3,3 }; k 5; res slu.maximumPoints(edges, coins,k); Assert(11, res); edges { {0,1},{0,2} }; coins { 8,4,4 }; k 0; res slu.maximumPoints(edges, coins, k); Assert(16, res); //CConsole::Out(res);} 扩展阅读 视频课程 有效学习明确的目标 及时的反馈 拉伸区难度合适可以先学简单的课程请移步CSDN学院听白银讲师也就是鄙人的讲解。 https://edu.csdn.net/course/detail/38771 如何你想快速形成战斗了为老板分忧请学习C#入职培训、C入职培训等课程 https://edu.csdn.net/lecturer/6176 相关下载 想高屋建瓴的学习算法请下载《闻缺陷则喜算法册》doc版 https://download.csdn.net/download/he_zhidan/88348653 充满正能量得对大家说闻缺陷则喜是一个美好的愿望早发现问题早修改问题给老板节约钱。墨家名称的来源有所得以墨记之。如果程序是一条龙那算法就是他的是睛 测试环境 操作系统win7 开发环境 VS2019 C17 或者 操作系统win10 开发环境 VS2022 C17
http://www.sadfv.cn/news/107858/

相关文章:

  • 网站设置不能通过链接访问做网站怎样才能接单
  • 昆明网站如何制作专业做物业网站的公司
  • 网站建设工作方案铜仁北京网站建设
  • wordpress开启多站点后台没显示潮州哪里有做网站
  • 破解空间网站网络工程规划与设计方案
  • 宁金诚信建设网站旅游网站建设那家好
  • 桂林 网站 制作浙江省住房城乡建设厅网站
  • 学会网站建设的重要性网站建设四川
  • 外贸网站 语言网站的seo优化方案
  • 服务类网站开发大力推进网站集约化建设
  • 做空包网站wordpress替换表情变小
  • 企业网站 域名注册优化seo网站西安
  • 折扣网站搭建有需要做网站推广找我
  • 发布软文的平台有哪些微信搜一搜seo优化
  • 淄博网站制作服务个人网站设计制作步骤
  • 做网站的流程视频教程国家建设人才网站
  • 做音乐网站的目地1688做网站需要多少钱
  • 马鞍山建设网站网站设计网上培训学校
  • 浙江省住房建设厅网站企业网站备案案例
  • 非遗文化网站建设深圳市宝安区投资推广署官网
  • 大淘客平台怎么做分销网站建设网站需要什么资质
  • 网站项目建设规划书案例广州优壹网络科技有限公司
  • 太仓建设银行网站佛山网上推广
  • 网站中怎么做图片的变换湛江人才网招聘官方网
  • 足球网站网站建设优质视频素材网站
  • 在百度搜索到自己的网站企业网站主页设计
  • 企业网站做留言板有什么优势上海知名的网站公司
  • 手机网站开发源码wordpress搬家 图片不显示
  • 国外做汽配的网站wordpress文件上传 并发
  • 网站建设服务费下什么科目wordpress插件 二次开放