算法
zhang_li_yang
这个作者很懒,什么都没留下…
展开
-
简单树状数组-poj2352
【树状数组】数星星(POJ2352 star)Time Limit:1000MS Memory Limit:65536KTotal Submit:23 Accepted:16 题目:http://poj.org/problem?id=2352Description 天文学家经常观察星象图。星象图中用平面上的点来表示一颗星星,每一颗星星都有一个笛卡尔坐标。设定星星的等级为其原创 2013-04-04 11:10:49 · 792 阅读 · 0 评论 -
插入排序
#includeusing namespace std; void Insert_Sort(int array[], int len){//在未排序的数中选举一个数插入已经排好序的数组中 for (int i = 1; i < len; i++) { int k = i; int tmp = array[k]; for (int j = i - 1; j >= 0; j--原创 2015-03-07 19:56:28 · 485 阅读 · 0 评论 -
poj3295-Tautology
/*大致题意:输入由p、q、r、s、t、K、A、N、C、E共10个字母组成的逻辑表达式,其中p、q、r、s、t的值为1(true)或0(false),即逻辑变量;K、A、N、C、E为逻辑运算符,K --> and: x && yA --> or: x || yN --> not : !xC --> implies : (!x)||yE --> equals原创 2013-07-22 22:59:40 · 683 阅读 · 0 评论 -
poj并查集
这两天学习了下并查集,顺便A了几题,感觉大体都是一样的,主要是对3个函数的应用,makeset(),find(),unionset().这里直接把我A的题目给出来。。。都是简单的。。。,后面的题目会继续A的。。。。poj2524:#includeint fa[50005];int rank[50005];int n,m,result;int make(int x){ fa[x]原创 2013-08-06 09:05:40 · 906 阅读 · 0 评论 -
poj1328
题目大意:给定几个点,求用几个雷达能覆盖全部的点,输入的点为坐标,雷达的半径首先给定!贪心求解:#include#includedouble x[1005],y[1005];double left[1005],right[1005];double r;int n,flag,test;int main(){ test=1; while(scanf("%d%lf",&n,&r原创 2013-08-06 08:56:24 · 660 阅读 · 0 评论 -
poj2488-搜索
判断给定的棋盘,马是否能遍历完所有的点,能遍历完就打印路径,否则输出不可能!代码:#include#includeint movex[8]={-2,-2,-1,-1,1,1,2,2};int movey[8]={-1,1,-2,2,-2,2,-1,1};//这个顺序不能变 int flag;//是否可能的标志量int a,b;//给定棋盘大小int pathx[26],path原创 2013-05-04 21:21:44 · 708 阅读 · 0 评论 -
poj1111-搜索
#include#includechar maze[25][25];int map[25][25];int visit[25][25];int movex[8]={0,0,1,-1,1,1,-1,-1};int movey[8]={1,-1,0,0,1,-1,1,-1};int m,n,s,t,l;void dfs(int a,int b){//深度搜索 int x,y,i;原创 2013-05-04 09:17:51 · 631 阅读 · 0 评论 -
杭电1238—搜索入门题目&&字符串处理
开始感觉这题很简单,直接暴力就行!!!但是显而易见,暴力是解决不了问题的,,特别是这题作为亚洲区预选赛的题目、、、、就更没那么容易过了。题目大意是这样的:给定一些字符串,类似最长公共子串,但是有点不同的是这题要考虑反串的情况,即如果反串满足最长子串,那同样是可以的。。。 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1238原创 2013-04-21 15:15:32 · 757 阅读 · 0 评论 -
杭电1312-搜索
深度优先搜索:#include#include#includeint n,m;int hash[30][30];//记录是否是。 char map[30][30];//迷宫,要初始化 void DFS(int x,int y){ if(x>n||y>m||hash[x][y]||map[x][y]=='#') return;//走过了,则原创 2013-04-26 20:52:23 · 1186 阅读 · 0 评论 -
杭电1242-搜索专题&&迷宫问题
本题和前面搜索题目有一点区别,前面的题目都是从起点开始搜索,而本题是从终点开始搜索,因为起点不止一个!!!!题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1242AC代码:#include#includeint m,n,flag,min;int startx,starty,endx,endy;int movex[]={1,0,-1原创 2013-04-24 20:26:11 · 769 阅读 · 0 评论 -
三元祖实现矩阵转换2-(跳着找,顺着存)
代码:#include#includetypedef struct { int i,j; int v;//值}triple;typedef struct{ triple data[100]; int m,n,t;//行数,列数,元素数}tripletable;tripletable transmatrix(tripletable a){ tripletable b;原创 2013-04-10 20:51:39 · 977 阅读 · 0 评论 -
三元组实现矩阵转换1-(跳着找,顺着存)
代码:#include#includetypedef struct { int i,j; int v;//值}triple;typedef struct{ triple data[100]; int m,n,t;//行数,列数,元素数}tripletable;tripletable transmatrix(tripletable a){ tripletable b;原创 2013-04-10 20:14:05 · 1519 阅读 · 0 评论 -
KMP算法详解
KMP字符串模式匹配详解来自CSDN A_B_C_ABC 网友KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n).。一. 简单匹配算法先来看一个简单匹配算法的函数:int Index_BF ( char S [ ], char T [ ], int po原创 2013-03-27 15:20:21 · 622 阅读 · 0 评论 -
杭电1290 切蛋糕
献给杭电五十周年校庆的礼物Problem Description或许你曾经牢骚满腹或许你依然心怀忧伤或许你近在咫尺或许你我天各一方对于每一个学子母校 永远航行在生命的海洋今年是我们杭电建校五十周年,这是一个值得祝福的日子。我们该送给母校一个怎样的礼物呢?对于目前的大家来说,最好的礼物当然是省赛中的好成绩,我不能参赛,就送给学校一个DOOM原创 2013-03-24 15:51:03 · 950 阅读 · 0 评论 -
杭电1297-Children’s Queue
这道题是排序问题,可以用递归方法解决。计算F(n):一:当最后一个是男孩M时候,前面n-1个随便排出来,只要符合规则就可以,即是F(n-1);二:当最后一个是女孩F时候,第n-1个肯定是女孩F,这时候又有两种情况: 1)前面n-2个可以按n-2个的时候的规则来,完全可以,即是F(n-2); 2)但是即使前面n-2个人不是合法的队列原创 2013-03-23 23:34:00 · 849 阅读 · 0 评论 -
迷宫问题的非递归解
问题描述:求迷宫中从一个入口到出口的所有路径是一个经典的程序设计问题。由于计算机解迷宫时,通常用的是“穷举求解”的方法,即从入口出发,顺某一方向向前探索,若能走通,则继续往前走;否则沿原路返回,换一个方向再继续探索,直到所有可能的通路都探索到为止;假如所有可能的通路都探索到而未能到达出口,则所假定的迷宫没有解#include#include#define MAX 100typedef str原创 2013-03-24 15:45:12 · 1870 阅读 · 0 评论 -
选择排序
#includeusing namespace std;void Select_Sort(int array[], int len){//算法思想:每次从待排序的序列中选举最大(最小)的一个数放在第一个位置 for (int i = 0; i < len; i++) { for (int j = i + 1; j < len; j++) { int tmp; if原创 2015-03-07 19:11:07 · 404 阅读 · 0 评论