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

四川省住房建设厅网站设计类专业考研

四川省住房建设厅网站,设计类专业考研,wordpress调用文章自定义字段,毕设网站建设一、动态规划 动态规划#xff08;Dynamic Programming#xff0c;简称DP#xff09;主要用于求解可以被分解为相似子问题的复杂问题#xff0c;特别是在优化问题上表现出色#xff0c;如最短路径、最大子数组和、编辑距离等。动态规划的核心思想是将原问题分解为较小的子…一、动态规划 动态规划Dynamic Programming简称DP主要用于求解可以被分解为相似子问题的复杂问题特别是在优化问题上表现出色如最短路径、最大子数组和、编辑距离等。动态规划的核心思想是将原问题分解为较小的子问题通过解决这些子问题并将结果存储起来通常是在一个数组或者哈希表中以避免重复计算从而提高效率。 动态规划问题的解决通常遵循以下几个步骤 暴力穷举所有答案。画出递归树尝试编写递归函数求解。若遍历中存在大量重复计算使用哈希表缓存数据之后遍历到相同节点就直接查表。表示整个计算过程观察公式求解顺序改写成更加高效的迭代形式。 二、动态规划的例子 1.斐波那契数列 2.背包问题 3. 最长公共子序列LCS 给定一个无序数组nums[1,5,2,4,3]找出其中最长的递增的子序列比如1-2-41-2-3。将问题简化要求算法只返回最长序列的长度3 (1) 暴力枚举 把每个子序列都“找个遍”并且在遍历过程中实时记录当前子序列的长度 (2) 递归解决方案 递归函数 L用于计算以特定元素结尾的最长递增子序列的长度 基础情形如果当前考虑的元素是数组的最后一个元素那么以它结尾的最长递增子序列的长度为 1因为它自身就构成了一个长度为 1 的递增子序列。递归步骤对于非最后一个元素函数会遍历当前元素之后的所有元素寻找一个值比当前元素大的元素这意味着可以形成一个递增的序列。对于每一个这样的元素函数会递归地计算以那个元素为结尾的最长递增子序列的长度并将其与当前最大长度比较更新当前最大长度。这个过程会重复直到数组结束。返回值函数最终返回以当前元素结尾的最长递增子序列的长度。 函数 lengthOfLIS作用是找到整个数组的最长递增子序列的长度。 遍历给定数组的每个元素对每个元素调用递归函数 L计算以该元素为结尾的最长递增子序列的长度。比较并更新 max_len 为当前找到的最长递增子序列的长度。遍历完成后返回 max_len 作为最终结果。 #include iostream #include vector using namespace std;// 计算以 nums[i] 结尾的最长递增子序列的长度 int L(const vectorint nums, int i) {if (i nums.size() - 1) { // 如果是最后一个元素return 1; // 最长递增子序列长度为1}int max_len 1; // 初始化最大长度为1for (int j i 1; j nums.size(); j) {if (nums[j] nums[i]) { // 如果找到一个递增的元素// 递归计算以 nums[j] 结尾的最长递增子序列长度并加1加上nums[i]// 然后与当前的最大长度取较大值max_len max(max_len, L(nums, j) 1);}}return max_len; // 返回以 nums[i] 结尾的最长递增子序列的长度 }// 计算给定序列的最长递增子序列长度 int lengthOfLIS(const vectorint nums) {int max_len 0; // 初始化全局最大长度为0for (int i 0; i nums.size(); i) {// 遍历每个元素计算以每个元素为起点的最长递增子序列的长度// 然后取所有长度中的最大值max_len max(max_len, L(nums, i));}return max_len; // 返回最长递增子序列的长度 }int main() {vectorint nums {1, 5, 2, 4, 3}; cout lengthOfLIS(nums) endl; return 0; } (3) 递归的问题 直接递归的方法在时间复杂度上是非常高的因为它会重复计算很多子问题的解。比如在遍历子序列1-2-4时就已经计算过“L(4)”后面遍历1,4时又重复计算了一次。 (4) 递归的优化动态规划 为了避免递归中出现的重复计算可以将第一次计算时的结果保存之后再当遍历到相同的节点我们就不在需要重复计算直接返回之前的结果即可。 在这个版本中L 函数中添加了一个 unordered_map 哈希表类型的备忘录 memo用于存储已经计算过的子问题的解。在递归的过程中先检查备忘录是否已经包含了当前子问题的解如果有则直接返回保存的结果避免了重复计算。这样能够显著提高程序的性能。 #include iostream #include vector #include unordered_map using namespace std;// 使用备忘录的递归方式计算以 nums[i] 结尾的最长递增子序列的长度 int L(const vectorint nums, int i, unordered_mapint, int memo) {if (i nums.size() - 1) {return 1;}if (memo.find(i) ! memo.end()) {return memo[i]; // 如果已经计算过直接返回保存的结果}int max_len 1;for (int j i 1; j nums.size(); j) {if (nums[j] nums[i]) {max_len max(max_len, L(nums, j, memo) 1);}}memo[i] max_len; // 将结果保存到备忘录中return max_len; }// 计算给定序列的最长递增子序列长度 int lengthOfLIS(const vectorint nums) {int max_len 0;unordered_mapint, int memo; // 使用unordered_map作为备忘录for (int i 0; i nums.size(); i) {max_len max(max_len, L(nums, i, memo));}return max_len; }int main() {vectorint nums {1, 5, 2, 4, 3};cout lengthOfLIS(nums) endl;return 0; }(5) 递归转非递归 从后往前依次计算即可推算出所有答案数学归纳 dp 数组用于存储以每个元素结尾的最长递增子序列的长度。 双重循环外层循环遍历每个元素内层循环遍历当前元素之前的元素更新以当前元素结尾的最长递增子序列的长度。 max_element 函数返回 dp 数组中的最大值即整个数组中最长递增子序列的长度。 #include iostream #include vector using namespace std;int lengthOfLIS(const vectorint nums) {int n nums.size();if (n 0) return 0; // 处理空数组的情况vectorint dp(n, 1); // 初始化dp数组每个元素代表以对应位置元素结尾的最长递增子序列的长度for (int i 1; i n; i) {for (int j 0; j i; j) {if (nums[i] nums[j]) {dp[i] max(dp[i], dp[j] 1); // 更新以nums[i]结尾的最长递增子序列长度}}}return *max_element(dp.begin(), dp.end()); // 返回dp数组中的最大值即最长递增子序列的长度 }int main() {vectorint nums {1, 5, 2, 4, 3}; // 定义一个序列cout lengthOfLIS(nums) endl; // 输出最长递增子序列的长度return 0; }
文章转载自:
http://www.morning.fnzbx.cn.gov.cn.fnzbx.cn
http://www.morning.jkcpl.cn.gov.cn.jkcpl.cn
http://www.morning.wnmdt.cn.gov.cn.wnmdt.cn
http://www.morning.dmsxd.cn.gov.cn.dmsxd.cn
http://www.morning.rrcrs.cn.gov.cn.rrcrs.cn
http://www.morning.nkbfc.cn.gov.cn.nkbfc.cn
http://www.morning.xldpm.cn.gov.cn.xldpm.cn
http://www.morning.qpsxz.cn.gov.cn.qpsxz.cn
http://www.morning.rfhwc.cn.gov.cn.rfhwc.cn
http://www.morning.yghlr.cn.gov.cn.yghlr.cn
http://www.morning.lsgjf.cn.gov.cn.lsgjf.cn
http://www.morning.xiaobaixinyong.cn.gov.cn.xiaobaixinyong.cn
http://www.morning.lrgfd.cn.gov.cn.lrgfd.cn
http://www.morning.dbnpz.cn.gov.cn.dbnpz.cn
http://www.morning.cczrw.cn.gov.cn.cczrw.cn
http://www.morning.mnlk.cn.gov.cn.mnlk.cn
http://www.morning.qfkxj.cn.gov.cn.qfkxj.cn
http://www.morning.bysey.com.gov.cn.bysey.com
http://www.morning.flzqq.cn.gov.cn.flzqq.cn
http://www.morning.snccl.cn.gov.cn.snccl.cn
http://www.morning.mqpdl.cn.gov.cn.mqpdl.cn
http://www.morning.dmtbs.cn.gov.cn.dmtbs.cn
http://www.morning.tqrbl.cn.gov.cn.tqrbl.cn
http://www.morning.lsmnn.cn.gov.cn.lsmnn.cn
http://www.morning.nrmyj.cn.gov.cn.nrmyj.cn
http://www.morning.wsyq.cn.gov.cn.wsyq.cn
http://www.morning.wjfzp.cn.gov.cn.wjfzp.cn
http://www.morning.fpxsd.cn.gov.cn.fpxsd.cn
http://www.morning.beeice.com.gov.cn.beeice.com
http://www.morning.fjgwg.cn.gov.cn.fjgwg.cn
http://www.morning.ruifund.com.gov.cn.ruifund.com
http://www.morning.xhsxj.cn.gov.cn.xhsxj.cn
http://www.morning.ktnt.cn.gov.cn.ktnt.cn
http://www.morning.mhnxs.cn.gov.cn.mhnxs.cn
http://www.morning.stflb.cn.gov.cn.stflb.cn
http://www.morning.c7496.cn.gov.cn.c7496.cn
http://www.morning.lflnb.cn.gov.cn.lflnb.cn
http://www.morning.pyncx.cn.gov.cn.pyncx.cn
http://www.morning.xxsrm.cn.gov.cn.xxsrm.cn
http://www.morning.nbnq.cn.gov.cn.nbnq.cn
http://www.morning.bhrbr.cn.gov.cn.bhrbr.cn
http://www.morning.ndmbz.cn.gov.cn.ndmbz.cn
http://www.morning.qjxkx.cn.gov.cn.qjxkx.cn
http://www.morning.ypfw.cn.gov.cn.ypfw.cn
http://www.morning.lfqtp.cn.gov.cn.lfqtp.cn
http://www.morning.gwhjy.cn.gov.cn.gwhjy.cn
http://www.morning.hpprx.cn.gov.cn.hpprx.cn
http://www.morning.nbhft.cn.gov.cn.nbhft.cn
http://www.morning.dmtbs.cn.gov.cn.dmtbs.cn
http://www.morning.khclr.cn.gov.cn.khclr.cn
http://www.morning.nkhdt.cn.gov.cn.nkhdt.cn
http://www.morning.routalr.cn.gov.cn.routalr.cn
http://www.morning.rwtlj.cn.gov.cn.rwtlj.cn
http://www.morning.yfwygl.cn.gov.cn.yfwygl.cn
http://www.morning.cpnsh.cn.gov.cn.cpnsh.cn
http://www.morning.qptbn.cn.gov.cn.qptbn.cn
http://www.morning.srgbr.cn.gov.cn.srgbr.cn
http://www.morning.kpcdc.cn.gov.cn.kpcdc.cn
http://www.morning.mdjtk.cn.gov.cn.mdjtk.cn
http://www.morning.supera.com.cn.gov.cn.supera.com.cn
http://www.morning.hsgxj.cn.gov.cn.hsgxj.cn
http://www.morning.sgfgz.cn.gov.cn.sgfgz.cn
http://www.morning.gccdr.cn.gov.cn.gccdr.cn
http://www.morning.jpydf.cn.gov.cn.jpydf.cn
http://www.morning.mkrjf.cn.gov.cn.mkrjf.cn
http://www.morning.rszwc.cn.gov.cn.rszwc.cn
http://www.morning.bpmtj.cn.gov.cn.bpmtj.cn
http://www.morning.bpmnc.cn.gov.cn.bpmnc.cn
http://www.morning.jczjf.cn.gov.cn.jczjf.cn
http://www.morning.lsjgh.cn.gov.cn.lsjgh.cn
http://www.morning.gwjsm.cn.gov.cn.gwjsm.cn
http://www.morning.ggnfy.cn.gov.cn.ggnfy.cn
http://www.morning.mnnxt.cn.gov.cn.mnnxt.cn
http://www.morning.ljhnn.cn.gov.cn.ljhnn.cn
http://www.morning.zqsnj.cn.gov.cn.zqsnj.cn
http://www.morning.wmfny.cn.gov.cn.wmfny.cn
http://www.morning.yxgqr.cn.gov.cn.yxgqr.cn
http://www.morning.dzdtj.cn.gov.cn.dzdtj.cn
http://www.morning.rjnx.cn.gov.cn.rjnx.cn
http://www.morning.grtwn.cn.gov.cn.grtwn.cn
http://www.tj-hxxt.cn/news/259617.html

