- 博客(16)
- 收藏
- 关注
原创 DP 动态规划 Problem F 1006 数塔问题
Problem F ID:1006 简单题意:给出一个数塔,从顶层走到底层,每一步只能走到相邻的结点,求经过的结点的最大数字之和。解题思路形成过程:从上到下,从倒数第二层开始,每一个结点均有两个选择:自己本身的数加上左儿子或者自己本身的数加上右儿子,两者的数求取最大值,最大值便是此结点的最大值。按照此方法,从倒数第二次依次遍历到最顶层。此时最顶层的数便是从
2016-04-30 23:01:55 892
原创 DP 动态规划 Problem A 1001 最长子序列
Problem A ID:1001 简单题意:给出一组含负数的数,求最大子序列,并求出此序列的首尾位置。解题思路形成过程:感想:代码:#include #include #include using namespace std;int a[2000001];int cmax[2000001];int tag[20
2016-04-26 22:59:57 391
原创 搜索算法总结
搜索算法总结 所谓搜索算法,就是在解的空间里,从一个状态转移(按照要求拓展)到其他状态,这样进行下去,将解的空间中的状态遍历,找到答案。 搜索又分为广搜(BFS)和深搜(DFS)。 深搜(DFS)即深度优先搜索,始终对下一层的结点优先进行搜索,后面层数的结点遍历过后再返回上一层,逐层返回,直到根节点。深搜强调的是“全”,即所有结点都将至少遍历一遍。因此,深搜往往适用于解决
2016-04-25 23:29:11 1215
原创 BFS 搜索 Problem 1015 Knight Moves "马走日"之最少步数
Problem ID:1015 Knight Moves简单题意:给出一个8*8的棋盘,一个起始点,一个目的点,从起始点开始,按照“马走日”规则行走。求到达目的点的最少步数。解题思路形成过程:用BFS的方式进行遍历,每个点可以往8个方向前进。 如果前进需要满足2个条件:①:此点在棋盘内;
2016-04-24 21:15:16 1741 2
原创 BFS 搜索 Problem 1012 Rescue 拯救天使
Problem ID:1012 Rescue简单题意:给出一个地图,其中有一个"a",代表angle,若干个"r",代表去营救angle的朋友,"x"标志敌人,"."标志可以行进的区域,"#"标志不可行进的区域。只可直行,不能斜向前进。走向"."耗时1,走向并击败"x"耗时2,求能拯救angle所需要的最短时间。如不能拯救,则输出"Poor ANGEL has to stay
2016-04-23 20:48:57 725
原创 DFS 搜索 Problem 1016 Red and Black
Problem ID:1016 Red and Black简单题意:给出一个地图,其中有一个起始点,标记为"."的地方可以走,为"#"的不能走。只能直走,不能斜向前进。求能到达的所有地区数。解题思路形成过程:利用DFS,找出能到达的所有"."地区,每找到一个进行标记,从而剪枝、减少重复计算。 因此,此题递归共有3个条件:①:所遍历到的行
2016-04-23 20:33:16 381
原创 BFS 搜索 Problem 1009 连连看
Problem ID:1009 连连看简单题意:一个棋盘上放了若干个棋子,如果两个相同(位置不同)的棋子能用一条线连起来,且转折次数不超过2次,则可将其消去。给出棋盘和棋子,以及试图消去的两个棋子位置。如果能消去,输出“YES”,如果不能,输出“NO”。解题思路形成过程:利用BFS进行搜索,符合要求的下一步共有3个要求: ①:连线必须
2016-04-21 11:43:03 386
原创 DFS 搜索 Problem 1011 Oil Deposits 探索石油储量
Problem ID:1011 Oil Deposits简单题意:给出一个m*n的region,*代表无油,@代表一个Oil pocket。如果两个@在横向或纵向或斜向相邻,则这两个@属于同一个Oil deposit。求Oil deposit的总数。解题思路形成过程:用数字来代替*和@,0代表无油,1代表一个Oil pocket。将它们存放至数组中。
2016-04-20 19:51:51 476
原创 三分 Problem 1005 Turn the corner 车转向问题
Problem ID:1005 Turn the corner简单题意:一辆汽车由一条路转向另一条路,给出车的长度、宽度,当前路的宽度,以及将要进入的路的宽度。如果能够进入,输出“yes”,否则输出“no”。解题思路形成过程:如图所示: 根据问题可知:s=l*cos(m)+w*sin(m)-x
2016-04-16 22:05:23 537
原创 BFS 搜索 Problem 1013 A strange lift
Problem ID:1013 A strange lift简单题意:在一个特殊的电梯中,如果你当前在第i层,按up则向上走ki层,按down则向下走ki层。如果将要到达的楼层n,则按up或down将没有作用。给出总楼层数n,起始楼层a和目的楼层b,以及k1 k2 k3 ……kn, 求到达楼层b所需要的最少操作次数。如果不能到达则输出“-1”。解题思路形成过程:
2016-04-14 17:05:05 402
原创 DFS 搜索 Problem 1019 N皇后问题
Problem ID:1019 N皇后问题简单题意:在N*N的棋盘上放N个皇后,任意2个皇后不允许处在同一排,同一列,也不允许连线与棋盘边框成45°角。给定N,求出所有的放置方法数。(正整数N解题思路形成过程:利用深搜对行和列先后进行遍历,记录下当前位置之前所有行放置位置的列号。 在遍历过程中,所有要放置的皇后必须同时满足3个要求,即:和之前放置好
2016-04-12 22:02:31 452
原创 二分查找 Problem 1003 Pie
Problem ID:1003 Pie简单题意:有N块pie,分给F+1个人。每块pie的高度都是1,但半径不一定相同。每个人都要分到相同体积的pie,但是每个人只能得到一块pie,不能是好几块拼凑起来。可以浪费掉一部分。给出N、F、每块pie的半径ri,求出每个人将会得到的pie的最大体积V。解题思路形成过程:一个人最多可以分到最大的那块pie的体积
2016-04-09 13:19:25 409
原创 水题-但题意难理解 Problem 1008 猜数字
Problem ID:1008 猜数字简单题意:解题思路形成过程:感想:代码:#include#include#includeusing namespace std;int main(){ int n; cin>>n; while(n--){ int m; sc
2016-04-08 23:14:58 771
原创 二分查找 Problem 1002 Strange fuction
Problem ID:1002 Can you solve this equation?简单题意:解题思路形成过程:感想:代码:#include#include#includeusing namespace std;double fun(double x,double y){ return 42*pow(x,
2016-04-08 23:11:16 355
原创 二分查找 Problem 1001 Can you solve this equation?
Problem ID:1001 Can you solve this equation?简单题意:解题思路形成过程:感想:代码:#include#include#includedusing namespace std;double cal(double n){ return 8*pow(n,4
2016-04-08 23:09:18 357
原创 贪心算法总结
贪心算法总结所谓贪心算法,就是在求最优解问题的过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解。我所认为的贪心算法并不是一个固定的程式,而是一种贪心思想,一种算法思想。虽然贪心算法是做出局部最优解来取得全局最优解,但是我认为要解决好一个问题首先要用全局的眼光看待和分析问题。就比如Problem F 1005 花最
2016-04-04 22:01:28 545
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人