自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 装载问题(01背包)

装载问题(01背包) 问题 分析 设计 #include<bits/stdc++.h> const int N = 1e3+10; using namespace std; int n,m,k; int w[N]; int dp[N],pre[N][N]; int main() { puts("Input the number of box and loading weight:"); cin>>n>>m; puts("Input the each

2021-06-21 21:35:53 220

原创 LCS与背包问题

LCS与背包问题 问题 动态规划中关于最长公共子序列 LCS 、完全背包的问题 解析 Xi = < x1,x2,…,xi > Yj = < y1,y2,…,yj > Zk = < z1,z2,…,zk > 如果Zk是Xi和Yj的最长公共子序列 (1)xi = yj,那么 zk = xi = yj,Zk-1 是 Xi-1 和Yj-1的最长公共子序列 (2)xi ≠ yj,zk ≠ xi,那么 Zk是Xi-1和 Yj 的最长公共子序列 (3)xi ≠ yj,zk ≠ yj,那

2021-06-15 22:38:24 227

原创 最小生成树

最小生成树 1. 问题 如何求一个包含有原图所有n个结点的且所有边的代价和最小的极小连通子图。 2.解析 kruskal: Kruskal算法是基于贪心的思想得到的。首先我们把所有的边按照权值先从小到大排列,接着按照顺序选取每条边,如果这条边的两个端点不属于同一集合,那么就将它们合并,直到所有的点都属于同一个集合为止。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RCP8ioKR-1623764171439)(https://z3.ax1x.com/2021/05/17/g

2021-06-15 21:38:38 252

原创 最近对问题

最近对问题 1.问题: 给定平面上n个点,找出其中的一对点的距离,使得在这n个点的所有点对中,该距离为所有点对中最小的。 2.分析 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s9UuEUkL-1623763947899)(https://z3.ax1x.com/2021/06/15/2qUWHf.png)] 当前的d1,d2都是两边各自的点的最近距离,但是没有考虑到两边的点相互配对的情况,即是点对一个在左边区域,一个在右边区域。可以用上面找到的d来限制配对.即是明显超过d

2021-06-15 21:32:42 231

原创 最短路径--floyd算法和Dijkstra算法

最短路径–floyd算法和Dijkstra算法 Dijkstra算法 #include<stdio.h> #include<stdlib.h> #define max 11000000000 int a[1000][1000]; int d[1000];//d表示某特定边距离 int p[1000];//p表示永久边距离 int i, j, k; int m;//m代表边数 int n;//n代表点数 int main() { scanf("%d%d",&n,&am

2021-06-15 20:00:57 121

原创 二分归并排序算法

二分归并排序算法 1.问题 二分归并排序:对n个不同的数构成的数组A[1…n]进行排序,其中n=2^k 2.解析 二分归并排序算法 算法步骤如下:   (1) 分解:分解待排序的n个元素的数组成各具n/2个元素的两个子数组。   (2) 解决:使用归并排序递归地排序两个子序列。   (3) 合并:合并两个已排序的子序列以产生排序的答案。 void Mergesort(int l,int r) { int mid = (l + r) >> 1; if(r - l + 1 &l

2021-06-15 19:15:44 1175

原创 动态规划(投资问题)

动态规划(投资问题) 一、问题描述: 一般性描述:设m元钱,n项投资项目,函数fi(x)表示将x元投入第i项项目所产生的效益,i=1,2,···,n; 问:如何分配这m元钱,使得投资总效益最高? 组合优化问题:假设分配给第i个项目的钱数是xi, 目标函数:max{f1(x1)+ f2(x2)+···+ fn(xn)}; 约束条件:x1+x2+x3+···+xn=m,xi∈n; [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NCY8uopg-1623723891072)(htt

2021-06-15 10:25:05 377

原创 检索算法线性查找和对分查找

问题: 写出两种检索算法:在一个排好序的数组T[1…n]中查找x,如果x在T中,输出x在T的下标j;如果x不在T中,输出j=0.按实验模板编写,“分析”部分仅给出复杂度结果即可。 解析: 线性查找:从线性表的一端开始,逐个检查关键字是否满足给定的条件。若查找到某个元素的关键字满足给定条件,则查找成功,返回该元素在线性表中的位置。若已经查找到表的另一端,还没有查找到符合给定条件的元素,则返回查找失败的信息。 对分查找:对分查找首先将查找键与有序数组内处于中间位置的元素进行比较,如果中间位置上的元素内的数值

2021-06-15 10:17:22 435

原创 分治策略找第K小元素

分治策略找第K小元素 1.问题 使用特定的分治策略去寻找无序数组中第 k小的元素。 2.分析 以此递归,直到剩余最后一个数,那个数就是第k小的数 3.算法 int Select(int a[],int l,int r,int k){ if (l==r) return a[l]; int i=l,j=r; int x = a[i]; while(i<j){ while(i<j && a[j]>=x) j--; a[i]=a[j]; while (i&

2021-06-15 10:06:05 1378

原创 eclipse连接GitHub

eclipse连接GitHub 首先在eclipse中安装egit插件,可以直接在help->eclipse marketplace中进行搜索安装 进行egit的配置,在window->perference->team->git->configuration中进行配置,填入github中的用户名 在已有项目上右键team->share进行git本地仓库的新建 在项目右键team->commit可以将项目中的改变提交到仓库中。选择要commit的文件,并输入co

2021-01-08 20:41:21 239

原创 Java接口

Java接口 接口概念: (英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。 接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。 除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。 接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口

2021-01-08 20:40:32 156

原创 Java 多态

Java 多态 多态是同一个行为具有多个不同表现形式或形态的能力。 多态就是同一个接口,使用不同的实例而执行不同操作,如图所示: 用最简单的一句话就是:父类型的引用指向子类型的对象。用一句比较通俗的话:同一操作作用于不同的对象,可以产生不同的效果。这就是多态。 这句话很好理解:Person person = new Student(“张三”);但是这个多态有什么作用呢?而我们又为什么要是有多态呢? 首先讲下封装和继承:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面,他把实现的细节影藏起来了,比

2021-01-08 20:40:10 144

原创 Java学习

Java学习之正则表达式正则表达式的作用Java中正则表达式常用字符实际中的应用 正则表达式的作用 正则表达式定义了字符串的模式。 正则表达式可以用来搜索、编辑或处理文本。 ps:正则表达式并不仅限于一种语言,但在不同语言中有细微的差别 Java中正则表达式 Java中的正则表达式主要调用java.util.regex*的package,使用String.matches()函数等进行匹配。 常用字符 字符 说明 ^ 匹配输入字符串开始的位置 $ 匹配输入字符串结尾的位置

2020-10-24 12:40:19 128

空空如也

空空如也

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

TA关注的人

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