自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

越努力越幸运—liupu

人生是一个旅程,让我们共享沿途风景

  • 博客(12)
  • 收藏
  • 关注

原创 (水)垒色子 蓝桥杯2015A组题

分析:一眼便能看出这是道DP题(你若是问我怎么看出来的,那就是那种牵一发而动全身的感觉,其中任意一个色子边的变化都会引起全局变化),至于状态的话取得越细越好,就能尽量减少决策的种类,更易于状态的转移,所以我们在以dp[i]表示前i的(以后指的前i个都是指位于下部的)种类的基础上再加上一维,即还要将第i个的某种状态表示出来,因为只要第i个朝下的数字确定,那么第i-1个不能朝下的数字就能确定了(这里我

2016-03-19 15:35:41 569

原创 (水)牌型种数 蓝桥杯2015年A组真题(背包问题)

分析:一开始我也只想着用dfs()给写出来,后来发现判重还有剪枝啥的都不太好搞出来,于是这才想到用DP来解,往往组合问题可以当成是选择问题用背包来解,以后多长个心眼吧!这里我们用dp[i][j]表示前i个数(即1-i)中选择j个,决策为选择k个i,则状态转移为dp[i][j]=Σ(k 0-4)dp[i-1][j-k]直接上代码:#include int dp[15][15];i

2016-03-19 12:09:30 820

原创 BZOJ1002 无向联通图的生成树计数

分析:求无向连通图的生成树个数我们要用到Matrix-Tree定理,这里我只给出具体实现方法,至于怎么证明。。。。我现在也没耐心去看。。有兴趣的同学可以看看 周冬老师的《生成树的计数及其应用》。好的,现在给出实现方法:点击打开链接,哈哈自己看吧,我是不太想写上来了。按照算法将行列式构造出来之后我们可以发现这个行列式是有特点的,可以用行列式的展开来得到一个递推关系式(所以说线代还是要好好学滴

2016-03-16 21:40:43 1068

原创 (水)大臣的旅费 蓝桥杯 树的直径

题目大意:给定一个图,每2个城市都只有一条路联通,求最长路分析:因为每2个城市都只有一条路联通所以为一颗树,要在树中求最长路即求树的直径,我们有一个求树的直径的算法,只要2次dfs()就够了。第一次随便找个点dfs()找到与其最远的点a,则点a必定为树的直径的起点或者终点,具体证明读者可以自己画个图用反证法,先假定并画出树的直径,然后随便找一个点并假设其最远点a不在树的直径的起点或者终点上,那

2016-03-16 21:28:42 571

原创 (水)安慰奶牛 蓝桥杯

分析:最小生成树的一个变形。首先,最终必定是一颗树,先随便画一颗树然后自己模拟走一遍,会发现应该把连接某条边的2个顶点的权值加入到边权中,且边权应该乘2,所以最终以2l+point1+point2为边权生成最小生成树即可,至于起点在哪都不影响,只是因为睡前还要安慰一遍睡觉的顶点的奶牛(即起点的奶牛)所以选出最小的ci即可。直接上代码:#include /

2016-03-16 21:16:15 591

原创 最短路,模版

最短路一直是图论中比较热门的问题,因而求最短路的算法也是比较多的(在这里我就不给大家证明了,百度一大把),问题解法一多有些人就摸不清头脑了,到底该用哪个算法呢?让我们先总结一下4个常用的算法:1.Bellman-Ford算法2.Dijkstra算法(之后简称为DK最短路算法)3.Floyd-Warshall算法4.SPFA算法那么实际问题中我们该选择哪种算法才是比较合适的呢

2016-03-14 16:52:31 507

原创 (一般)POJ-2718 DFS套DFS

题目大意:输入一个T代表多组数据,接下来T行,每行n(不确定大小)个数字(0-9),每次从中选出i个数字组成一个新的数字a,剩下的组成另一个数字b,求min(a,b)题目链接:点击打开链接分析:分析可知min(a,b)一定满足a的位数为n/2,另一个数字的位数为n-n/2,这个可用反证法证明。然后dfs枚举出n/2个数字并求出其大小,然后套一个dfs(代码中用了solve)枚举剩下的数字可

2016-03-14 16:28:37 757

原创 (水)POJ-3050

题目大意:给一个5*5的数图,每次在任意一个点走5次组成一个6位的数字串,问共有多少中不同的数字串(数字串可以为0开头)题目链接:点击打开链接分析:这题是真的够水,数据这么小直接每个点进行一次dfs就好,需注意的是不同的数字串可以表示为不同大小的数,每次递归时只需算出当前大小最终记录次数是否出现过了就行。直接上代码:点击查看代码#include //POJ-3050 dfs

2016-03-14 16:15:41 618

原创 (水)POJ-3009 DFS+回溯

题目大意:给一个n*m的图,给定起点及目的地,每次往某个方向滑动后只有撞到石头才会停下,且石头会被撞毁,如果出界则不能这样走。问做少滑动多少次能到目的地,且限制了最多滑10次(用来剪枝)(注意,滑动次数不是指走一格算一次,还是从开始滑动到停下才算一次)题目链接:点击打开链接分析:用dfs,每次枚举4个方向,若没有停下则一直前进直到停下进入下一次递归,同时记录下被撞到的石头被摧毁,返回时再将

2016-03-14 13:28:40 481

原创 (水)POJ-1979 Red and Black(dfs,bfs)

题意:给你一个n*m的矩阵,上面的'#'代表你不能走的地方,'.'表示你能走的地方,'@'表示你的起点,问你最多能走多少格。题目链接:点击打开链接难度:水分析:从起点开始dfs走一遍,用ans记录结果,并用vis[x][y]记录map[x][y]是否已经走过,如果没走过便走过去且ans++直接上代码#include#includeusing namespace std;

2016-03-14 13:16:17 621

原创 深度优先搜索是什么?

深度优先搜索学习,有顺序哦!

2016-03-14 12:49:32 2012 1

原创 动态规划入门,基础

超详细动态规划入门,动态规划是什么。

2016-03-13 14:31:29 841

空空如也

空空如也

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

TA关注的人

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