![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++笔记
勿言之魚
这个作者很懒,什么都没留下…
展开
-
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 · 95 阅读 · 0 评论 -
4月5号-4月11号
动态规划动态规划是利用之前所计算的最优值来推出接下来问题的最优值。有些像递归。解题要先定义储存每个问题最优值的数组,然后找到最优值的状态转移方程,还要找到最初的初始值。拿一个简单的题举例:小明写了一个简单的吃金币游戏,规则如下:在一个长方形地图上,玩家每次能从一个方格走到相邻一个方格。玩家控制的角色可以向下或者向右走,但不能向上或向左走。每个方格上都有一定的金币。现在,小明想请你帮他想一个策略,尽可能多的获得金币(从左上角走到右下角可能获得的最大金币数)。该问题是求到右下角是所获得金币的最原创 2021-04-10 23:16:27 · 50 阅读 · 0 评论 -
3月29号-4月4号总结
动态规划动态规划是分阶段求最优值的算法。1.将复杂问题按阶段分成子问题2.枚举子问题各种情况,从中找出最优值3.利用子问题的最优值求得源问题的最优解解动态规划的题:要把握问题的关键,学会寻找状态转移方程。这是最关键的一步,找到了便基本解决了问题。划分子问题,是按时间,空间等方式进行划分。感悟在课上学习动态规划一定要在课前预习,否则基本跟不上。ACM课是学习算法的课,要比程序设计要难的多,对思维要求十分高。所以上ACM课最重要的是学习思维方式,提高自己的思维能力。并且看题要看本质,要跟别的同原创 2021-04-10 22:30:42 · 32 阅读 · 0 评论 -
3月21日-3月28日总结
贪心算法贪心算法是不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解首先确定贪心策略,选择一个看上去最好的方案。选择目标不同也不同局部最优解:把问题分成一个个小问题。动态规划动态规划是分阶段求最优值的算法。1.将复杂问题按阶段分成子问题2.枚举子问题各种情况,从中找出最优值3.利用子问题的最优值求得源问题的最优解例题吃金币游戏在一个长方形地图上,玩家每次能从一个方格走到相邻一个方格。玩家控制的角色可以向下或向右走,但不能向上或者向左走。每个方格上都有一定的金币。求从左上角原创 2021-03-28 21:19:02 · 43 阅读 · 0 评论 -
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 · 83 阅读 · 0 评论 -
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 · 121 阅读 · 0 评论