自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mr_zys的专栏

点点滴滴的进步,一步一步的前行!

  • 博客(13)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Uva 572 - Oil Deposits//深搜,图

题目很简单,数据不大,直接深搜。#include#include#define MAXN 105int map[MAXN][MAXN];int n,m;void dfs(int i,int j){ if(!map[i][j]) return; map[i][j]=0; dfs(i+1,j); dfs(i-1,j); dfs(i-1,j

2013-01-25 18:31:37 427

原创 Uva 11234 - Expressions//数据结构,二叉树

刚开始写题是有点想当然,自己感觉很简单。可是在写代码的时候才发现自己的建树方法很难实现。所以就在想有没有更简单的建树方法。联想到之前刷的括号匹配的题,灵感就来了。orz,这道题关键就在如何建树。下面是代码:     #include#include#include#include#include#define MAXN 10005using namespace std;str

2013-01-25 18:28:15 546

原创 数据结构 树

这里先研究的是二叉树。一、二叉树的三个基本性质1、若二叉树结点的层次从 1 开始, 则在二叉树的第 i 层最多有2的( i-1)次方 个结点。( i≥1)2、深度为 k 的二叉树最少有 k 个结点,最多有2的( k-1)次方个结点。( k≥1 )3、对任何一棵二叉树,如果其叶结点有 n0 个, 度为 2 的非叶结点有 n2 个,   则有n0=n2+1。     下面简单的证明

2013-01-25 18:23:52 427

原创 c++ 学习结构体与类

据说在c++中,为了兼容c语言才保留的结构体这种数据类型的。    既然c++中的类就是c语言中的结构体加函数。这样貌似在c++中结构体也可以定义函数。   发这篇blog关键是复习一下c++中的类,今天在在关于类的成员属性上跪了半天。(private,public什么的完全忘记了)   笔记:在c++的类中,private的成员只能由public的函数访问,不能直接从该类型的变量访问

2013-01-19 21:19:29 396

原创 Uva 11111 - Generalized Matrioshkas//栈

这道题题目很长,想要弄清题意就得花点时间。当我第一次写完代码是发现,自己的代码连最后一个样例都过不了。囧!题目还有一个规定,如果n包含了j和k,那么j+k必须要小于n。如果没有这个规定的话,只需要开一个数组,分别从前和从后向中间匹配就ok了。  仔细观察,就会发现这道题就是括号匹配的加强版。  下面是代码:  #include#include#include#include#d

2013-01-19 19:19:04 500

原创 Poj 1423 Big Number//数学,阶乘

直接上代码,更多请戳这里#include#include#define Pi 3.141582626535#define e 2.718281828459using namespace std;int main(){ int n,m; cin>>n; while(n--) { cin>>m; int ans;

2013-01-18 22:49:56 430

原创 数学学习之阶乘

今天看了一会《离散数学及其应用》的第一章后面的上机题的第一道题。求n!的位数在100到100之间的最大的n。      要解决这个问题,首先就来研究一下阶乘的性质。      查一下wiki百科,就会发现关于阶乘有个斯特林公式:    (有兴趣戳这里),那么我们就可以很快的求出n的阶乘。但是我们不需要求出n的阶乘,只需要知道它有多少位。所以现在就要知道怎样求一个数有多少位了。答案就

2013-01-18 22:45:32 2913 2

原创 Uva 442 - Matrix Chain Multiplication//栈

分析:刚写这道题的时候,就当作简单的栈的题写,但是有一点问题,就是矩阵相乘顺序一定。所以代码就写的老长。调试的时候也不断出错。总之,我太急了,还没在草稿纸上大号草稿就开始写代码。这样子,效率太低了。还有自己写代码的能力太弱了。   #include#include#define MAXN 28struct martix{ int row; int col;} Mart

2013-01-17 19:47:35 597

原创 Uva 673 - Parentheses Balance//栈

这道题去年暑假写过的,但是现在却在这里悲催了很长时间,可见自己码代码的水平有好“高”!对自己无语了啊。这道题括号匹配不成功有三种可能1、多括号2、少括号3、不匹配。尼玛,这样一想首先就要判断字符串长度是不是偶数,不是偶数绝对不匹配。下面的代码没有想到是不是偶数(囧!):#include#include#includeusing namespace std;i

2013-01-16 22:17:28 1448

原创 Uva 10152 - ShellSort//排序,线性表

题目大意:从king Yertle邪恶王座下,趴出一个乌龟,(不过样例一king yertle的duke骑在了他的头上),这只乌龟只能怕到最上面去。就这样,问趴出的最少的乌龟。    分析:最开始我的想法很简单,但是是n的平方的复杂度,看了一下别人的想法,发现线性时间内搞定,但是为什么我的时间相对于别人来说还是很长呢?   下面是代码,想法很简单,但是不好想到,一般的做法就是用qs

2013-01-16 17:29:37 542

原创 Uva 133 - The Dole Queue//模拟,链表

这道题其实不难,就是输出要求高一点的,结果我却画蛇添足,导致代码很长,很杂乱,导致wa和pe。  题目分析:一看题就知道要开个数组,模拟一个ring,那就直接用数组模拟一个循环链表+删除。就ok了。理解错了output的有求导致wa了3次,pe2次。这里有个小小的陷阱:如果要删除的这个点刚好是另一个人有重新开始计数的点的话,那么就向前或者后移一位。下面是代码:#in

2013-01-16 17:28:38 685

原创 Uva 101 - The Blocks Problem//简单模拟

分析:这道题蛮有意思的,虽然说很简单,但是可以当做练手吧,锻炼自己码代码的能力。注意:当a和b相等的时候,判定这个输入不合法,不做任何的操作。#include#include#define MAXN 26int blocks[MAXN][MAXN];int n,order[MAXN],position[MAXN];void init(){ memset(bloc

2013-01-16 17:27:00 358

原创 Uva 101 - The Blocks Problem//简单模拟

这是我刷的薄白书的第二道课后习题。  一如既往的,刚开始看题很吃力,但是仔细的推敲也能知道个大致的意思。 move a onto b :就是将a放在b上,但是要在之前将a和b上的箱子全部放回原处。 move a over b :就是将a放在b上,但是要在之前将a上的箱子全部放回原处。 pile    a onto b:就是将a及其之上的箱子放在包含b上,但是要在之前将b上的箱子放回

2013-01-10 16:10:33 573

AC 自动机论文

AC 自动机的ACM论文

2013-07-18

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

TA关注的人

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