![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 91
mc_故事与你
这个作者很懒,什么都没留下…
展开
-
01背包(动态规划,贪心算法,回溯法,分支限界法)
1.动态规划算法是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推(或者说分治)的方式去解决。2.动态规划算法的基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优的局部解,丢弃其他局部解。依次解决各子问题,最后一个子问题就是初始问题的解。1.贪心算法的基本思想是找出整体当中每个小的局部的最优解,原创 2023-04-02 02:06:33 · 7986 阅读 · 2 评论 -
电路布线问题(动态规划)
我们不妨将问题逐个划分为一个一个小问题,同时也很明显的能看出经过分解后的小问题最小能够划分一条线,而线与线之间存在相交关系,那么子问题之间就一定不是单纯的相互独立问题,如果能保存下每一步的计算结果,用于比较其他情况,这样可避免过多计算,各个数据间的关系也能很好体现。一块电路板上下端分别有n个接线柱,根据电路设计,用导线(i,e[i])将上端接线柱与下端接线柱e[i]相连,所以e是个数组,(i,e[i])表示第i条线,对于任何1原创 2023-03-29 21:07:01 · 2232 阅读 · 0 评论 -
循环赛日程表 (递归与分治)
分治的核心思想就是:递归(分解)+ 合并:递归分解:将原问题(大问题)分解成和原问题相似的子问题(小问题)。递归分解首先需要明确的就是递归函数的定义(一般和题目给出的函数类似)是什么,先不用管此时函数的内部是怎么实现的,明白函数的定义也就知道了我们需要给函数传递的参数是什么,而这个参数一般就是我们将原问题划分为子问题的依据。原创 2023-03-10 23:40:20 · 10807 阅读 · 3 评论 -
凯撒密码_c++_java_python(加密及解密)
公元前100多年凯撒发明的一种密码,简单来说是平移密码,也就是将字母位置向后移动一定位数。如原文是ABCXYZ,密钥为3,加密后就是DEFABC。以密钥的数字向后平移了三位,如果密钥是5就是平移五位。解密就是把加密的文字进行还原。原创 2023-03-16 16:50:14 · 3180 阅读 · 1 评论