自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (6)
  • 收藏
  • 关注

转载 判断异常类型,全面捕获Python的异常

http://ar.newsmth.net/thread-20bf9f3e95cd35-1.html正文:     如果你在写程序时遇到异常后想进行如下处理的话请参考我下面写的对异常处理的方法: 假设有下面的一段程序: try:     语句1     语句2     .     语句N except .........:     print .....

2012-08-31 13:43:56 8537

原创 hdoj 1312 Red and Black 深度遍历的实现

题目大意:一个人站在一块黑色瓷砖上,他只能向四个方向走,不能走到红色瓷板上,求能走过的黑色瓷板,走过了的黑色瓷板不算深度遍历,记录走过的格子#include #include #include #include #include #include using namespace std;struct node{ int x, y;};const int maxn

2012-08-25 15:55:37 588

转载 poj 1010 邮票问题

http://blog.csdn.net/ju136/article/details/6969826http://angels1.0.blog.163.com/blog/static/8458050420087414056738/题意:  给出n种邮票,每种邮票有自己的面值(面值可能重复)  指定m种“总面值”,对每种“总面值”,求解满足如下条件的组合以达到该“总面值”(1)所

2012-08-25 15:53:16 763

转载 poj 1644 To Bet or Not To Bet

题目大意:    类似于一个抛硬币下棋的游戏,棋盘是一个线性表,初始位置在最左端start处,目标在最右端end处,中间有m格,每格上都会有一个说明+n,-n,L,或者 0,分别意味着向右走n格,向左走n格,失去一轮机会,无任何说明。每一轮都会先抛硬币,正面朝上向右走一步,反面朝上向右走2步,正反面朝上的几率是相同的,各占二分之一。现在给出棋盘的大小,以及棋盘上每一格的说明,求在t轮或者少于t

2012-08-25 15:44:09 1039

转载 最大流问题

http://www.cppblog.com/Icyflame/archive/2009/06/23/88364.html最大流问题 一、    定义与定理流网络:G=(V, E)是一个有向图,其中每条边(u, v)∈E均有一个非负容量c(u, v) ≤0,否则c(u, v)为0.流网络中有两个特别的顶点:源点s和汇点t。对于每个顶点v∈V,都存在一条路径s…v…t。流

2012-08-25 15:28:58 3119

原创 hdoj 1238 Substrings

题目大意:求一组字符串的最长子串,子串包括逆串匹配解题思路:选一个最短字符串,枚举其子串,跟其他字符串用kmp正匹配和逆匹配注意没有子串匹配的情况。#include #include #include #include using namespace std;const int maxn = 102;char str[maxn][maxn];int slen[maxn

2012-08-25 10:52:23 735

原创 hdoj 1372 Knight Moves

题目大意:国际象棋骑士从起点到终点的最少步数解题思路:水题.....宽度遍历#include #include #include #include #include #include using namespace std;struct node{ int x, y, step;};const int maxn = 8;bool square[maxn][max

2012-08-25 00:15:45 541

原创 hdoj 1312 Red and Black

题目大意:一个人站在一块黑色瓷砖上,他只能向四个方向走,不能走到红色瓷板上,求能走过的黑色瓷板,走过了的黑色瓷板不算解题思路:bfs, dfs均可,,,,水题BFS:#include #include #include #include #include #include using namespace std;struct node{ int x, y;};

2012-08-24 17:32:57 489

原创 hdoj 1242 Rescue

题目大意:一个迷宫,多个朋友去解救一个人,#表示障碍,不能走,r表示朋友,x表示守卫,走到这位置得消耗2个单元,其他只消耗一个单元,a表示要解决的人。求多个朋友解救到这个人的最短时间解题思路:因为有多个起点,我们可以反过来以a为起点,求到达任意一个r的最短时间。用宽度优先遍历。。。。但是有x节点,消耗2个时间单元,所以保存每次走过的格子状态,即每个格子当前能到达的最短时间。宽度优先遍历

2012-08-24 16:13:28 452

原创 hdoj 1241 Oil Deposits

题目大意:@表示油田,求一共有多少组油田是连通的,连通的意思是与@的八个方向相邻解题思路:水题。。用深度优先遍历每个点,每走过了一个油田就标记为走过了。#include #include #include using namespace std;const int maxn = 110;char field[maxn][maxn];int dir[8][2] = {{1,

2012-08-24 15:14:03 696

原创 hdoj 1240 Asteroids!

题目大意:求3维空间的起点到终点的最短距离,中间有障碍X的点不能走。解题思路:水题。。。。。宽度优先遍历#include #include #include #include using namespace std;struct node{ int x, y, z, step;};const int maxn = 11;char space[

2012-08-24 14:34:40 642

原创 poj 1322 Chocolate

题目大意:c种不同颜色的巧克力,每种巧克力同样多,把巧克力一个一个拿到桌子上,当发现有相同颜色就全吃掉,求取出了n个后,还剩m个在桌子的概率。解题思路:dp[i][j]表示取出了i块巧克力,剩下了j块的概率动态规划,当m,n同奇同偶时dp[i][j] = d[i - 1][j - 1] * (c - j + 1) / c + dp[i - 1][j + 1] * (j + 1) / c

