![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OJ
文章平均质量分 80
OJ
nailnehc
IT菜鸟
展开
-
struct与typedef struct
struct与typedef struct分三块来讲述: 1.首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student stu1;来声明) 这里的S转载 2017-07-12 21:07:32 · 196 阅读 · 0 评论 -
堆排序
堆排序堆,就是一棵完全二叉树。储存在顺序表中。从下标为1开始储存。在堆排序中,堆分为两类,一类是大顶堆,另一类是小顶堆,其中,用大顶堆排序,的到递增数列,用小顶堆排序,得到递减数列。原创 2015-12-26 12:45:20 · 470 阅读 · 0 评论 -
快速排序
快序排序 快速排序是有冒泡排序改进得到的。在冒泡排序过程中,只能元素对相邻的两个元素进行比较,所以一趟下来只能消除两个逆序的,快速排序是通过两个不相邻的元素进行比较,一趟下来可以消除多个逆序。原创 2015-12-22 20:14:58 · 306 阅读 · 0 评论 -
希尔排序
希尔排序希尔排序: 插入排序的一种。用到的思想是进行多次分组插入排序,每次增量不同。例如:原始数列为4 5 6 8 2 3 9 1 7 增量为5 2 3 1, 第一趟排序分为5组,分别是{4,3}{5,9}{6,1}{8,7}{2},对这五组分别进行排序【本文默认是按从小到大排序】,结果为:{3,4}{5,9}{1,6}{7,8}{2},数列为3 5 1原创 2015-12-18 17:27:24 · 355 阅读 · 0 评论 -
DIY 二叉树的先序非递归遍历
DIY 二叉树的先序非递归遍历在实现二叉树的非递归遍历的过程中,需要用到一个栈和一个队列;定义一个bool型常量ok = true;当ok为true是,进入循环,定义指针p,指向根节点;判断p有几个孩子 { 如果有两个孩子,则入栈; 如果有一个孩子,判断是左孩子还是右孩子 { 如果是左孩子 p 指向它的左孩子; 如果是右孩原创 2015-11-12 22:01:45 · 343 阅读 · 0 评论 -
关于kmp算法中next数组的求法【针对手算的】
关于kmp算法中next数组的求法本篇只介绍next的求法和nextval的求法next:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 例如 模式串:a c b d a c a s d f a c b b a c next:0 1 1 1原创 2015-10-17 15:26:06 · 981 阅读 · 0 评论 -
静态链表
静态链表相当于是用一个数组来实现线性表的链式存储结构,大概结构图如下 在静态链表中,每一个结点包含两部分内容,一部分是data(即有意义的数据),另一部分是cur(存储该元素下一个元素所在数组对应的下标)。有几个特殊的结点:首先是下标为0的结点中不包含有意义的数据,它的cur存储的是备用链表(即没有存储的转载 2015-09-17 20:01:58 · 439 阅读 · 0 评论 -
生成伪随机整数
生成伪随机整数在头文件中,声明了函数rand();const int randomizing = 0;randomizing = rand();该函数可以生成伪随机数;rand()函数使用一个起始的种子值来生成一系列数,对于一个特定的种子,生成的数列不变,也就是说,对于种子x,假设产生的第一个随机数是a,那么在种子不变的情况下,接下来所产生的随机数总是a。在头文件中还原创 2015-08-22 23:24:05 · 978 阅读 · 0 评论 -
约瑟夫问题
适合队列初学者#include //队列 头文件queueq; //定义队列q,Int型的q.push(i); //入队,即把i加入到队尾t=q.front(); //把队首元素赋值给tq.pop();原创 2015-08-16 18:42:40 · 476 阅读 · 0 评论 -
并查集&&最小生成树(模板)
并查集int find(int x){ //查 查找根节点 int r=x; while(r!=pre[r]) r=pre[r]; int i=x,j; //压缩路径 if(i!=r){ j=pre[i]; pre[i]=r; i=j; } return r;}void join(int x,int y){ //并 int fx=f原创 2015-08-11 22:48:27 · 372 阅读 · 0 评论 -
素数 表
素数,又名质数。素数:一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。素数表int a[1020000];void sushu(){ int i,j; a[1]=1; for(i=2;i*i<1020000;i++) for(j=i*i;j<1020000;j+=i)原创 2015-08-09 15:21:35 · 923 阅读 · 0 评论 -
c++ 结构体 构造函数
struct Node{ int r,c,dist; Node(){} Node(int r,int c,int dist):r(r),c(c),dist(dist){}};Node(){} 为定义函数;Node(int r,int c,int dist):r(r),c(c),dist(dist){} 为定义函数时的参数列表; str原创 2015-08-06 11:25:48 · 4784 阅读 · 0 评论 -
foj 1082 最大黑区域【dfs】
Problem 1082 最大黑区域Accept: 1241 Submit: 2765Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description二值图像是由黑白两种像素组成的矩形点阵,图像识别的一个操作是求出图像中最大黑区域的面积。请设计一个程序完成二值图像的这个操作。黑区域由黑像素原创 2017-03-23 13:29:23 · 400 阅读 · 0 评论 -
foj 1056 扫雷游戏【递归】
Problem 1056 扫雷游戏Accept: 1978 Submit: 5012Time Limit: 1000 mSec Memory Limit : 32768 KBProblem Description扫雷是Windows自带的游戏。游戏的目标是尽快找到雷区中的所有地雷,而不许踩到地雷。如果方块上的是地雷,将输掉游戏。如果方块上出现数字,则表示在其原创 2015-11-08 21:28:00 · 1512 阅读 · 0 评论 -
nyoj 20 吝啬国度【dfs】
吝啬的国度时间限制:1000 ms | 内存限制:65535 KB 难度:3描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来。现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设你不走重复的路)。输入 第一行输入一个整数M表示测试数据共有M(1样例输原创 2015-12-02 21:17:01 · 431 阅读 · 0 评论 -
nyoj 63 小猴子下落【二叉树】
小猴子下落时间限制:3000 ms | 内存限制:65535 KB难度:3描述 有一颗二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从左到右从上到下的编号为1,2,3,·····,2的D次方减1。在结点1处放一个小猴子,它会往下跑。每个内结点上都有一个开关,初始全部关闭,当每次有小猴子跑到一个开关上时,它的状态都会改变,当到达一个内结点时,如果开关关闭,原创 2015-09-21 22:47:11 · 424 阅读 · 0 评论 -
poj 2406 Power Strings【kmp】
Power StringsDescriptionGiven two strings a and b we define a*b to be their concatenation. For example, if a = "abc" and b = "def" then a*b = "abcdef". If we think of concatenation as multip原创 2016-03-10 20:49:19 · 256 阅读 · 0 评论 -
poj 2752 Seek the Name, Seek the Fame【kmp】
Seek the Name, Seek the FameDescriptionThe little cat is so famous, that many couples tramp over hill and dale to Byteland, and asked the little cat to give names to their newly-born babies. T原创 2016-03-09 21:23:17 · 293 阅读 · 0 评论 -
poj 2253 Frogger【最短路】
FroggerTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 32076 Accepted: 10335题目大意:给个整数n【表示有n块石头】,再给n快石头的坐标,两只青蛙,一只在所给的第一块石头上,另一只在所给的第二块石头上,求从第一块石头到第二块石头所原创 2015-12-23 21:09:29 · 301 阅读 · 0 评论 -
POJ 2488 A Knight's Journey【dfs】
A Knight's JourneyTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 37342 Accepted: 12683DescriptionBackground The knight is get原创 2016-02-01 18:32:01 · 256 阅读 · 0 评论 -
poj 3211 Washing Clothes【0-1背包】
Washing ClothesTime Limit: 1000MS Memory Limit: 131072KTotal Submissions: 9213 Accepted: 2946DescriptionDearboy was so busy recently that now he has piles of原创 2015-12-05 16:30:40 · 329 阅读 · 0 评论 -
poj 2920 Mine Map【BFS】
Mine MapTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 1023 Accepted: 493题目大意: 给一个n*n的金库,金库中有地雷‘*’和空格'?',现在你从金库中间出发,刚刚开始时,【遍历当前格子周围8个格子,如果周围8个原创 2015-11-28 20:05:35 · 332 阅读 · 0 评论 -
poj 2225 Asteroids!【BFS】
Asteroids!Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 3087 Accepted: 1161DescriptionYou're in space. You want to get home. There are asteroids.原创 2015-11-20 20:11:30 · 3691 阅读 · 0 评论 -
poj 1915 Knight Moves【BFS】【简单】
Knight MovesTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 23541 Accepted: 11059Description题目大意:输入N,表示棋盘大小为N*N,在输入两个坐标,分别是起始点与目标点,问从起始点到目标点的最少步数【原创 2015-11-18 21:25:42 · 282 阅读 · 0 评论 -
poj 3984 迷宫问题【BFS && DFS】【简单】
迷宫问题Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 12134 Accepted: 7277Description 定义一个二维数组: int maze[5][5] = {0,1,0,0,0,0,1,0,1,0,0,0,0,0原创 2015-11-17 17:29:05 · 338 阅读 · 0 评论 -
poj 1860 Currency Exchange
Currency ExchangeTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 23836 Accepted: 8625Description 一些货币兑换点正在我们的城市工作。我们假设每个兑换点尤其擅长兑换两种特定的货币,并且只进行对这些货币的兑换。可原创 2015-11-06 20:43:20 · 355 阅读 · 0 评论 -
poj 3259 Wormhole【bellman_ford】
WormholesTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 37995 Accepted: 13992题目大意:约翰的农场有n块地,有m条双向的路(权值为正,即时间在流逝),有w个虫洞【单向路】(权值为负,即时间倒退),问,从任意一点开始,能回到过去原创 2015-11-05 19:34:35 · 410 阅读 · 0 评论 -
poj 2502 Suwbay【floyd】
SubwayTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 7556 Accepted: 2461题目大意:给你两个坐标,分别是家的坐标和学校的坐标,接下来每行给出一条地铁的线路【即地铁的起点站的坐标,经过的站点的坐标,终点站的坐标】【地铁路线最多不超过200条】原创 2015-11-03 21:42:48 · 331 阅读 · 0 评论 -
poj 1125 Stockbroker Grapevine 【最短路 Floyd】
Stockbroker GrapevineTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 31794 Accepted: 17420题目大意:给你n个人的联系情况,对任意一个人,求出这个人发消息到其他n-1个人的时间,得到n-1个时间中的最大值,n个最大值原创 2015-10-31 17:31:45 · 288 阅读 · 0 评论 -
2387 poj Til the Cows Come Home【dijkstra,经典&&基础】
Til the Cows Come HomeTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 37068 Accepted: 12622Sample Input5 51 2 202 3 303 4 204 5 201 5 100Sa原创 2015-10-27 15:59:43 · 338 阅读 · 0 评论 -
poj 1502 MPI Maelstrom【dijkstra】
MPI Maelstrom题目大意:给一个关于主对角线对称的 矩阵 的左下块【即临界矩阵】,数字表示权值,且在行序号和列序号相同的位置为 0,矩阵的行序号和列序号都是从1 开始计数的,例如行号为2,列号为1,意思为从2到1,数组储存的是两个点之间的距离,若为 ' x ',则表示为两点近距离为无穷大。根据给出的临界矩阵,求出从点1到各个点的最短路径,再输出其中最长的。Sample原创 2015-10-25 15:13:14 · 334 阅读 · 0 评论 -
poj 2485 Highways 【kruskal】
HighwaysTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 26220 Accepted: 11971题目大意:要在城市与城市之间修路,且要把所有城市连起来,且总路程最短,求所有已建成的公路中最长的公路,并输出其长度:Sample Input1原创 2015-10-10 23:40:46 · 256 阅读 · 0 评论 -
poj 1258 Agri-Net【Kruskal】
Agri-Net题目大意:先输入一个数n,Sample Input40 4 9 214 0 8 179 8 0 1621 17 16 0Sample Output28看到网上都是用prim写得,用Kruskal写得比较少,所以就决定用Kruskal写了#include #include using namespace std原创 2015-10-10 23:29:14 · 273 阅读 · 0 评论 -
poj 1995 Raising Modulo Numbers【快速幂】
Raising Modulo NumbersInputThe input consists of Z assignments. The number of them is given by the single positive integer Z appearing on the first line of input. Then the assignements follo原创 2015-10-02 12:48:45 · 361 阅读 · 0 评论 -
poj 3984 迷宫问题【dfs】
迷宫问题 Sample Input0 1 0 0 00 1 0 1 00 0 0 0 00 1 1 1 00 0 0 1 0Sample Output(0, 0)(1, 0)(2, 0)(2, 1)(2, 2)(2, 3)(2, 4)(3, 4)(4, 4)思路:遍历从(0,0)到(4,4)的走法,每走一步,就要更新到当前格子所需的最少的原创 2015-10-01 23:08:26 · 326 阅读 · 0 评论 -
poj 3295 Tautology【离散数学之重言式】
TautologyTime Limit: 1000MS Memory Limit: 65536K Total Submissions: 10723 Accepted: 4074 Definitions of K, A, N, C, and E w x Kwx Awx Nw ...原创 2015-09-14 23:23:56 · 1952 阅读 · 2 评论 -
poj 2586 Y2K Accounting Bug【水水】
Y2K Accounting BugTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 11648 Accepted: 5863题目大意:有一个公司由于某个病毒使公司赢亏数据丢失,但该公司每月的 赢亏是一个定数,要么一个月赢利s,要么一月亏d。现在ACM只知道原创 2015-09-12 23:12:25 · 409 阅读 · 0 评论 -
poj 1753 Flip Game【dfs】
Flip GameTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 34930 Accepted: 15289题目大意:给一个4x4的棋盘,棋盘上放置棋子,棋子一面白一面黑,现在给出一个棋局,让我们计算最少需要几步才能把所有棋都翻到黑面或者白面(原创 2015-09-09 20:16:33 · 292 阅读 · 0 评论 -
poj 3660 Cow Contest【floyd】
Cow ContestTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 8431 Accepted: 4758Sample Input5 54 34 23 21 22 5Sample Output2题目原创 2015-08-31 10:21:12 · 363 阅读 · 0 评论 -
poj2752
Seek the Name, Seek the FameTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 14164 Accepted: 7053DescriptionThe little cat is so famous, that m原创 2015-08-07 23:53:58 · 312 阅读 · 0 评论