自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (7)
  • 收藏
  • 关注

原创 uva 10047

这题明显和普通的bfs不一样,因为普通的bfs就是vis[][]二维状态的搜索,走过以后的路径是不能退回的,但是这里应该是可以退回,所以用了个vis[x][y][dir][color]dir 在x,y格子上 表示当前的方向,color表示在x y 格子上当前的颜色。 还有就是这个轮子方向要旋转,所以有时候后一格并不能一个时间单位走到,要先在原地旋转,然后把时间累加到原地的格子上,然后再往前

2013-05-31 21:11:14 771 1

原创 优先队列——二叉堆实现

二叉堆是完全二叉树二叉堆满足堆特性:父节点的键值总是大于或等于(小于或等于)任何一个子节点的键值,且每个节点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父节点的键值总是大于或等于任何一个子节点的键值时为最大堆。 当父节点的键值总是小于或等于任何一个子节点的键值时为最小堆。最小堆: 1 最大堆: 11 /

2013-05-30 21:44:38 1650

原创 一维树状数组

一维树状数组        一维数组相信大家平时都是经常使用,对于一维数组而言,查询以及求和的时间复杂度分别为O(1) 和 O(n) 。       今天我们介绍一个新的数据结构——树状数组英文名称为Binary Index Tree,直译过来就是二进制索引树,我觉得二进制索引树更能说明其本质。树状数组的本质就是一种通过二进制位来维护一个序列前i和的数据结构。它的查询和求和的时间复杂度均为

2013-05-30 20:54:13 872

转载 C++中的抽象类以及接口的区别联系

上篇文章转载C++之父关于接口在实现中问题的回答后,自己动手写了写。但是由于之前用C#写过一些程序,对abstract关键字理解不够深,结果深受其害,查阅了很多关于虚函数、纯虚函数、抽象类以及接口的实现方面的资料,现将它们之间的联系区别整理一下。一 抽象类和接口抽象类: 抽象类是特殊的类,只是不能被实例化(将定义了纯虚函数的类称为抽象类);除此以外,具有类的其他特性;重要的是抽象类可以包括

2013-05-29 21:53:46 671

原创 大话设计模式——简单工厂模式

书上使用c#实现的,我改成了c++,本人属于菜鸟级别,如有错误还请留言指教#include #include using namespace std;class Operation{ public: double A; double B; virtual double GetResult() { };};class OperationAdd : publ

2013-05-28 10:46:19 652

原创 uva 11054

题很简单,思路也不难,就是一个贪心,但是第一次写用最直观的模拟,结果导致了TLE,必然,数据量大概是100000,我的程序大概最坏的话应该是个O(n2)TLE 了这是我的TLE代码#include #include #include int a[200000];long long cost;int n;inline int abs( int a ){ if( a < 0

2013-05-26 19:41:59 886

原创 uva 10714

这章什么高效算法设计啊,这题初看貌似很高端,后来分析了集中情况,这连模拟题都不是,最弱智的数的大小,好吧,主要是分析蚂蚁极端情况,思路我就不透露了#include #include int ants[100000];int main(){ int len, t, max, min, n, lin; scanf( "%d", &t ); while(t--) { scanf

2013-05-24 16:28:20 639

原创 uva 784

这题深搜和宽搜都可以,感觉最贱的是最后输入的"_"  input 输入几个下划线,output输出几个,好吧我没看清题wa 了3次dfs:#include #include #include #define MAX 81char map[31][81];int d[4][2] = { {1, 0}, {-1, 0}, {0, 1}, {0, -1} };int startx

2013-05-22 19:00:18 711

原创 uva 540

题目大意:有个所谓的team排序, 给出t个队伍,以及这些队伍的成员。 然后进行排队。 ENQUEUE x: 把x插入队列中时。如果队列没有该元素的队员,则插入队列的最后面。如果队列中已经有了他的队员,那么插入最后一个队员之后。 DEQUEUE:  把队头的元素删除,并且输出STOP:  停止解题思路:如果对链表熟悉,要模拟这个过程并不难

2013-05-20 14:54:04 854

原创 uva 11111

#include #include #include int input[6000];int n;int stack[6000];int stack_v[6000];bool deal( ){ int top = 0; int topv = 0; for( int i = 0; i < n; i++ ) { if( input[i] < 0 ) { if( t

2013-05-17 14:01:03 702

原创 uva 152

这题最大难度在于英文,好吧,其实是求一个点到另外其他点的最小距离,如果小于10则记录一次#include #include #include #include #include inline double power( double num ){ return num*num;}int main(){ int dis[10], a, min; double x[6000

2013-05-16 21:29:11 647

原创 uva 10420

#include #include #include #include char temp[1000], input[1000];char word[5000][1000];void change( int i, int j ){ char temp[1000]; strcpy( temp, word[i] ); strcpy( word[i], word[j] ); str

2013-05-16 08:57:46 883

原创 uva 748 浮点乘法幂

#include #include #include #include #define MAX 20000int main(){ int n, p, i, j, k, x, carrey; int num[MAX], num1[MAX], num2[MAX]; char R[7]; while( scanf( "%s %d", R, &n ) == 2 ) { memse

2013-05-15 16:24:31 581

原创 sicp 习题2.33