2012-08-23 01:43:02 1321

原创 poj 1947 Rebuilding Roads 树状DP + 分组背包

题目大意:给定一颗树,要你求删除一些边使得形成包含p个节点的子树,要删除的最少边。注意,这颗子树的根节点不一定是整颗树的根节点。解题思路:树状DP,dp[i][j]表示以i为根节点的子树,包含j个节点(包含了i)删除最少的边。dp[i][1] = i的孩子节点数,因为只有i子树包含1个节点,即自身,删除连接它孩子结点所有边。dp[i][j] = min(dp[i][k] + dp[

2012-08-18 23:51:45 766

转载 hdoj 2196Computer 树形DP

参考:http://blog.csdn.net/woshi250hua/article/details/7642536题目大意:求树中每个点出发的最长链的长度解题思路:建立树的每个节点的双向边,先按照树的根节点1出发,深度遍历求得以每个节点u为根节点子树到叶子节点v的最大距离dp[u],这次深度遍历的过程中,u到叶子节点v是以u为根节点的子树的最大距离,保存v到u的父节点的距离len。

2012-08-18 17:10:05 510

原创 hdoj 1712 ACboy needs your help

题目大意:给你n个作业,每个作业i,用j天时间完成所得的收益为A[i][k],要你求m天内n个作业的最大收益。解题思路:动态规划。水题。。。。。。。。。d[i][j] 表示前i个作业任务,在j天内的最大收益那么dp[i][j] = max(dp[i-1][j-k] + A[i][k]),  1#include #include #include #include using

2012-08-14 01:21:12 515

原创 poj 1948 Triangular Pastures 二维背包

题目大意:给定一些棍子求这些棍子能够组成的三角形的最大面积。解题思路:这里要利用三角形的面积公式p = (a + b + c) / 2, 周长的一半三角形面积 = sqrt(p * (p - a) * (p - b) * (p - c))dp[k][i][j]表示前k根棍子,边长为i和j是否能组成一个三角形。所以dp[k][i][j] = dp[k-1][i - edge[k]

2012-08-11 00:03:43 556

转载 汽车加油问题 zju 1033

原题:http://pat.zju.edu.cn/contests/pat-practise/1033  转载:http://blog.csdn.net/hackbuteer1/article/details/7402127#include#include#includeusing namespace std; struct Node{ double price; dou

2012-08-10 15:26:48 1431

原创 poj 2465 Adventures in Moving - Part IV

题目大意:有一辆卡车,从一个城市A到达城市B,车的油箱为200,初始有100的燃料,每走一个单元路程消耗1个单元的燃料。这里有几个加油站,每个加油站是按照距离A城市的距离从小到大排列的,每个加油站每单元的燃料的价格是不同的。要你求卡车到终点加燃料的花费最小时多少,若卡车到不了终点,输出Impossible解题思路:动态规划,dp[i][j]表示行驶到第i个加油站,燃料为j是的最小花

2012-08-10 10:37:24 884

原创 poj 2431 Expedition 贪心 + 优先队列

题目大意:有n个加油站,每个加油站的加油的油量有限,距离终点都有一个距离。一个卡车的油箱无限,没走一个单元要消耗一单元的油,问卡车到达终点的最少加多少次油。解题思路:贪心。。。。。卡车走得越远越好,要是不能到达终点,就选择经过的油站里面,加油量最多的加油,然后继续。所以先按照加油站距离终点的距离,从大到小排列。利用优先队列来存经过的加油站,根据加油站加油的油量多少排序。

2012-08-10 00:42:47 3789

转载 poj 2244 Eeny Meeny Moo 约瑟夫环

题目大意:有n个城市编号1,2,3,...,n。第1个城市开始网络会断,然后向后数m个,数到的城市会断网,然后继续数,数到n时从1接上数,之前断网的城市忽略,让你求第2个城市最后断网,m的最小值。解题思路:约瑟夫环,枚举m,求最小m。约瑟夫环的介绍看这个:http://blog.csdn.net/wuzhekai1985/article/details/6628491讲的很详细。这里再

2012-08-09 23:30:36 650

原创 poj 1256 Anagram

求字符串的字典序,不过字典序要按照'A'同http://blog.csdn.net/xiaoxiaoluo/article/details/7848915这里有方法介绍,只要加个比较函数就可以。#include #include #include #include using namespace std;const int maxn = 100;char str[maxn

2012-08-09 20:19:10 662

原创 poj 2255 二叉树 已知先序和中序,求后序

题目大意:已知二叉树的先序和中序排列,要你求它的后序解题思路:水题,根据二叉树的性质,递归求解,DBACEGF ABCDEFGD为二叉树的根节点, BAC, ABC为以D为根结点的左子树的先序和中序排列,EGF,EFG为以D为根结点的右子树的先序和中序排列。然后递归求解#include #include #include using namespace std;

2012-08-09 16:46:35 1546

原创 poj 1700过河问题

题目大意:N个人要过河,只有一个蜡烛且只有一条船,船每次最多坐2个人。不管怎样,过河者(1个人或者2个人)都必须有蜡烛,所以过河后可能需要人返回送蜡烛,然后再继续过河。问怎样过河时间最短。解题思路:贪心,先把时间从小到大排列。考虑N等于1时,就是一个人过河的时间,N等于2时,为两个人的最大时间,N等于3是,为最小和次小过去,最小回来,然后最小和最大时间过去,总时间为T[0] + T[1]

2012-08-08 13:15:08 691

原创 zoj 2107最短点对

题目大意:要你求最短点对的中点距离解题思路:分治法求最短点对,具体参考《算法设计与分析》(郑宗汉 郑晓明)  p100面。把点按照X坐标的大小从小到大排列,然后把点按Y坐标从小到大排列。把点集二分,递归求出左边点集合的最短点对距离,和右边点集最短点对距离。取最小值d取中轴左右d距离的点对,比较这些点对的距离,看是否小于d。#include #include #inc

2012-08-07 10:18:47 1032

原创 组合模式

《大话设计模式》组合模式:将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。//component.h#ifndef _COMPONENT_H_#define _COMPONENT_H_#include #include #include using namespace std;class Company{

2012-08-05 23:45:12 537

原创 备忘录模式

《大话设计模式》备忘录:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态//memo.h#ifndef _MEMO_H_#define _MEMO_H_#include using namespace std; class RoleStateMemento{ public: RoleStateM

2012-08-05 22:26:05 508

原创 适配器模式

《大话模式》适配器模式,将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。//adapter.h#ifndef _ADAPTOR_H_#define _ADAPTOR_H#include #include using namespace std;class Player{ public

2012-08-05 17:56:24 355

原创 状态模式

《大话设计模式》状态模式:当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。//state.h#ifndef _STATE_H_#define _STATE_H_#include using namespa

2012-08-05 00:44:48 360

原创 观察者模式

来自《大话设计模式》观察者模式定义了一种一对多的依赖关系。让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。这里C++实现,得注意类之间的相互引用。。。。//subjet.h#ifndef _SUBJECT_H_#define _SUBJECT_H_#include #include #include #i

2012-08-04 16:04:23 502

转载 其它数学知识及算法

http://blog.sina.com.cn/s/blog_59872d8d0100agdb.html5.1 鸽巢原理1.简单形式如果n+1个物体被放进n个盒子,那么至少有一个盒子包含两个或更多的物体。例1:在13个人中存在两个人,他们的生日在同一月份里。例2:设有n对已婚夫妇。为保证有一对夫妇被选出,至少要从这2n个人中选出多少人?(n+1)

2012-08-03 14:19:55 782

原创 poj 2392 Space Elevator

题目大意:有k中梯子材料,每种材料有个数c_i, 高度h_i,并且这种材料高度不能超过a_i ,问利用这些材料能最高堆多高的梯子。解题思路:先按照a_i从小到大排序,然后分别把a_i作为容量,转换成多重背包问题。二进制拆分:#include #include #include #include using namespace std;struct node{ int h

2012-08-01 23:42:37 567

原创 poj 1276 Cash Machine

题目大意:给定一个数m,还有一组数,分别表示这个元素的个数num[i], 单个价值为value[i]。要你求最这组元素价值和最接近m的最大值解题思路:多重背包问题,拆分2进制或单调队列同poj 1014一样http://blog.csdn.net/xiaoxiaoluo/article/details/78163782进制拆分方法:#include #include #in

2012-08-01 01:11:27 568

[现代编译原理C语言描述

《现代编译原理:C语言描述》全面讲述了现代编译器的各个组成部分,包括词法分析、语法分析、抽象语法、语义检查、中间代码表示、指令选择、数据流分析、寄存器分配以及运行时系统等。全书分成两部分,第一部分是编译的基础知识,适用于第一门编译原理课程(一个学期);第二部分是高级主题,包括面向对象语言和函数语言、垃圾收集、循环优化、ssA(静态单赋值)形式、循环调度、存储结构优化等,适合于后续课程或研究生教学。书中专门为学生提供了一个用C语言编写的实习项目,包括前端和后端设计,学生可以在一学期内创建一个功能完整的编译器。

2012-08-13

UNIX环境高级编程第二版.

本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版的风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用示例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。 这本书不仅适于unix,对于linux程序设计的人员同样适用,关于linux编程方面工作的人员都会使用这本书

2011-12-02

J2EE开发技术手册

一本介绍j2ee开发的好资源 J2EE开发技术手册J2EE开发技术手册J2EE开发技术手册

2009-07-01

jstl核心编程JSTL核心编程

jstl核心编程,由浅入深分章介绍 JSTL核心编程JSTL核心编程JSTL核心编程JSTL核心编程

2009-07-01

html中文手册.chm

通过章节介绍html脚本,由浅入深 html中文手册

2009-07-01

Spring入门书籍

spring入门,非常实用,适合初学者学习spring技术

2009-06-09

空空如也

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

TA关注的人

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