自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 背包问题

动态规划中运用非常多的是背包问题背包问题一共有三种:1. 0-1背包问题2. 完全背包问题(需要把背包装满,只需要在0-1背包的基础上改变一下初始化即可)3. 多重背包问题(相当于0-1背包问题的演变)例一 九度1123 0-1背包问题题目描述:辰辰是个很有潜能、天资聪颖的孩子,他的梦想是称为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带...

2018-03-31 11:40:40 146

原创 set

今天看到了一道题,最开始想用优先队列,发现不能同时控制队列的头和尾,双向队列又不知道怎么排序,所以学到了一个新技能,就是利用c++模板库中的setset的特性是,所有元素都会根据元素的键值自动排序,set的元素不像map那样可以同时拥有实值(value)和键值(key),set元素的键值就是实值,实值就是键值。set不允许两个元素有相同的键值。先附上几个set的常用方法,注意其中很多都是返回一个迭...

2018-03-29 09:57:40 274

原创 最长公共子序列LCS

此类问题一般是给出两个或多个字符串,然后找出最长的相同子序列。方法(两个字符串为例):dp[0][i]=0  i∈[0,length(str1)]dp[i][0]=0  i∈[0,length(str2)]dp[i][j]=dp[i-1][j-1]+1 (str1[i] == str2[j])dp[i][j]=max(dp[i-1][j],dp[i][j-1]) (str1[i] != str2[...

2018-03-26 11:30:10 104

原创 最长递增子序列LIS

<动态规划进阶啦>在已知序列中,取出若干数组成新的序列,这个序列下标和大小要按照从小到大或者从大到小的顺序,找出最长子序列。F[1]=1;F[i]=max{1, F[j]+1 | aj<ai && j<i };for (i = n-1; i >=0; i--) { dp2[i] = 1; for (j = n-1; j >i; j--...

2018-03-24 23:13:12 140

原创 递推问题

递推问题主要涉及到两大类,背过方法即可1. 普通递推(爬楼梯问题)2. 错排问题 :运用错排公式 F[N]=(N-1)*F[N-1]+(N-1)*F[N-2]例一:九度1205题目描述:N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。(要求采用非递归)输入:输入包括一个整数N,(1<=N<90)。输出:可能有多组测试数据,对于每组数据,输出当楼梯阶数是N时的上楼方式个数。样...

2018-03-24 10:28:30 817

原创 深度遍历搜索DFS

我发现深度遍历搜索其实用的算法就是递归啊。。。这种成了模型的代码还是要多敲练手感。。九度1461这个程序敲得很顺,但是debug了好久,因为各种细节问题。。题目描述:The doggie found a bone in an ancient maze, which fascinated him a lot. However, when he picked it up, the maze began...

2018-03-23 23:31:24 147

原创 递归

好久没更了,但是还是坚持了每天至少一题。。今天更递归,虽然我老是在递归上犯迷糊,但是背也得背下来先看递归经典问题汉诺塔问题汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一...

2018-03-23 13:41:07 140

原创 最小生成树MST

最小生成树Kruskal算法1.初始时所以点属于孤立的结点2.按照边权递增的顺序遍历所有的边,若该边的两个点不属于一个集合,则确定该边为最小生成树上的一条边,且要将这两个点合并到一个集合之中。3.遍历完所有边,若原图上所有结点均属于同一集合,则被选取的边和结点构成了最小生成树;否则不连通,MST不存在方法:并查集例一:九度1017 还是畅通工程题目描述:    某省调查乡村交通状况,得到的统计表中...

2018-03-14 08:41:10 322

原创 并查集

数据结构——集合用来表示集合信息,用以实现如确定某个集合含有哪些元素、判断两个元素是否存在在同一集合中 、求集合中元素个数等问题。方法:用一棵树来表示一个集合,判断是否在一个集合中,只需判断是否在一棵树上。定义数组Tree[]来表示双亲结点编号,若该结点已经是根节点,则保存为-1#define N 1000int Tree[N];//初始化所有节点的树根为-1,即为独立节点,注意循环的开始和结束...

2018-03-14 08:24:40 152

原创 分解素因数

对一个数分解质因数,使得其满足x=p1^e1*p2^e2*...*pn^en*例一 九度1207 求质因数的个数题目描述:求正整数N(N>1)的质因数的个数。相同的质因数需要重复计算。如120=2*2*2*3*5,共有5个质因数。输入:可能有多组测试数据,每组测试数据的输入是一个正整数N,(1<N<10^9)。输出:对于每组数据,输出N的质因数的个数。样例输入:120样例输出:5...

2018-03-07 20:34:49 846

原创 二分求幂(一种快速幂运算的方法)

求a的b次方,运用二分求幂的方法  ——通过将b转换成二进制进行分解//普通二分求幂long long pow(long long q, long long k) { //q的k次方    long long ans=1;    while (k!=0) {        if (k % 2 == 1) {            ans *= q; ans %=...

2018-03-07 20:20:22 625

空空如也

空空如也

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

TA关注的人

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