- 博客(73)
- 收藏
- 关注
原创 做做2 贪心
1 / 6Problem GPOJ 2376Cleaning Shifts1 / 2Problem HPOJ 1328Radar Installation1 / 2Problem IPOJ 3190Stall Reservations1 / 3Problem JPOJ 2393Yogurt factor
2014-04-29 13:39:54
650
原创 荷兰国旗问题
荷兰国旗有三横条块构成,自上到下的三条块颜色依次为红、白、蓝。现有若干由红、白、蓝三种颜色的条块序列,要将它们重新排列使所有相同颜色的条块在一起。本问题要求将所有红色的条块放最左边、所有白色的条块放中间、所有蓝色的条块放最右边。采用类似快排的分治思想
2014-04-28 19:14:13
790
转载 bitset
有些程序要处理二进制位的有序集,每个位可能包含的是0(关)或1(开)的值。位是用来保存一组项或条件的yes/no信息(有时也称标志)的简洁方法。标准库提供了bitset类使得处理位集合更容易一些。要使用bitset类就必须要包含相关的头文件。在本书提供的例子中,假设都使用了std::bitset的using声明:#i nclude using std::bitset;3.5
2014-04-21 19:31:28
651
原创 小鑫过河(优先队列+bfs) 字母重排 圆包含的方格个数 棋盘对角线穿越方格数
#include#include#includeusing namespace std;struct Node{ int x; int y; int t; Node(int xx=0, int yy=0, int tt=0):x(xx),y(yy),t(tt) { }};bool operator <(Node a, Node b){ retu
2014-04-21 12:11:51
532
转载 priority_queue
关于priority_queue1,关于STL中的priority_queue:确定用top()查看顶部元素时,该元素是具有最高优先级的一个元素. 调用pop()删除之后,将促使下一个元素进入该位置. 2,如同stack和queue,priority_queue是一个基于基本序列容器进行构建的适配器,默认的序列器是vector. 模板原型:priority_queue
2014-04-21 11:18:19
636
原创 DFS poj3009
#includeusing namespace std;int a[21][21];int n, m;int sx, sy, gx, gy;int res;void dfs(int k, int x, int y, int d){ if(k>10) return; if(d==-1) a[x+1][y]=0; if(d==-2) a[x-1][y]=0;
2014-04-09 13:11:37
689
1
原创 POJ3233Matrix Power Series 矩阵快速幂(分块矩阵构造)
# include# include# includeusing namespace std;int mod;class Matrix{public: int row; int col; int ** element; Matrix(); ~Matrix(); Matrix(const int , const
2014-03-09 16:27:35
864
原创 HDU3306 矩阵快速幂
/*****************Sn-1 1 X^2 Y^2 2XY SnAn-1^2 * 0 X^2 Y^2 2XY = An^2An-2^2 0 1 0 0
2014-03-09 15:19:15
597
原创 HDU1568 求Fibonacci前几位 取对数
FibonacciTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3100 Accepted Submission(s): 1435Problem Description2007年到来了。经过2006年
2014-03-09 11:16:41
697
原创 HDU1757 矩阵快速幂
/***************************8构造矩阵[a0 a1 a2 a3 a4 ... a9] [ f(x-1) ] [f(x)] 1 0 .. 0 0 1 * .
2014-03-08 22:39:25
733
原创 【线段树】单点更新5
/*****************************************简单的单点更新,用一个c数组标记PushUp是应该OR还是XOR****************************************/DescriptionXenia the beginner programmer has a sequence a, consis
2013-12-17 00:34:28
516
原创 【线段树】单点更新4
/&&&&&&&&&&%$*%^&^#%@$$%^抽象思维能力很重要!我只能满满积累了。起初没看懂题目怎么用线段树解多亏了喵呜的指点!敲好了一次就过了!@#$^%&*^(&(&^%&&$^%^&%^&((?/DescriptionAt the entrance to the university, there is a huge rectangular bi
2013-12-16 23:45:24
506
原创 uva127 "Accordian" Patience poj1214 模拟
/***********************************************这个题目是我感触特别深的了, 第一次刷uva的题。题目不难,但印象颇深。不得不说,runtime error 这个问题经常会困扰我, 曾经大多数时候是束手无策,只能改代码试试这次我尝试生成一定数量的随机数据了, 每次输出这组数据,于是终于找到RE数据。过程是痛苦的, 收获是丰富的, 虽然
2013-12-13 09:46:53
808
原创 get新技能!查找runtime error 数据
大致思想是随机生成一定数量的符合题目要求的数据,然后读这些数据的时候加一行输出,就大概能找到runtime error的数据了
2013-12-13 09:19:37
576
原创 runtime error快饶了我吧
不得不说,被runtime error搞残了。少用指针,那有什么替代品?ACCESS_VIOLATION 您的程序想从一些非法的地址空间读取或向其中写入内容。一般例如指针、数组下标越界都会造成这个错误的。ARRAY_BOUNDS_EXCEEDED 您的程序试图访问一个超出硬件支持范围的数组单元。FLOAT_DENORMAL_OPERAND 进行了一个非正常的浮点操作。一般是
2013-12-13 08:39:39
2694
1
原创 数列 快速幂
/**********************************88很水的题,快速幂练练手,10OJ币get!8**************************************?/数列时间限制:1 秒内存限制:32 兆特殊判题: 否提交:101解决: 9题目描述小明有天
2013-12-07 22:08:26
804
原创 【线段树】单点更新3
/****************************线段树求逆序数*****************************/DescriptionThe inversion number of a given number sequence a1, a2, ..., an is the
2013-12-06 09:46:37
524
原创 【线段树】单点更新2
/&^%$#@!#$#$*&())+_*(&*(^&%$#@#$@!#!@#!@#*********************************************************和单点更新1差不多。这次很快就敲出来了,这次是求区间最大值。*********************************************************@!#$#
2013-11-29 13:10:07
584
原创 【线段树】单点更新1
/^&%$#@$%&_)(*&^%%$%%Y%FD%$^U&&^U*&(()*&^%$##@$%^&*(&^%$#@$%^&***************************************************************************************************刚刚开始学习线段树了。挣扎了很久才有一点理解,主要还是因为自己太渣了。
2013-11-29 00:39:50
808
原创 【数据结构】第4周 二叉树基础
/&&&&&78*********^%$#@#$%^$%#这题没什么可说的,虽然简单,但是折腾了我一阵。我一开始用指针写的,交上去runtime error改了好久都不行。然后喵呜要我用结构体数组实现二叉树。写好后交上去还是WA了,折腾好一阵才AC。总结:以后二叉树定义的时候除了左右儿子的指针还有父母的指针的话,交换两个非祖先关系的子树要特别注意啊很容易出错,而且你
2013-11-26 19:18:01
1425
1
原创 二叉树
# include# includeconst int MAXSIZE=2000;typedef struct node{ int data; struct node * left, * right;} BTree;typedef struct stackelem{ BTree * a[MAXSIZE]; int top;} Stack;typedef str
2013-11-25 11:17:04
620
原创 蹦蹦跳跳的Rabbit大神 暴力
/*******************8f(x)=4x+3 g(x)=8x+7 观察有f(f(f(x)))=g(g(x))那么尽量用g(x)替换f(x),得到f(x)的个数可以取0,1,2个然后暴力10w*3次就可以了。****************************************************/蹦蹦跳跳的Rabbit大神分数:时
2013-11-23 18:42:10
1118
原创 【数据结构】第3周 字符串 4:前缀中的周期
/*****************************8kmp里next数组的应用, i%(i-next[i])==0 有循环 i/(i-next[i])>1确定次数******************************/4:前缀中的周期查看提交统计提问总时间限制: 3000ms 内存限制: 65536kB描述一个字符
2013-11-17 14:24:39
1644
原创 【数据结构】第3周 字符串 3:古代密码
/*****************************************分别统计明码串和密码串各字符个数,排序后比较,都相同输出YES*****************************************/3:古代密码总时间限制: 1000ms 内存限制: 65536kB描述古罗马帝王有一个包括各种部门的强大政
2013-11-11 19:59:30
808
原创 【数据结构】第3周 字符串 1:统计字符数
1:统计字符数查看提交统计提问总时间限制: 1000ms 内存限制: 65536kB描述判断一个由a-z这26个字符组成的字符串中哪个字符出现的次数最多输入第1行是测试数据的组数n,每组测试数据占1行,是一个由a-z这26个字符组成的字符串每组测试数据之间有一个空行,每行数据不超过1000个字符且非空输出n行,每行输出对应一个输入。一行输出包
2013-11-11 19:03:25
1183
转载 KMP
KMP字符串模式匹配详解KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n).。一.简单匹配算法先来看一个简单匹配算法的函数:int Index_BF ( char S [ ], char T [ ], int pos ){/* 若串 S
2013-11-08 09:47:16
520
原创 hdu1001 a+b
a+b;b+a;a+b;b+a;a+b;b+a;a+b;b+a;a+b;b+a;a+b;b+a;a+b;b+a;a+b;b+a;a+b;b+a;a+b;b+a;a+b;b+a;a+b;b+a;标题只是掩饰而已
2013-11-07 23:17:00
928
1
原创 hdu1215七夕节 筛素数+素因子分解+乘法公式
/****************************8这题暴力肯定要超时,换一种思路,把一个数变化成素因子相乘的形式那么a=p1^e1*p2^e2...pn^en所有除a以外的因子之和=(p1^0+p1^1+..p1^e1)*(p2^0+p2^1+...)...*(pn^0+pn^1+...pn^en)-p1^e1*p2^e2*...pn^en然后就出来了。。。我摔,刚才发现
2013-11-07 21:41:33
829
1
原创 hdu 1003 hdu1231 简单dp最大子串和
hdu1003# include# includeusing namespace std;const int maxn=100005;int a[maxn];int dp[maxn], s[maxn];int main(void){ int t, n, i, j; cin>>t; for(j=1; j<=t; j++) {
2013-11-07 13:44:01
595
原创 串匹配-朴素(brute force)算法
真的是很朴素很朴素的算法呀。# include# includeusing namespace std;int FindPat_1(string s, string p, int startindex){ //从s末尾倒数一个模式长度位置 int LastIndex = s.length()-p.length(); int count = p.length(); /
2013-11-06 20:03:51
550
原创 【数据结构】第2周 栈与队列 4:中缀表达式的值
4:中缀表达式的值查看提交统计提问总时间限制: 200ms 内存限制: 1024kB描述人们熟悉的四则运算表达式称为中缀表达式,例如(23+34*45/(5+6+7))。在程序设计语言中,可以利用堆栈的方法把中缀表达式转换成保值的后缀表达式(又称逆波兰表示法),并最终变为计算机可以直接执行的指令,得到表达式的值。给定一个中缀表达式,编写程序,利用
2013-11-05 23:22:14
1396
原创 填个许久的坑,计算表达式的值
记得暑假的时候就要写这个,当时那道题没有括号,用一个简单的方法而没转后缀式过的。今天补了一下这个东东,支持+-*/()。代码如下:# include# include# include# include# includeusing namespace std;stack q;stack w;bool precede(char a, char b)//比较操作符
2013-11-05 22:06:24
715
原创 【数据结构】第2周 栈与队列 3:stack or queue
/*****************************8数据比较弱,直接过了************************************?3:stack or queue总时间限制: 1000ms 内存限制: 65535kB描述栈和队列都是常用的线性结构,它们都提供两个操作:Push:加入一个元素。Pop:弹出一个元素。不同的是
2013-11-04 20:47:31
1799
原创 【数据结构】第2周 栈与队列 2:栈的基本操作
/*********************************************基本的栈操作,注意栈空时pop输出error的情况也要把接下来的读完**********************************************/2:栈的基本操作查看提交统计提问总时间限制: 1000ms 内存限制: 1000kB
2013-11-04 20:15:13
1788
原创 【数据结构】第2周 栈与队列 1:用队列对扑克牌排序
/**********************其实就是个桶排序**********************/1:用队列对扑克牌排序查看提交统计提问总时间限制: 1000ms 内存限制: 65536kB描述假设这里有36张扑克牌,分别为A1~A9,B1~B9,C1~C9,D1~D9,其中A代表方片,B代表草花,C代表红桃,D代表黑桃,那么,设定
2013-11-04 13:55:53
1998
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人