- 博客(3)
- 收藏
- 关注
原创 【c++学习笔记】贪心算法之删数问题——你的“0”删完了吗?
形象点说,它就是那种只顾眼前利益的典型代表,绝不考虑以后会有什么后果,只管在当下选择最优的方案,一直到结束。那么现在加上一点贪心的成分,问题就转化成维护序列由高位到低位的数字满足单调递增,也就是说只要遍历到一个数,先来分析一下题目,为了便于操作,我们很容易想到用字符串读入之后按位存储(比如说9001234删去一个数就成了001234,而前导0是需要去除的;现在就可以输出结果了......欸(っ °Д °;还有就是123删去3个数,啥也没了,但应该输出一个0。过啦q(≧▽≦q),下面奉上完整代码。
2024-02-20 01:51:24
772
原创 [c++学习笔记]迷宫——DFS的简单应用
我们可以用一个二维数组a模拟平面,再用一个数组visit来记录这个坐标是否被访问过。不过还有一个问题:如何简便地表示平面内向四个方向的移动呢?很简单,用一个nxt数组表示位移就行啦( •̀ ω •́ )✧。形象点来说,就是沿着一条路一直走下去,直到“撞了南墙”才回头,再走其它的路,直至所有结点都遍历完。这种将所有结点都遍历完的方法能很好地帮助我们求解一些问题,就比如说全排列问题或者说要求出方案总数。至于剩下的工作,就只是按照模板写出DFS算法了。下面就一起来看一个比较经典的走迷宫问题吧!
2024-02-19 01:22:38
384
原创 [c++学习笔记]整数高精度计算
c++已经提供了一些数学基础运算,但我们知道long long的范围只有[-2^63,2^63-1],有一定的局限性,如果要处理的数据有上千位、上万位怎么办呢?那就该使用高精度计算了。将需要运算的数以字符串的形式读入,按位存储到数组中,再模拟列竖式的方法进行计算,再输出。可以先取出两数的符号,再进行运算,最后在结果里加上符号,如正数*负数为负数,能力较弱请见谅 :)
2024-02-18 00:32:40
385
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人