自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CFhM_R's Blog

所谓的光辉岁月,并不是那些闪耀的日子,而是无人问津时,你对梦想的坚持

  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 【hdu1501】zipper——dfs

题目:ZipperTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 8645    Accepted Submission(s): 3061Problem DescriptionGiven three

2016-02-26 22:42:36 453

原创 【hdu1010】Tempter of the Bone——dfs

题目:Tempter of the BoneTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 98266    Accepted Submission(s): 26642Problem Description

2016-02-26 20:09:36 360

原创 【hdu5015】233 Matrix——矩阵快速幂

题目:233 MatrixTime Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1588    Accepted Submission(s): 939Problem DescriptionIn our

2016-02-26 16:39:03 855

原创 【hdu2675】Equation Again——二分

题目:Equation AgainTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1470    Accepted Submission(s): 458Problem DescriptionThis

2016-02-26 16:29:01 773

原创 【hdu2289】Cup——二分

题目:CupTime Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6303    Accepted Submission(s): 1994Problem DescriptionThe WHU ACM Tea

2016-02-26 16:24:02 379

原创 【hdu3714】Error Curves——二分

题目:Error CurvesTime Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 4490    Accepted Submission(s): 1682Problem DescriptionJoseph

2016-02-26 16:20:14 401

原创 【poj3233】Matrix Power Series——矩阵快速幂

题目:Matrix Power SeriesTime Limit: 3000MS Memory Limit: 131072KTotal Submissions: 19029 Accepted: 8045DescriptionGiven a n × n matrix A and a positive inte

2016-02-26 15:57:58 474

原创 【poj3070】Fibonacci——矩阵快速幂

题目:FibonacciTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 11954 Accepted: 8486DescriptionIn the Fibonacci integer sequence, F0 = 0, F1 = 1, an

2016-02-26 15:52:08 359

原创 【poj1064】cable master——二分

题目:Cable masterTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 33548 Accepted: 7154DescriptionInhabitants of the Wonderland have decided to hold a

2016-02-26 15:44:22 315

原创 【poj1905】Expanding Rods——二分

题目:Expanding RodsTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 14196 Accepted: 3697DescriptionWhen a thin rod of length L is heated n degrees, i

2016-02-26 15:27:35 308

原创 【hdu2456】aggresive cow——二分

题目:Aggressive cowsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 9488 Accepted: 4716DescriptionFarmer John has built a new long barn, with N (2

2016-02-26 14:52:38 638

原创 【poj2230】Watchcow——dfs

题目:WatchcowTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 6775 Accepted: 2958 Special JudgeDescriptionBessie's been appointed the new watch-c

2016-02-26 00:09:55 303

原创 【hdu2614】Beat——dfs

题目:BeatTime Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1203    Accepted Submission(s): 716Problem DescriptionZty is a man th

2016-02-25 23:55:06 301

原创 【hdu1312】red and black——bfs

题目:Red and BlackTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 15251    Accepted Submission(s): 9445Problem DescriptionTher

2016-02-25 23:47:26 328

原创 【hdu1181】变形课——bfs

题目:变形课Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 19876    Accepted Submission(s): 7143Problem Description呃......变形课上Ha

2016-02-25 23:40:02 328

原创 【hdu2251】Dungeon Master——bfs

题目:Dungeon MasterTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 23774 Accepted: 9248DescriptionYou are trapped in a 3D dungeon and need to find t

2016-02-25 23:34:27 444

原创 【poj3009】curling 2.0——dfs

题目:Curling 2.0Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 16112 Accepted: 6657DescriptionOn Planet MM-21, after their Olympic games this yea

2016-02-25 20:18:52 626

原创 【poj3278】Catch that cow——bfs

Catch That CowTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 67806 Accepted: 21361DescriptionFarmer John has been informed of the location of a fugitiv

2016-02-25 19:38:46 377

原创 【poj3984】迷宫问题——bfs/栈

题目:迷宫问题Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 13146 Accepted: 7876Description定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1

2016-02-25 19:34:38 393

原创 【hdu1241】Oil Deposits——dfs/bfs

题目:Oil DepositsTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 21327    Accepted Submission(s): 12298Problem DescriptionTh

2016-02-25 18:34:04 313

原创 【poj1838】Bananas——并查集

BananaTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 2220 Accepted: 806DescriptionConsider a tropical forrest, represented as a matrix. The cell from

2016-02-25 00:04:26 441

原创 算法——并查集

并查集是一种树状数据结构,用来处理不相交的集合的关系,它的查找速度非常快,在并查集中只存在两种关系,要么是属于关系,要么是不想交的补集关系。并查集有四种基本操作,初始化,查询,合并以及判断是否属于同一集合,可以用数组实现,也可以用指针实现,北理ACM祖传的是数组实现的方法。用数组来完成指向父节点的操作。所以我们首先需要一个数组fa[]来存放各个元素的父亲节点。void init(int s

2016-02-24 23:33:38 410

原创 【hdu1198】Farm Irrigation——并查集

Problem DescriptionBenny has a spacious farm land to irrigate. The farm land is a rectangle, and is divided into a lot of samll squares. Water pipes are placed in these squares. Different square h

2016-02-24 23:23:42 393

原创 【hdu1159】common subsequence —— 二维dp

题目:点击打开链接这是经典的一道dp,我们需要双重循环来逐一比较两个字符串,而开二维数组dp记录比较的结果。这里令第一个字符串为s1,第二个字符串为s2,那么s1的第i个元素和s2的第j个元素决定了dp[i][j]的值。1)相等。那么dp[i][j] = dp[i-1][j-1] + 1,很好理解,因为这两个相等,所以此时的值在上一对的值的基础上+1;2)不相等。这个则比较麻烦,由

