自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 POJ 3617 字典序最小问题

从字典序的性质来看,无论一个字符串末端有多大,只要前面的部分较小即可,所以可以用以下的贪心性质: 不断取字符串S的开头和末尾中较小的一个字符放到新的字符串T的末端。 既然是比较字符大小,那么就不能忽略字符相等的情况。首先把字符串S反转得到字符串S’,按字典序比较S和S’,然后按以下三种情况处理: 1.S较小,从S的开头取出一个字符,加到T的末端 2.S’较小,从S’的开头取出一个字符,加到T

2015-09-05 10:50:33 356

原创 HDU 1429 胜利大逃亡(续)

做了一些关于BFS的题目,每个题目的描述不一样,但是特点都是移动时状态的改变。这道题主要就是找到最短路径上的锁的钥匙,解锁并出逃。当前是否拥有特定锁的钥匙的状态可以用二进制压缩的方法记录。初次接触状态压缩,对它的原理还有待进一步的了解,现在只是模仿大神的方法试敲。ps:这道题之前一直CE,原因是命名空间中的next关键字和我自己定义的变量冲突,浪费了不少时间,下次切记避免这种问题。 http://

2015-08-20 14:29:08 292

原创 简单的贪心算法 HDU 2037 今年暑假不AC

简单回顾了一下贪心算法,它是一种高效的算法,因为它按照某种贪心策略,不断选取的是当前的最优解。跟搜索算法还有动态规划的全局最优不一样。只考虑当前最优当然简单得多啦,但是并不是每道题都适合用贪心算法解决,它要符合以下两个性质: 1.整体的最优解可以通过局部的最优解来求出; 2.一个整体能够被分为多个局部,并且这些局部都能够求出最优解。 Orz,看看一道简单的贪心算法题吧,属于活动安排类。http

2015-08-20 09:13:34 387

原创 HDU 1026 Ignatius and the Princess I

HDU 1026 Ignatius and the Princess I依然是BFS的题目,这次不同的是需要把路径进行记录。计算最短路径的值跟裸题一样,就不重复了,主要的不同是用pre数组把每个点的前一个元素记录下来,最后用迭代的方式把路径输出。#include<cstdio>#include<queue>#include<cstring>#define INF 10000000using

2015-08-15 18:05:28 252

原创 HDU1253 胜利大逃亡 BFS

HDU1253 胜利大逃亡题意: 在一个三维的房间里找到距离出口的最短路径,比较最短路径花的时间和魔王回来的时间 T,若小于等于T,则出逃成功。起点坐标为(0,0,0),终点坐标为(a-1, b-1, c-1),地图中0为通路,1为墙。思路: 典型的BFS,记录的数组从常见的二维扩充到了三维。依然使用队列维护,把初始状态加入队列,修改dis[][][]数组的值,取出队首元素,让元

2015-08-08 13:53:58 316

原创 HDU 1312 BFS裸题

今天刚学习了广度优先搜索bfs,利用队列来维护。 首先讲初始状态加入队列,此后不断取出队首元素,判断是否满足搜索结束条件(到达终点等),若不满足,在给定的4个或8个方向进行搜索,并且要注意越界、是否已经访问、是否允许访问等约束条件,若满足,则将该点加入队列,并且改变标记距离的数组的值。当队列为空或到达终点时搜索结束。includeincludedefine MAX 20define INF 10

2015-08-08 11:15:42 423

原创 初学MFC(一)

小学期的项目要用到MFC,然而只能自学啦,找到一个自学网站挺好的,开始了第一天的自学~http://v.dxsbb.com/jisuanji/555/#Introduce知道了一个叫MSDN 的帮助系统,很好用的赶脚 首先要对C++的窗口程序有一个大致的了解,一开始总是知识点比较多的,只能默默地记着了1.MSG类 typedef struct tagMSG 

2015-07-13 17:17:26 257

原创 大数求和

#include#include#define MAX 1000int main(){ char str1[MAX],str2[MAX]; int str3[MAX+1]; int len1,len2,i,j,k,m,num,count = 1; scanf("%d",&num); while(num--){  scanf("%s %s",str1,str2);

2013-12-30 17:08:35 254

空空如也

空空如也

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

TA关注的人

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