自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 5.17-5.23总结

二分查找算法二分查找适用于在一个排序数组中找到给定的数,遍历的复杂度为O(n), 二分的复杂度为O(logn),二分的场景有以下三种:寻找一个数寻找左侧边界寻找右侧边界三分法类似二分的定义Left和Rightmid=(Left+Right)/2midmid=(mid+Right)/2如果mid靠近极值点,则Right=midmid否则(即midmid靠近极值点),则Left=mid;三分是和二分非常类似的一个算法,与二分不同的是二分是单调的,而三分是一个先增后减或者先减后增三分可以

2021-05-23 23:18:08 81

原创 5.10-5.16总结

二分查找算法定义:在单调有序的集合中查找元素,每次将集合分为两部分,判断在哪个部分中并调整集合上下限,重复知道找到目标解1.集合要单调有序2.结束条件: 找到解或下限大于上限3.对集合元素多的进行二分查找来减少计算次数如:a[100],b[10000]1.对a二分,b循环次数:100006(int(100/2^n)==1时的n的大小)=60000.2.对b二分,a循环次数:10013=1300两次分别为最大运算次数,明显对集合大的二分所进行的运算次数要小从集合中找到解的最值结束条

2021-05-17 00:49:46 44

原创 5.5-5.9总结

一般给定一个有体积的背包和一些物品以及特定限制,求解最优物品选择方案。在本质上,DP是利用已处理子问题的结论进行下一步递推。但即使这样,搜索毕竟是搜索,该进行的计算是不可省略的,而只能进行已有结论的利用.背包,可考虑递推总结:背包问题在dp中可以说是经典,背包的学习要早早的学好,不能拖到后面才学。...

2021-05-10 23:45:11 48

原创 4.19-4.25学习总结

线性DP基本模型:确定问题的决策对象对决策问题划分阶段对各个阶段确定状态变量根据状态变量来确定目标函数确定状态转移方程区间DP在解决问题时发现不能单纯用一个点的问题的解来求下一个问题的解。而是要采取一个区间的问题的解才能求下一个问题的解时便使用区间DP。即:将大区间转化为几个小区间,先求小区间的最优解,再合并起来求大区间的最优解总结区间dp就是在区间上进行动态规划,求解一段区间上的最优解。主要是通过合并小区间的 最优解进而得出整个大区间上最优解的dp算法。...

2021-04-25 19:48:15 60

原创 2021-04-18

动态规划题目的特点1.计数-有多少种方式走到右下角-有多少种方法选出k个数使得和是sum2.求最大最小值-从左上角走到右下角路径的最大数字和-最长上升子序列长度动态规划的基本模型:确定问题的决策对象对决策问题划分阶段对各个阶段确定状态变量根据状态变量来确定费用函数和目标函数确定状态转移方程动态规划只能应用于有最优子结构的问题。最优子结构的意思是局部最优解能决定全局最优解(对有些问题这个要求并不能完全满足,故有时需要引入一定的近似)。简单地说,问题能够分解成子问题来解决。并且保存子问

2021-04-18 23:57:41 33

原创 4月5号-4月11号

动态规划动态规划是利用之前所计算的最优值来推出接下来问题的最优值。有些像递归。解题要先定义储存每个问题最优值的数组,然后找到最优值的状态转移方程,还要找到最初的初始值。拿一个简单的题举例:小明写了一个简单的吃金币游戏,规则如下:在一个长方形地图上,玩家每次能从一个方格走到相邻一个方格。玩家控制的角色可以向下或者向右走,但不能向上或向左走。每个方格上都有一定的金币。现在,小明想请你帮他想一个策略,尽可能多的获得金币(从左上角走到右下角可能获得的最大金币数)。该问题是求到右下角是所获得金币的最

2021-04-10 23:16:27 46

原创 3月29号-4月4号总结

动态规划动态规划是分阶段求最优值的算法。1.将复杂问题按阶段分成子问题2.枚举子问题各种情况,从中找出最优值3.利用子问题的最优值求得源问题的最优解解动态规划的题:要把握问题的关键,学会寻找状态转移方程。这是最关键的一步,找到了便基本解决了问题。划分子问题,是按时间,空间等方式进行划分。感悟在课上学习动态规划一定要在课前预习,否则基本跟不上。ACM课是学习算法的课,要比程序设计要难的多,对思维要求十分高。所以上ACM课最重要的是学习思维方式,提高自己的思维能力。并且看题要看本质,要跟别的同

2021-04-10 22:30:42 29

原创 3月21日-3月28日总结

贪心算法贪心算法是不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解首先确定贪心策略,选择一个看上去最好的方案。选择目标不同也不同局部最优解:把问题分成一个个小问题。动态规划动态规划是分阶段求最优值的算法。1.将复杂问题按阶段分成子问题2.枚举子问题各种情况,从中找出最优值3.利用子问题的最优值求得源问题的最优解例题吃金币游戏在一个长方形地图上,玩家每次能从一个方格走到相邻一个方格。玩家控制的角色可以向下或向右走,但不能向上或者向左走。每个方格上都有一定的金币。求从左上角

2021-03-28 21:19:02 40

原创 3月15-3月20号内容总结

总结:函数rand()与strand(),time():rand():以某个随机数种子产生随机数。注:这种随机数不是真正的随机数,相同随机数种子产生的随机数是相同的例: int a,b; a=rand(); cout<<a<<endl; b=rand(); cout<<b<<endl;第一次执行上面的代码输出的数据:4118467第二次执行输出的数据同样是:4118467srand():用于设置rand

2021-03-21 11:51:27 74

原创 3月7号-3月13号内容总结:

3月7号-3月13号内容总结:C++ 的字符串类型stringstring定义一个保存字符串的变量(对象);定义格式: string 标识符;string类支持字符串对象的各种操作,相比字符数组更加简便易懂直观好操作。初始化可以像字符数组那样赋值:string x=“abc”;也可以像一般变量一样进行赋值:string x;x=“abc”;(不需要像数组那样借助指针来像这样赋值)可用cin>>x;赋值,或者用getline()赋值。如:string x;getline(

2021-03-13 16:25:24 114

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除