2016-02-21 00:30:43 404

原创 【hdu2049】考新郎——错位排序+排列组合

题目:我是题目根据高中知识,首先从n个人里面挑m个人不去娶自己老婆。组合。接下来这m个人中,第i个人有count[i]种娶老婆方法,如果他的前i-1个人娶的都不是自己老婆,他娶了自己老婆,那么就需要和前i-1个人的任意一位交换下老婆,而前i-1个人有count[i-1]种方法娶老婆,所以一共(i-1)*count[i-1]种;如果他的前i-1个人有一个人娶了自己老婆,那么他就要和这个人

2016-02-19 21:21:22 456

原创 ll的c++教程第一弹

0.c++的第一个要学习的特性,结构体中可以添加函数。这里operator是关键字表示操作符,这是对操作符的重载,即重新给这个操作符下定义(该结构体下)。参数表中的const表示不会对s1,s2指向的内容修改,而最后const对函数的修饰表示保证函数执行时不会对类或结构内部的变量进行更改。方便后期的维护。辨析下面两句的区别:char chs[] = "123";const cha

2016-02-18 13:15:06 1719

原创 算法——最长递增子序列(LIS)

最长递增子序列描述的是这样一个问题——给定一个混乱序列a1,a2,...an,要求找到他的一个子序列ai1,ai2,...aik,这k个数的下标严格增大,且k值达到最大。这道题根据需要的不同有不同的做法,首先来看一个比较简单的需要——求这个LIS的长度。求长度可以直接用栈的方法,初始时len = 1,从首元素开始压栈,第i个元素如果大于栈顶元素就压栈且len++,如果第i个元素小于栈顶元素,则

2016-02-15 18:51:14 851

原创 【hdu 1024】Max Sum Plus Plus —— dp && 滚动数组

题目链接:点击打开链接这道题是最大子数组问题的扩展,首先回忆一下最大子数组的解决方法——tms,如果tms 断点,那么问题来了——在哪里加断点?我们用i来表示子数组的组数,j表示数组元素个数。首先,i = 1时,好说,就是tms的方法,我们可以很轻易地解决,接下来看i = 2的情况,首先基本的方向一定是dp,这里采取递推的方法比较直接,而且和tms也可以挂钩,其次我们还可以得到一个结论,这

2016-02-14 04:09:19 337

原创 算法导论例程——红黑树

红黑树是比较重要的数据结构,作为一个典型的平衡二叉树(没有一条简单路径是其他路径的二倍)。它与二叉搜索树的区别是它的结点多了一个属性——color,color有两种值,red和black,颜色的选取遵循以下原则:1)每个节点是红色的,或是黑色的;2)根节点是黑色的;(松弛红黑树 relaxed red-black tree的根节点可以是红色)3)每个叶节点(NIL)是黑色的;4)如

2016-02-14 00:57:10 589

原创 【hdu2037】今年暑假不AC——贪心算法

毕竟是第一次用c++写题还是写篇blog记录一下。题目在这里:点击打开链接由于输入是乱序的,而一个节目固定有开始和结束时间,所以声明一个结构体,然后对结束时间排序,之后如果第i+1个的开始时间不小于第i个的结束时间,我们就能完整的看第i个节目,如果小于,那么就和第i+2个去比,以此类推。题目很简单,接下来说说c++的事情。首先最前面三行是新的信仰,cin直接给变量名就可以了不用

2016-02-12 19:02:07 2354 1

原创 算法导论例程——切割钢条问题(动态规划)

这是一道基础的线性dp问题,问题描述如下。某厂家给出了长度为i的钢条的价格p[i],现某公司有长度为n的钢条,想要将其切割之后出售给厂家,求售得价格最高的切割方案。这道题可以用记忆化搜索来完成,也可以用递推dp,转移方程比较麻烦的一点就是由于切割长度多种,钢条长度在改变时受到影响,因此在计算时又需要从头开始。#include #include using namespace std

2016-02-12 01:35:01 563

原创 算法导论例程——二叉搜索树