map 的原始定义(define (map p sequence)    (if (null? sequence)        '()        (cons (p (car sequence))              (map p (cdr sequence)))))accumulate 的定义(define (accumulate op initial se

2013-05-14 20:09:11 748

原创 uva 10010

#include #include #include #include #include char ch[50][50];char find[20][80];int m, n, t, T;int equal( int y, int x, int len, int turn ){ int i, j, k, flag[8], value; for( i = 0; i < 8; i

2013-05-14 13:00:46 685

原创 C语言位运算

位运算    位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。位运算符有:    &(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。    其中,按位取反运算符是单目运算符,其余均为双目运算符。    位运算符的优先级从高到低,依次为~、&、^、|,    其中

2013-05-14 10:24:27 788

原创 简单shell 命令重定向

今天晚上花了一会写的,开始用的是 argv 是个二位数组, 调程序的时候总是显示不出,后来发现execvp貌似只支持 pointer array =。= 好吧。。。。程序思路:开子进程以后把 子进程的标准输出 关闭, 然后在子进程中新建一个文件,此时文件会选择 自身进程中最小的文件标识符 作为该文件的文件标识符,也就是fd所以,以后子进程的所有标准输出都流向了文件, 这个应该是简单的思

2013-05-14 00:15:46 778

原创 sicp 习题2.32

这题真的不会 参考了一下别人的:(define (subsets s) (if (null? s) (list null) (let ((rest (subsets (cdr s)))) (append rest (map (lambda(x) (cons (car s) x)) rest)))))和换零钱问题的思路是一样的,对于一个集合的所有子集的

2013-05-09 16:56:09 855

原创 uva 10815

#include #include #include #include char words[5000][500];char output[5000][500];char temp[500];int a, time;void deal( ){ int i, j, start, flag; a = 0; start = 0; for( i = 0; i < time; i

2013-05-09 16:46:59 671

原创 sicp 习题2.31

(define (square-tree tree) (tree-map square tree))(define (tree-map square tree) (map (lambda (tree) (if (pair? tree) (tree-map square tree) (square tree)))

2013-05-08 21:05:13 753

原创 sicp 习题2.30

(define (square-tree lst) (cond ((null? lst) nil) ((not (pair? lst)) (square lst)) (else (cons (square-tree (car lst)) (square-tree (cdr lst))))))(define (square x) (* x x))

2013-05-07 20:51:04 646

原创 uva 10115

#include #include #include char find[10][90];char replace[10][90];char input[300];void edit( char input[], int time ){ char temp1[300], temp2[300]; int i, j, len1, len2, t, turn, star

2013-05-07 16:49:39 668

原创 sicp 习题2.29

(define (make-mobile left right) (list left right))(define mobile (make-mobile left right))(define (make-branch length structure) (list length structure))(define branch (make-branch length struc

2013-05-04 09:24:36 892

原创 sicp 习题2.28

(define x (list (list 1 2) (list 3 4)))(define (fringe lst) (cond ((null? lst) '() ) ((not (pair? lst)) (list lst)) (else (append (fringe (car lst)) (fringe (cadr lst))))))

2013-05-03 20:03:17 791

原创 sicp 习题2.27

(define x (list (list 1 2) (list 3 4)))上面的list 原来其实就是一个二叉树,但是初次学习,看了40分钟竟然也没有意识到。最后还是看了看题解,二叉树的遍历而已。 lisp的一个表几乎就可以表示许多数据结构,链表,二叉树,甚至图。 这和其他语言真的很不一样。下面是代码:#lang planet neil/sicp(define x (li

2013-05-03 19:33:51 1030

原创 sicp 习题2.26

#lang planet neil/sicp(define x (list 1 2 3))(define y (list 4 5 6))run:Welcome to DrRacket, version 5.3.3 [3m].Language: planet neil/sicp; memory limit: 512 MB.> (append x y)(mcons 1 (mcon

2013-05-02 11:05:07 829

原创 sicp 习题2.24 && 2.25

它的盒子图形如下: (1 (2 (3 4))) ((2 (3 4)))[*]---------------> [*] | | | | v v (2 (3 4)) ((3 4)) 1 [*]--------------->

2013-05-01 11:22:28 970

duilib 入门简明教程

duilib 简明入门手册.chm,帮助你快速入门, 快速制作炫酷的UI

2014-08-09

C++STL手册

C++STL手册 帮助你快速查询

2014-08-09

30天自制操作系统中文版光盘

30天自制操作系统中文版光盘,绝对中文,包括工具包和30天每天的源代码,分开放在各个文件夹

2014-05-27

操作系统教程

这是一本操作系统教程的课本

2013-02-24

cs 50 数独游戏的bin文件

cs 50 数独游戏的bin文件 终端运行如下 ./sudoku n00b

2013-02-12

动态规划 背包九讲

ACM必备背包问题经典参考

2012-11-03

PHP圣经 PHP bible

本手册是台湾彭武兴先生所著的 <<PHP BIBLE>> 一书的简体中文版。笔者只是对该书进行了繁简转换,并将原书中的台湾术语改为通俗的术 语,及纠正了由此带来的一些语意错误,仅供个人参考使用。未经彭武兴先生书面授权请勿用于商业目的。

2012-03-02

空空如也

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

TA关注的人

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