- 博客(8)
- 收藏
- 关注
原创 C++ 算法学习——1.6 贪心算法
分别设为l1,r1,l2,r2代表相应左右手的数。,而大臣2在大臣1前面,则必然可以有大臣1在大臣2前面时最大值更小。贪心算法依然是分析局部,不同于分治所研究的小问题,这些局部问题与整体问题并不是同结构的。意味着,如果按照l*r作为标准,大臣呈非减序列排列,就可以出现最大值最小的情况。如果局部最优解能带来整体最优解,那贪心算法就是可用于解决问题的。于是这样的局部最优解推出全局最优解的情况,可以采用贪心算法。否则,一定存在相邻的两个大臣l1,r1,l2,r2,其中。3.如果是,则使用贪心算法。
2024-09-27 15:12:49 188
原创 C++ 算法学习——1.6 递推递归
而用递归的方式分析,当(i,j)不通即x(i,j)==0时,return 0;当(i,j)可以走时,f(i,j)将返回f(i+1,j)+f(i,j+1),递归的终点是i==n,j==m,return 1;分析子问题,从终点开始,附近点作为起点的条数是易知的,这是“下者”,对应某个上者,它的条数就是对应下者(右或下)的条数相加,即p[i,j]=p[i+1,j]+p[i,j+1]特别注意递归要注意return具体数值而非函数时的条件,此题中就是x(i,j)==0或i==n&&j==m.
2024-09-26 19:26:50 214
原创 C++ 算法学习—— 1.2 排序算法第一部分(sort的使用,string用于大数比较,vector的构建示例)
采用高精度算法中的思想,使用string类型处理高精度数字。基本的排序算法,如冒泡,插入,选择不再赘述。题目还说明票数会存在非常大的情况,于是。
2024-09-26 18:02:59 185
原创 C++ 算法学习——1.6 高精度算法(string类的注意)
对处理部分:可以采用string相关的函数,或对每一位字符处理精细处理。对输出部分:输出位string 类型;对输入部分:可以采取string类型记录数据,或字符数组。可以分为输入,处理,输出三个方面的研究。一般数据类型承载不了的体量。高精度算法,旨在处理。
2024-09-25 18:10:22 230
原创 C++ 算法学习——1.6 模拟的算法(memset)
模拟算法,即仿照问题进行的过程,具体地展现问题情境。要点在于全面完备地设计。可以考虑的思路是:先完成在正常简单情境下的过程,再考虑边界或极端情形。P1.以洛谷P2670扫雷游戏为例。想法是,直接检查每个格子周围的地雷数,然后修改相应位置。这是朴素的简单的思维。但考虑边界问题,数组边界上的格子在检测时会越界,同时不同边界检查位置不同,很麻烦。所以考虑将棋盘周围都放置一个无地雷格。这样每种格子的操作都一样。#include<iostream>#include<
2024-09-25 16:58:12 144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人