二叉树的定义是递归的:每一个结点都至多含有左右两个子结点。二叉树是无向无环图,度不大于2。二叉搜索树是二叉树的一种,它具有一下的性质:1)任一结点的左子结点都不大于该结点;2)任一结点的左子结点都不小于该结点;二叉搜索树根据它的性质可以设计出一个很简单的递归算法来遍历它的每一个结点。首先二叉树的声明如下:typedef struct binary_tree{ int n

2016-02-10 23:18:52 519

原创 算法导论例程——哈希表

哈希表(hash table)是普通数组概念的推广,对于一个比较小的规模的数据,我们对其存储采用的是将其存在一个等规模的数组中,并且直接根据数组下标对其进行寻址,这被称为直接寻址法。而当数据规模增大到一定程度时,我们采用直接寻址法进行遍历时会打打加重程序的时间复杂度,而一种理想的解决办法就是根据数据的某一关键字(这里假设数据元素含有其他卫星数据,这在实际问题中是很常见的)动态的分配存储空间,将

2016-02-10 01:47:59 838

原创 算法导论例程——队列

队列是一种delete的方式同栈不同的数据结构,遵循先进先出原则,因此对于队列我们需要它的head和tail两个属性来描述入队和出队。队列的结构如下#define LENGTH 1000typedef struct{ int num[LENGTH]; int head; int tail;}queue;这里把队列的长度宏定义了具体的数值,在实际应用时可以使用sizeof来获取,或以

2016-02-09 02:08:49 625

原创 算法导论例程——栈

我们把一系列由算法操控的。能完成扩大、缩小或发生其他变化的集合称为是动态集合,能够实现动态集合操作的几种数据结构,是计算机一些高级程序的基础。这里我们首先介绍两种最基本的数据结构——栈(stack)和队列(queue)。栈和队列都是线性的数据结构,他们的形式与一维数组一样,但不同的是他们的delete操作是规定好的,栈遵循的是“后进先出”(last-in,first-out,LIFO)原则,即

2016-02-09 01:34:13 651

原创 算法导论例程——基数排序

基数排序(radix_sort)可以被称为是计数排序的升级版,他的原理是基于以前的卡片式排序方法,这里把要排序的每个整数看作是一张卡片,把整数的各位数字看作是卡片上的关键字,在进行计数排序时,我们逐位扫描整数的各位数字,并以该数字为关键字进行整体的排序,从低位到高位,在排序时我们可以借助结构体进行辅助,基数排序本身提供思路,它使用的是较为稳定的技术排序作为核心的排序算法,这样保证算法时间复杂度为o

2016-02-08 03:17:39 717

原创 算法导论例程——计数排序

之前写过的所有根据比较决定序关系的排序,根据决策树得出他们的时间复杂度都在omega(nlgn),今天要写的一种排序,是一种复杂度为o(n+k)的排序,也就是在线性时间复杂度内的程序,其中k为待排序数列中最大的元素,这也是计数排序的一点点局限性,就是必须要知道这个最大值是多少。原理是这样,我们遍历待排序数组,在另一个大小恰好为k的数组c中以c[a[i]]的方式记录a中每个元素出现的个数,进而求

2016-02-07 01:06:55 593

原创 算法导论例程——快速排序

快速排序是一种最坏情况复杂度为o(n^2),平均时间复杂度为o(nlgn)的排序算法,且nlgn隐含的常数因子非常小,最坏情况发生的概率也不高,进行的是原址排序,所以是采用度最高的一种排序算法,在c++的stdlib库中特别封装了qsort函数方便用户使用。快速排序是冒泡排序的一种升级版本,主要思想就是选择数组中的一个值作为关键字(key),将数组中所有比key小的放在key前,比key大的放

2016-02-05 20:37:19 426

原创 算法导论例程——堆排序(大根堆为例)

堆排序是具有原址性的排序,复杂度为o(nlgn)。首先要建立一个“堆”的概念,堆 可以理解为二叉树的一种,是完全二叉树,即除了最后一层外节点没有缺失,所以可以用数组来表示。对于下标为i的节点,它的子树的左节点的下标为2*i,右节点为2*i+1,父树的节点下标为i/2(向下取整)。而在程序设计中,使用位运算来代替直接*2可以提高运行速度。而某些编译器中会把一些特定的乘法运算改写为位运算。只把

2016-02-04 23:12:16 2793

原创 算法导论例程——最大子数组问题

最大子数组描述的是这样的一个问题:给定一个整型数组a[],规模为n,求其中连续的m个元素之和使其最大。其中这m个元素被称为是数组a的子数组。        最大子数组问题的求解过程可以分成三种情况,对给定数组,找到中点一分为二,它的最大子数组有可能在左边的部分,有可能在右边的部分,还有可能跨过(cross)左边和右边,那么对于最大子数组在左边或右边的情况,我们又可以把他们看作原问题的一个较小规

2016-02-03 01:42:09 562

C语言知识点梳理

自制的C语言复习ppt,针对计算机系的同学制作,其中链表部分有详细动画,直观清晰,前面有部分与编程习惯相关的内容可以帮助提高代码可读性以及对编译器命令的掌握

2016-02-02

空空如也

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

TA关注的人

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