![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
楼嘎鱼
这个作者很懒,什么都没留下…
展开
-
OJ最低通行费
5:最低通行费描述一个商人穿过一个 N*N 的正方形的网格,去参加一个非常重要的商务活动。他要从网格的左上角进,右下角出。每穿越中间1个小方格,都要花费1个单位时间。商人必须在(2N-1)个单位时间穿越出去。而在经过中间的每个小方格时,都需要缴纳一定的费用。这个商人期望在规定时间内用最少费用穿越出去。请问至少需要多少费用?注意:不能对角穿越各个小方格(即,只能向上下左右四个方向移动且不能离...原创 2019-08-23 20:36:55 · 313 阅读 · 0 评论 -
01背包问题(动态规划)
#include<iostream>#include<vector>using namespace std;vector<int> weight;vector<int> value;int main(){ int n; cin>>n; int w,v; weight.push_back(0); value.push_...原创 2019-09-04 15:10:20 · 153 阅读 · 0 评论 -
汉诺塔问题(分治递归思想)
汉诺塔的基本思想就是1.先把上面n-1个通过c转移到b(因为我的c里面要放n,也就是最大的那个)2.把a中的 n(最大的那个)移动到c3.再把b中的n-1个通过a移动到c;整个过程就结束了,然后递归调用这个函数,每一层递归都执行这三个步骤最后n=1的时候,想象一下,n=1的时候,是不是把c中的1直接移到c中即可,所以这就是终止条件。今天可算是理解了汉诺塔的原理了!!!```#incl...原创 2019-08-29 21:59:48 · 1107 阅读 · 0 评论 -
快速排序(分治算法递归实现)
1.找基准数做参考2.定义ll=left,rr=right3.从右开始滑,遇到小于基准数的停,否则rr–,继续滑,找到比基准数小的后,再从左开始滑,遇到比基准数大的停,否则ll++,继续滑之道ll==rr时循环结束4.最后把下标为 ll 的和下标为left(left没动一直是最左边的)数交换,第一次交换就完成了,左边比基准数小,右边比基准数大。5.递归把左边和右边的继续快速排序,...原创 2019-08-28 20:51:27 · 1023 阅读 · 0 评论 -
归并排序(分治算法队列递归实现)
分治思想就是先分成一小块一小块,最后再一步步合并起来,最后完成排序下面代码需要注意的地方是:int asize=arr.size();我一开始的时候直接在for循环中使用arr.size()但是我这个for循环中arr是在不断pop的,所以导致其size也在不断变化,不能达到对半分的效果,用一个变量来把最初始的size记录下来后,得到的结果就正常了#include<iostream>...原创 2019-08-28 16:02:12 · 291 阅读 · 0 评论 -
棋盘覆盖(分治算法)
这个题的核心就是分治算法,把棋盘分割为四块,判断特殊块是否在这四个分盘上,如果在,直接递归,把这个分盘当作整盘,如果不在,则把分盘交界处的那个块标记为特殊块,并赋值为temp,然后这个分盘就有了特殊块,所以再开始递归,把这个分盘当作整盘,一直递归到盘的size为1时停止,全部递归完成后,就得到想要的结果了注意:1.不要直接用t,因为t为全局变量,一直在变化,用一个temp来代替当前递归中的t...原创 2019-08-28 10:38:14 · 1003 阅读 · 0 评论 -
大整数乘法
[编程题] 大整数相乘时间限制:1秒空间限制:32768K有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示。不能用系统自带的大整数类型。输入描述:空格分隔的两个字符串,代表输入的两个大整数输出描述:输入的乘积,用字符串表示输入例子1:72106547548473106236 982161082972751393输出例子1:70820244829634538...转载 2019-08-27 20:40:26 · 115 阅读 · 0 评论 -
二分搜索插入题
#include<iostream>#include<vector> using namespace std;int twosearch(vector<int> arr,int target){ int min=0; int max=arr.size()-1; while(min<=max){ int mid=(min+max)/2; ...转载 2019-08-27 19:02:17 · 104 阅读 · 0 评论 -
全排列c++算法代码
#include<iostream>#include<vector>#include<algorithm>using namespace std;void swap(int &x,int &y){ int temp=x; x=y; y=temp;}void qpl(vector<int> arr,int n){...原创 2019-08-22 19:47:38 · 4097 阅读 · 2 评论 -
JAVA基础(持续更新。。。。。)
1.在子类构造器中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过;2.在同一个.java文件中,在类中再去声明一个类,这个类的私有属性是可以在外面类的main函数中通过"对象.属性"可以直接调用,而不用再去写get函数,(可能是因为类中类的私有属性还属于外面类的属性,所以在其main函数中可以直接调用).3.this()函数和super()...原创 2019-09-04 21:36:29 · 124 阅读 · 0 评论