相关文章:

  • 视觉中国设计网站5118站长工具箱
  • 微博建网站推广比较好的网站有哪些
  • 如何做网站策划网站seo在线诊断
  • 网站规划思想方法有哪些内容wordpress 预约时间
  • 长沙 网站seo服务 网络服务网页搜索打不开网页
  • 为什么要做营销型的网站建设全球最新军事新闻
  • 昆明网站建设索王道下拉活动策划书模板
  • 某某网站建设策划书2000字金融公司网站方案
  • 网站开发vue版本是什么公司网址制作
  • 库尔勒网站建设公司重庆璧山网站制作公司推荐
  • 北京国税局网站官网入口用wordpress搭建知名网站
  • 杭州做网站哪家公司好设计公司企业文化
  • wordpress 商业网站php网站挂马
  • 淘宝网站建设的特点idc数据中心
  • 高度重视部门网站建设手机创建个人网站 免费
  • 微信公众号做微网站吗福建省建设干部培训中心网站首页
  • 企业多语言网站开发备案名 网站名
  • 查询网站到期时间阿里万网怎么做网站
  • 义乌网站建设托管平面图怎么画
  • 外贸网站营销方案中国菲律宾足球直播
  • 长沙网站设计报价wordpress 主机和域名绑定域名
  • 手机网站发布页电脑版网站滑块验证怎么做
  • 网站打开速度慢优化济南市规划局官网
  • 济南企业网站建设哪家好寿光建设局网站
  • 万维网站续费多少一年电竞网站方案设计
  • 做代收的网站有哪些网站报错 500
  • 西安专业做网站公司屏山县龙华镇中心村建设招标网站
  • 亚马逊网站链接兰州手机网站制作公司哪家好
  • 哪些网站可以免费做代码网站开发公司怎么接单子
  • 建设网站美海房地产免费域名qq空间申请