- 博客(27)
- 资源 (3)
- 收藏
- 关注
原创 nyoj-1071 不可以!【水】
不可以!时间限制:1000 ms | 内存限制:65535 KB难度:1描述 判断:两个数x、y的正负性。要求:不可以使用比较运算符,即"","=","==","!="。输入 有多组数据,每组数据占一行,每一行两个数x,y。x、y保证在int范围内。输出 每组数据输出占一行。如果两个数是一正一负,输出"Signs are op
2015-08-29 16:21:05 1211
原创 hdoj-2019 数列有序!【水】
数列有序!Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 59240 Accepted Submission(s): 25564Problem Description有n(n Input输入
2015-08-28 23:06:02 1322
原创 hdoj-2018 母牛的故事【水&&递归】
母牛的故事Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 53630 Accepted Submission(s): 26935Problem Description有一头母牛,它每年年初生一头小母牛。每头小母
2015-08-28 20:47:21 935
原创 hdoj-2015 偶数求和【水】
偶数求和Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 58769 Accepted Submission(s): 25679Problem Description有一个长度为n(n Input
2015-08-28 15:54:08 1077
原创 算法记录---最小生成树【kruskal&&prim】
生成树 给定一个无向图,如果它的某个子图中任意两个顶点都互相连通并且是一棵树。生成树不唯一 最小生成树: 如果边上有权值,那么使得权值和最小的生成树叫做最小生成树两种常用的构造最小生成树的方法:1.克鲁斯卡尔算法(从边入手)2.普里姆算法(从点入手Kruskal算法思想: 按照边的权值的顺序
2015-08-26 09:26:20 699
原创 hdoj-1201 18岁生日【日期和时间处理】
http://acm.hdu.edu.cn/showproblem.php?pid=1201以3月为界 三月之前的从当前判断是否是闰年 否则从下一年判断是否是闰年AC code:#includeint runnian(int y){ if(y%4==0&&y%100!=0||y%400==0) return 1; else retur
2015-08-24 09:51:50 748
原创 hdoj-1248【水&&floyd】
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1248这道题可以用最短路径floyd做 但是没想起来 哪位大神知道 还望指教#includeint main(){ int i,k,j,t,n,temp; while(~scanf("%d",&t)) { while(t--) { scanf("%d",&n);
2015-08-21 23:05:00 649
原创 hdoj-2066 一个人的旅行【最短路径--dijkstra&&spfa&&floyd】
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2066解题思路:把城市a,b看成起点和终点,time看成两者之间的距离 从而转化成最短路径问题该题中有多个起点终点 求出每个起点到每个终点的最短路径 取在这些最短路径中的最小值注意:本题没有给出城镇的个数n 但floyd中刻画第几个节点时会用到 所以需要自己去找
2015-08-21 22:39:16 737
原创 hdoj-1869 六度分离【最短路径--dijkstra&&spfa&&floyd】
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1869解题思路: 转化成最短路径问题,如果两人认识,把两者之间距离看成1 如果任意两人之间隔着7个人及其以上 (即距离>7) 则不满足六度分离 spfa:#include#include#include#define INF 0x3f3f3f3f
2015-08-21 18:57:46 678
原创 hdoj-1874 畅通工程续【最短路径--dijkstra&&floyd&&spfa】
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1874本题需要注意的地方是起点终点并不是第一个 最后一个 是另外给定的如果不存在从S到T的路线,就输出-1 说明S和T之间无道路连通 T到S的距离(即dis[t])为INF dijkstra:#include#include#include#define maxn
2015-08-21 17:26:11 578
原创 hdoj-2544 最短路【最短路径--dijkstra&&spfa&&floyd】
题目http://acm.hdu.edu.cn/showproblem.php?pid=2544模板题#include#include//memset#include//min#define INF 0x3f3f3f3f#define maxn 110using namespace std;//algorithmint n,m,map[maxn][maxn],dis
2015-08-18 12:25:15 822
原创 hdoj-1301 Jungle Roads 【最小生成树】
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1301 题目可长 而且还是英文 没必要一字一句的去读题 可以根据下面的输入输出和图来搞清题意
2015-08-13 10:51:14 624
原创 hdoj-1875 畅通工程再续【最小生成树--prim&&kruskal】
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1875算法的基本思想: 普里姆算法是另一种构造最小生成树的算法,它是按逐个将顶点连通的方式来构造最小生成树的。 从连通网络N = { V, E }中的某一顶点u0出发,选择与它关联的具有最小权值的边(u0, v),将其顶点加入到生成树的顶点集合U中。以后每一步从 一个
2015-08-13 08:31:30 589
原创 算法痕迹---并查集
模板1.初始化2.找根节点3.合并 int per[1100];void init(){ for(int i =1; i <= N; ++i) per[i] = i;//初始化 起初每个节点都是独立的 父节点是本身 }int find(int x){//find函数 寻找根节点 int r = x; while(r != per[r])
2015-08-12 09:33:38 1073
原创 hdoj-1232 畅通工程【并查集】
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1232#includeint per[10100];void init(int N){ int i; for(i=1;i<=N;++i) { per[i]=i;//初始化 起初每个节点都是独立的 父节点是本身 }}int
2015-08-12 00:19:19 1244
原创 hdoj-1233 还是畅通工程【最小生成树--kruskal】
题目详见http://acm.hdu.edu.cn/showproblem.php?pid=1233 克鲁斯卡尔算法是在剩下的所有未选取的边中,找最小边,如果和已选取的边构成回路,则放弃,选取次小边。基本思想 先构造一个只含 n 个顶点、而边集为空的子图,把子图中各个顶点看成各棵树上的根结点,之后,从网的边集 E 中选取一条权值最小的边,若该条边的两个顶点分属不同的树,
2015-08-11 23:37:18 971
原创 getchar() putch()的使用
getchar() putchar() getchar()获取从键盘输入的单个字符 putchar()将单个字符发送至屏幕 虽然getchar()获取单个字符,但除非按下Enter 键 否则控制不会返回程序 getchar() 函数命令C程序将输入放入缓冲区(buffer),按下Enter键后 缓冲区的内容以每次一个字符释放 所以 1.没有按下Ente
2015-08-11 17:26:49 2069
原创 hdoj-2141 Can you find it?【二分】
题目详见链接http://acm.hdu.edu.cn/showproblem.php?pid=2141
2015-08-10 18:53:10 523
原创 最长公共子序列(LCS)
什么是最长公共子序列 什么是最长公共子序列呢?举个简单的例子吧,一个数列S,若分别是两个或多个已知序列的子序列,且是所有符合条件序列中最长的,则S称为已知序列的最长公共子序列。 举例如下,如:有两个随机数列,1 2 3 4 5 6 和 3 4 5 8 9,则它们的最长公共子序列便是:3 4 5。 最长公共子串和最长公共子序列的区别
2015-08-10 11:50:00 592
原创 poj-1458 Common Subsequence
题目详见链接http://poj.org/problem?id=1458题目大意:输入多组测试数据 每组数据有两个字符串 输出最长公共子序列的长度 code:#include#include#define max(a,b) a>b?a:b;//#char s1[1010],s2[1010];//题目没有限定字符串长度 自己规定字符串区间 字符串长度一般不超过1000
2015-08-10 11:31:25 397
原创 hdoj-1686 Oulipo
题目详见链接http://acm.hdu.edu.cn/showproblem.php?pid=1686题目大意:求一个字符串在另一个字符串中出现的次数 (是包含不是分割)#include#include#define MAXN 10010char buf[MAXN*100],str[MAXN];//buf主串 str 标准串 int p[MAXN];int l
2015-08-08 17:42:19 426
原创 kmp算法
先看看next数据值的求解方法位序 1 2 3 4 5 6 7 8模式串 a b a a b c a cnext值 0 1 1 2 2 3 1 2next数组的求解方法是:1.第一位的next值为02.第二位的next值为1后面求解每一位的next
2015-08-07 15:46:07 470
原创 hdoj-2553 n 皇后问题【递归】
题目详见http://acm.hdu.edu.cn/showproblem.php?pid=2553 首先找出解空间:给棋盘的行和列都编上1到N的号码,皇后也给编上1到N的号码。由于一个皇后应在不同的行上,为不失一般性,可以假定第i个皇后将放在第i行上的某列。因此N皇后问题的解空间可以用一个N元组(X1,X2,.....Xn)来表示,其中Xi是放置皇后i所在的列号。这意味着所
2015-08-05 17:14:28 722
原创 hdoj-1042 N!
题目详见http://acm.hdu.edu.cn/showproblem.php?pid=1042搜索 对于大数(比如1000的阶乘)我们找不到一个数据类型存放这个数1.用数组模拟大数的运算。2.开一个比较大的整型数组,数组的元素代表数组的某一位。3.通过对数组元素的运算模拟大数的运算。4.将数组输出(最后去掉前导0,即如果结果是342,那么就不能输出
2015-08-05 16:07:49 612
原创 hdoj-2041 超级楼梯【递归】
题目详见链接http://acm.hdu.edu.cn/showproblem.php?pid=2041一楼梯共M级,刚开始在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?(1解题思路:斐波那契(Fibonacci)数列,1递推。f(1)=0,f(2)=1,f(3)=2;2当要走向n级的时候,有两种情况:(1) 先走向(n-1)级,有f(n-1)种情况,再一次走一级,只有一种选择
2015-08-03 15:58:56 1194
原创 寻找素数
求小于自然数N的所有素数。解决方案程序 1-1 经典算法经典的素数判定算法是这样:给定一个正整数n,用2到sqrt(n)之间的所有整数去除n,如果可以整除,则n不是素数,如果不可以整除,则n就是素数。所以求小于N的所有素数程序如下: #include #include #define N 1000000 int m
2015-08-01 18:32:47 579
原创 hdu网格中有多少个矩形【模拟】
给你一个高为n ,宽为m列的网格,计算出这个网格中有多少个矩形,下图为高为2,宽为4的网格. Input第一行输入一个t, 表示有t组数据,然后每行输入n,m,分别表示网格的高和宽 ( n < 100 , m < 100). Output每行输出网格中有多少个矩形. Sample Input21 22 4
2015-08-01 17:00:16 2742
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人