算法
算法代码
eacapey
这个作者很懒,什么都没留下…
展开
-
NYOJ 一笔画问题
描述zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下来。规定,所有的边都只能画一次,不能重复画。输入第一行只有一个正整数N(N<=10)表示测试数据的组数。每组测试数据的第一行有两个正整数P,Q(P<=1000,Q<=2000),分别表示这个画中有多少个顶点和多少条连线。(点的编号从1到P)随后的Q行,...原创 2018-11-29 11:59:55 · 250 阅读 · 0 评论 -
种树
题目描述某条街被划为 nn 条路段,这 nn 条路段依次编号为 1\dots n1…n。每个路段最多可以种一棵树。现在居民们给出了 hh 组建议,每组建议包含三个整数 b,e,tb,e,t,表示居民希望在路段 bb 到 ee之间至少要种 tt 棵树。这些建议所给路段的区间可以交叉。请问:如果要满足所有居民的建议,至少要种多少棵树。输入格式第一行为 nn,表示路段数。第二行为 hh,...原创 2018-12-04 22:16:56 · 815 阅读 · 0 评论 -
冗余关系(计蒜客)
蒜头最近在沉迷小说,尤其是人物关系复杂的言情小说。它看到的人物关系描述得很的麻烦的时候觉得非常蒜疼,尤其是任务关系里有冗余的时候。什么是冗余关系呢?这篇小说里有n句描述人物关系的句子,描述了n个人的关系。每条句子的定义是这样的: X<->Y 它的意思是:X认识Y,Y也认识X我们认为小说中的人物关系是具有传递性的,假如A认识B,B认识C,则A也认识C。冗余...原创 2018-10-16 21:45:11 · 564 阅读 · 0 评论 -
PAT 1030 Travel Plan
A traveler's map gives the distances between cities along the highways, together with the cost of each highway. Now you are supposed to write a program to help a traveler to decide the shortest pat...原创 2018-11-26 13:08:47 · 169 阅读 · 0 评论 -
codeVS 1022 覆盖
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题解 题目描述 Description 有一个N×M的单位方格中,其中有些方格是水塘,其他方格是陆地。如果要用1×2的矩阵区覆盖(覆盖过程不容许有任何部分 重叠)这个陆地,那么最多可以覆盖多少陆地面积。 输入描述 Input Description输入文件的第一行是两个整数...原创 2018-10-23 14:29:15 · 206 阅读 · 0 评论 -
PAT 1003 Emergency
As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads. Amount of rescue teams in each city and...原创 2018-11-25 18:32:55 · 514 阅读 · 0 评论 -
王道考研 ++++ 归并排序
#include <stdio.h>#include <stdlib.h>int temp[10001];void marge(int *list,int L,int mid,int R);int* margesort(int *list,int L,int R);/*归并*/void marge(int *list,int L,int mid,int R)...原创 2019-09-01 11:09:41 · 784 阅读 · 0 评论 -
王道考研 ++++ 链表(C语言 头插、尾插、位置插入、查询、删除)
#include <stdio.h>#include <stdlib.h>typedef struct LNode{ int data;//数据域 struct LNode* next;//指针域}LNode,*LinkNode;void Search(LinkNode Head);void Insert(LinkNode Head);void D...原创 2019-08-01 20:50:30 · 285 阅读 · 0 评论 -
王道考研 ++++ 二叉树的非递归遍历(先序、中序、后序)
非递归#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#define MaxSize 100typedef struct LTree{ char data; struct LTree *LChild,*RChild;}LTree,*BiTree;typedef s...原创 2019-08-01 20:46:53 · 1766 阅读 · 1 评论 -
王道考研 ++++ 链表实现队列(C语言)
#include <stdio.h>#include <stdlib.h>#include <stdbool.h>typedef struct LinkNode{ int data; struct LinkNode *next;}LinkNode;typedef struct{ LinkNode *front,*rear;}Li...原创 2019-08-01 20:44:54 · 259 阅读 · 0 评论 -
王道考研 ++++ 循环队列(C语言)
#include <stdio.h>#include <stdbool.h>#define MaxSize 10typedef struct{ int data[MaxSize]; int front,rear;}SqQueue;/*初始化*/void Init(SqQueue *Q){ Q->front = Q->...原创 2019-08-01 20:43:25 · 527 阅读 · 1 评论 -
王道考研 ++++ 二叉排序树(C语言 链表)
#include <stdio.h>#include <stdlib.h>#include <stdbool.h>typedef struct LTree{ int data; struct LTree *Lchild,*Rchild;}LTree,*BiTree;void InsertTree(BiTree *T,int number...原创 2019-08-01 20:39:57 · 288 阅读 · 0 评论 -
王道考研 ++++ 二叉树层次遍历(C语言)
#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#define MaxSize 101typedef struct LTree{ char data; struct LTree *lchild,*rchild;}LTree,*BiTree;typedef struct...原创 2019-07-28 12:11:38 · 835 阅读 · 1 评论 -
王道考研 ++++ 二叉树的递归遍历(C语言先序、中序、后序)
递归:#include<stdio.h>#include<stdlib.h>typedef struct BiTNode{ char data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;void PreOrderTraverse(BiTree T)//二叉树的先序遍历{ i...原创 2019-07-27 14:16:12 · 462 阅读 · 0 评论 -
王道考研 ++++ 栈-括号匹配问题(C语言)
边进边匹配#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#define MaxSize 20typedef struct{ char data[MaxSize]; int top;}LNode;/*初始化栈*/void Init(LNode *S){ S-...原创 2019-07-14 13:25:51 · 454 阅读 · 0 评论 -
王道考研 ++++ 表达式求值(C语言 中缀表达式转换为后缀表达式+代码)
参考博文:https://blog.csdn.net/sgbfblog/article/details/8001651 实现一、后缀表达式求值后缀表达式也叫逆波兰表达式,其求值过程可以用到栈来辅助存储。假定待求值的后缀表达式为:6523+ 8 * + 3+*,则其求值过程如下:1)遍历表达式,遇到的数字首先放入栈中,此时栈如下所示:2)接着读到“+”,则弹出...原创 2019-07-14 10:34:25 · 2541 阅读 · 0 评论 -
csp 最大的矩形
问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。 请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给出的例子,最大矩形如下图所示的阴影部分,面积是10。 输入格式 第一行包含...原创 2018-12-05 22:22:53 · 484 阅读 · 0 评论 -
NYOJ 汉诺塔(三)
汉诺塔(三)时间限制:3000 ms | 内存限制:65535 KB难度:3描述在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必...原创 2018-11-27 17:04:54 · 168 阅读 · 2 评论 -
王道考研 ++++ 双链表(C语言 前后遍历)
#include <stdio.h>#include <stdlib.h>typedef struct LNode{ int data; struct LNode* prior,* next;}LNode,*LinkNode;LinkNode S,Head,Trail,End;void Delete();void TailInsert();v...原创 2019-08-01 20:54:38 · 265 阅读 · 0 评论 -
活动安排
题目描述设有 nn 个活动的集合 E=\{1,2,..,n\}E={1,2,..,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活动 ii 都有一个要求使用该资源的起始时间 s_isi 和一个结束时间 f_ifi,且 s_i<f_isi<fi。如果选择了活动 ii ,则它在时间区间 [s_i,f_i)[si,fi) 内...原创 2018-12-04 22:16:01 · 724 阅读 · 0 评论 -
王道考研 ++++ 并查集(C语言 对应题目--冗余关系)
#include <stdio.h>#define Max 1001int Father[Max];//记录某点的 父节点int Ranki[Max];//秩 记录总共有多少个节点//查找父节点int FindFather(int Child){ if(Father[Child] == Child)return Child;//返回最高父节点 else re...原创 2019-08-01 21:06:15 · 492 阅读 · 0 评论 -
王道考研 ++++ Dijkstra 迪杰斯特拉算法
#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <string.h>#define MaxSize 100#define INF 1000001typedef struct EageTable{ int node,len; struct Ea...原创 2019-08-14 10:48:40 · 1393 阅读 · 0 评论 -
王道考研 ++++ 堆排序
#include <stdio.h>#include <stdlib.h>void swap(int *a,int *b);void adjustdown(int *list,int k,int size);void HeadSort(int *list,int size);void swap(int *a,int *b){ int temp = *a;...原创 2019-08-31 11:24:23 · 689 阅读 · 0 评论 -
王道考研 ++++ 快速排序
#include <stdio.h>#include <stdlib.h>int i = 0;void swap(int *a,int *b);int getpivot(int *list,int L,int R);int* quicksort(int *list,int L,int R,int size);void swap(int *a,int *b){...原创 2019-08-30 10:01:53 · 777 阅读 · 0 评论 -
王道考研 ++++ 冒泡排序
#include <stdio.h>#include <stdlib.h>void BubbleSort(int *list,int size){ int i,j; for(i = 0;i < size-1;i++) { for(j = 0;j < size-i-1;j++) if(list[j] > list[j+...原创 2019-08-30 10:00:34 · 464 阅读 · 0 评论 -
王道考研 ++++ 希尔排序
#include <stdio.h>#include <stdlib.h>/*希尔排序*/int* shellsort(int size,int init,int *list){ int i,j,dk; for(dk = init;dk >= 1;dk /= 2) {//间隔 每次折半 for(i = dk+1;i <= size;...原创 2019-08-27 15:03:34 · 552 阅读 · 0 评论 -
王道考研 ++++ 直接插入排序
#include <stdio.h>#include <stdlib.h>/*插入排序*/int* Insertsort(int *list,int size){ int i,j; for(i = 2;i <= size;i++) { list[0] = list[i]; for(j = i-1;list[0] < lis...原创 2019-08-27 10:18:23 · 514 阅读 · 0 评论 -
王道考研 ++++ KMP算法
#include <stdio.h>#include <stdlib.h>#include <string.h>#define MaxSize 100/*构造match数组*/void BuildMatch(char *pattern,int *match){ int n = strlen(pattern); int dis = 1,s ...原创 2019-08-26 08:29:11 · 816 阅读 · 0 评论 -
王道考研 ++++ 二分查找
#include <stdio.h>#include <stdlib.h>int cmpfunc (const void * a, const void * b){ return ( *(int*)a - *(int*)b );}int Biserch(int key,int n,int values[]){ int L = 0,R = n - 1...原创 2019-08-18 10:45:03 · 323 阅读 · 0 评论 -
王道考研 ++++ Kruskal 克鲁斯卡尔算法
#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#define MaxSize 100typedef struct GraphEage{ int front,rear,len; struct GraphEage *next;}GraphEage;int Father[M...原创 2019-08-13 11:07:36 · 384 阅读 · 0 评论 -
王道考研 ++++ Prim 普里姆算法
#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <string.h>#define MaxSize 100#define INF 1000001typedef struct EageTable //边表{ int eageNode,eageLe...原创 2019-08-12 11:11:55 · 596 阅读 · 0 评论 -
王道考研 ++++ 图的深度优先搜索
#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <string.h>#define MaxSize 100typedef struct EageTable //边表{ int eageData; //值 struct E...原创 2019-08-10 22:15:43 · 309 阅读 · 0 评论 -
王道考研 ++++ BFS单源最短路径
#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <string.h>#define MaxSize 100#define INF 1000001typedef struct EageTable //锟竭憋拷{ int eageData; ...原创 2019-08-10 21:48:09 · 444 阅读 · 0 评论 -
王道考研 ++++ 图的广度优先搜索
#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#define MaxSize 100typedef struct EageTable //边表{ int eageData; //值 struct EageTable *next; //指向下一条弧}E...原创 2019-08-10 13:44:38 · 428 阅读 · 0 评论 -
王道考研 ++++ Floyd 弗洛伊德算法
#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <string.h>#define MaxSize 100#define INF 1000001int Graph[MaxSize][MaxSize];/*弗洛伊德算法*/void Floyd(in...原创 2019-08-14 11:23:28 · 676 阅读 · 0 评论 -
邓俊辉算法训练营习题 楼尔邦德(二分)
楼尔邦德时间限制:2 sec空间限制:256 MB问题描述给定包含 n 个数的序列 A。再给出 Q 个询问,每个询问包含一个数 x,询问的是序列 A 中不小于 x 的最小整数是多少(无解输出-1)。输入格式第一行一个数 n,表示序列长度。第二行 n 个用空格隔开的正整数,描述序列中的每一个元素。保证这些元素都不会超过 10^9。第三行一个正整数 Q,表示询问个数。...原创 2018-10-23 17:22:40 · 838 阅读 · 0 评论 -
算法常用模板
转载自:https://blog.csdn.net/qq_32265245/article/details/530467500.头文件#define _CRT_SBCURE_NO_DEPRECATE#include &lt;set&gt;#include &lt;cmath&gt;#include &lt;queue&gt;#include &lt;stack&转载 2018-10-22 11:48:34 · 769 阅读 · 0 评论 -
1006. 求和游戏
Description石柱上有一排石头键盘,每个键上有一个整数。请你在键盘上选择两个键,使这两个键及其之间的键上的数字和最大。如果这个最大的和不为正,则输出“Game Over"。Input Format第1行:键的个数n。第2..n+1行:键上的数字整数 a i ai 。−100≤a i ≤100 −100≤ai≤100对于70%的数据,2≤n≤1,000 2≤n≤1,...原创 2018-10-19 20:34:49 · 207 阅读 · 0 评论 -
邓俊辉算法训练营 归并排序
#include <bits/stdC++.h>using namespace std;int temp[100001];void marge(int line[],int L,int mid,int R){ int i = L, j = mid + 1; int m = mid, n = R; int k = 0; // printf(...原创 2018-10-16 21:40:08 · 960 阅读 · 0 评论 -
邓俊辉算法训练营 分组(暴力实现)
分组描述有n个正整数排成一排,你要将这些数分成m份(同一份中的数字都是连续的,不能隔开),同时数字之和最大的那一份的数字之和尽量小。输入输入的第一行包含两个正整数n,m。接下来一行包含n个正整数。输出输出一个数,表示最优方案中,数字之和最大的那一份的数字之和。样例1输入5 22 1 2 2 3样例1输出5样例1解释若分成2和1、2、2、3,则最大的那一份是1+2...原创 2018-10-16 21:33:54 · 1610 阅读 · 0 评论