be17
H2oooooooooooooooooo
这个作者很懒,什么都没留下…
展开
-
归并排序、二路归并排序
#include<iostream>#include<cstdlib>#define MAX_LENGTH 100 //测试数据量typedef int TYPE;using namespace std;template <typename T>void ReMergerSort(T Array[], T TempArray[], i...原创 2015-06-06 01:09:14 · 534 阅读 · 0 评论 -
hdu 1044 Collect More Jewels(BFS+DFS)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1044题目大意:T组测试数据W宽H高L时间限制M多少个宝石m1……mM 宝石的价值W*H矩阵在限制时间内,从‘@’到‘思路:BFS:求出任意两点之间的最短距离(含’@‘与’DFS:求最大价值。1.原创 2015-10-24 00:37:36 · 442 阅读 · 0 评论 -
hdu 1072 Nightmare(BFS法和DFS法)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1072题目大意:0为墙1为路2为起点3为终点4为炸弹走到任意一个炸弹都可以将所有炸弹重置倒计时6minutes每走一个位置需要1minutes问从2到3需要的最少时间DFS法更快。BFS法好理解。思路:两种方法都需理解一点:同一个炸弹位置当原创 2015-10-24 17:05:45 · 1101 阅读 · 0 评论 -
hdu 2717 Catch That Cow(BFS)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2717题目大意:从N到K最少需要几步两种移动方式:1. pos+1或者pos-12. pos*2简单的BFS。代码如下:#include#include#include#include#includeusing namespace原创 2015-10-23 00:02:25 · 396 阅读 · 0 评论 -
hdu 5455 Fang Fang
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=5455题目大意:判断最少有几个Fi。特殊情况:1.全部为f2.出现c、f之外的字母代码如下:#include#include#include#includeusing namespace std;int main(){原创 2015-09-19 19:20:35 · 416 阅读 · 0 评论 -
hdu 1372 Knight Moves(BFS)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1372题目大意:横坐标为a~h纵坐标为1~8求从A位置到B位置所走的最少步数。走的方式为中国象棋中马的八种方式。代码如下:#include#include#include#includeusing namespace std;const in原创 2015-10-21 22:22:49 · 378 阅读 · 0 评论 -
hdu 1548 A strange lift(BFS)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1548题目大意:N个数从A层开始到B层N层依次能上升或者下降的层数代码如下:#include #include#include#include#includeusing namespace std;const int MAXN=200+5;int原创 2015-10-21 22:29:16 · 384 阅读 · 0 评论 -
hdu 2514 Another Eight Puzzle(DFS暴搜)
原题链接:hdu 2514题目大意:任意两个连线相邻的数,不能连续。即abs(x-y)!=1思路:与数独题做法如出一辙。用DFS暴搜所有情况,对结果进行检查。代码如下:#include#include#include#includeusing namespace std;const int MAXN=10;int num[MAXN原创 2015-11-03 19:27:05 · 448 阅读 · 0 评论 -
hdu 5437Alisha’s Party(优先队列)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=5437Tk m qk个人及其礼物价值m次开门q次询问i j题目大意:每次开门到第i个中前j个礼物价值最高的进入(已进入的人不算)。注意:1.给定m次开门的顺序是乱序。2.不开门3.礼物价值相等,先到者先进代码如下:#原创 2015-09-14 22:56:53 · 451 阅读 · 0 评论 -
hdu 5441 Travel(并查集应用)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=5441题目大意:n个点的无向图,m条边的边权,q次询问,每次给出一个值,求用到所有边权不大于这个值的边的情况下,能够互相到达的点对的个数(自己到自己不算,(a,b)与(b,a)不相同)因为(a,b)与(b,a)不相同,所以n个点的点对数为n*(n-原创 2015-09-15 08:36:46 · 446 阅读 · 0 评论 -
hdu 5438 Ponds(拓扑应用、DFS)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=5438题目大意:p个池塘 m个连同渠p个池塘的价值m个连通渠的u与v小于两个连同渠的池塘去掉。找到剩余的连通的池塘,并且只加连通的池塘的总个数为奇数个的连通块的价值。详见代码(写的很繁琐很差劲,哎,但还是分享下吧。):#include#原创 2015-09-14 22:49:17 · 375 阅读 · 0 评论 -
hdu 5444 Elven Postman(搜索二叉树)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=5444题目大意:测试数据T个。n个结点。第一个数为根结点(左边>右边)。q个询问。找到对应数值的位置。左移输出‘W’,右移输出‘E’,为根结点则只输出换行。代码如下:#include#include#include#include原创 2015-09-14 22:20:34 · 484 阅读 · 0 评论 -
uva 247 Calling Circles(fioyd传递闭包和DFS)
原题链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=4&page=show_problem&problem=183题目大意:输出每个电话圈中的人。电话圈中的任意一个人可以直接或者间接给圈内的任意其他人打电话。注意输出:' , '后有空格,每两原创 2015-08-22 23:59:01 · 514 阅读 · 0 评论 -
hdu 1058 Humble Numbers(dp)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1058题目大意:若一个数的所有素因子是2,3,5,7中的一个或多个,则称该数为Humble Numbers求第n个Humble Numbers。分析:Humble Numbers的2,3,5,7倍也是Humble Numbers。注意处理过程中相同的数。原创 2015-08-21 20:55:38 · 356 阅读 · 0 评论 -
hdu 5491 The Next
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=5491题目大意:T组测试数据。L,S1,S2。L的二进制中有x个1,x满足 S1求满足S1代码如下:#include#include#includeusing namespace std;const int MAXN=40;int原创 2015-09-27 22:59:44 · 1049 阅读 · 0 评论 -
hdu 5475 An easy problem
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=5475题目大意:Q个询问,结果取模M。x==1,累乘。x==2,除以第n个数。技巧:把除以第n个数看成不乘第n个数。即可不影响取余结果。代码如下:#include#include#includeusing namespac原创 2015-09-26 19:48:46 · 784 阅读 · 0 评论 -
hdu 2064 Queuing (递推)
原理连接:http://acm.hdu.edu.cn/showproblem.php?pid=2604递推公式:F(n)=F(n-1)+F(n-3)+F(n-4)在保证不重复且满足的条件的情况下,(自己可通过排除的方法得到以下)F(n-1) 末尾为 mF(n-3) 末尾为 mmfF(n-4) 末尾为 mmff从而得出递推公式。还需原创 2015-08-20 22:21:17 · 499 阅读 · 0 评论 -
hihoCoder 北京网络赛 #1234 : Fractal
原题链接:http://hihocoder.com/problemset/problem/1234题目大意:以A0(0,0), B0(0,1), C0(1,1), D0(1,0)四个点组成的正方形,每次取边A0B0, B0C0, C0D0, D0A0的中点相连,能得到新的正方形,按此操作1000次。#include#includeusing na原创 2015-09-22 10:46:10 · 543 阅读 · 0 评论 -
hihoCoder #1227 : The Cats' Feeding Spots
原题链接:http://hihocoder.com/problemset/problem/1227题目大意:T组测试数据。m个点,以任意一点为圆心求一个最小半径r将n个点圈起来。(边界上不允许有点)代码如下:#include#include#include#include#include;using namespace std;const i原创 2015-09-22 12:33:16 · 485 阅读 · 0 评论 -
hdu 3500 Fling (DFS+方法)
原题链接:hdu 3500题目大意:7*8棋盘 不超过12个小球以一个球击另一个球的方式将球击出棋盘,胜利的条件:最后只剩一个球。1.两个球紧挨着推不动。2.球会停在碰到下一个球时的位置。(例如:从左边击中球(3,4),则原球会停在(3,3))3.不考虑动能损耗。4.如果有多种情况就按照越左上角越好和U,L,R,D的优先级输出原创 2015-11-09 20:27:17 · 665 阅读 · 0 评论 -
Java基础
public interface in { int i=0; //public static final int i=0; void method(); //public abstract void method(); }Interface1. 接口中的成员变量默认都是public、static、final类型的,必须被显式初始化2. 接...转载 2018-08-21 11:46:27 · 145 阅读 · 0 评论 -
code[vs]最小生成树 1078,1231
1078题目链接:code[vs] 10781231题目链接:code[vs] 1231普里姆算法(Prim)和克鲁斯卡尔算法(Kruskal)。普里姆算法(自己的语言描述的可能有些不准确):从任意一个结点出发,找出当前所连接结点全部路径中所最短的路径且满足下一个结点未访问过,直到把所有结点连接起来。克鲁斯卡尔算法(自己的语言描述的可能有些不准确原创 2015-11-24 23:00:26 · 501 阅读 · 0 评论 -
hdu 1455 Sticks(DFS+剪枝)
原题链接:hdu 1455题目大意:n个木棒,求原来木棒最短的长度(每个木棒等长且在数量上无限制,木棒可以未被折断过)。思路:DFS。三个参数,当前长度,当前遍历位置,当前已构成最短长度的个数。注意剪枝。从大到小排序,可以减少递归次数,不难理解。详见代码:#include#include#include#includ原创 2015-11-02 19:11:44 · 578 阅读 · 0 评论 -
uva 140 Bandwidth(暴搜+剪枝)
原题链接:UVA 140参考刘汝佳书《算法竞赛入门经典(第二版)》P195.我是搬运工。枚举所有可能序列。找到最终解。剪枝:当目前最小带宽小于等于正在判断的两个结点距离时,应当剪掉。注意题目的中 ‘#’ 代码如下:#include#include#include#原创 2015-10-31 01:28:14 · 427 阅读 · 0 评论 -
uva 129 Krypton Factor (DFS+巧妙的判断方法)
原题链接:UVA 129参考刘汝佳书《算法竞赛入门经典(第二版)》P195.我是搬运工。1.记录字母到‘A’的差值。2.由于前面的子串已经判断过,所以只需判断含有新加字符的所有后缀子串。3.注意输出格式代码如下:#include#include#includeusing namespace std;const in原创 2015-10-29 23:06:12 · 430 阅读 · 0 评论 -
hdu 1325 Is It A Tree?(方法)
原题链接:hdu 1325题目大意:正如题目名字一样,判断是否一棵树。判断两个条件:1.是否有结点有两个父结点2.是否是森林思路:1.并查集一样存父结点,在存时判断是否已有父结点。2.判断是否是森林:找到所有根结点代码如下:#include#include#includeusing namespace std原创 2015-11-15 00:18:25 · 458 阅读 · 0 评论 -
hdu 1829 A Bug's Life(并查集+偏移向量)
原题链接:hdu 1829题目大意:T组n个1-n编号的昆虫,m个关系判断您是否有同性别的。思路:在fa[]数组上多开一个存关系的数组,在压缩路径和合并字块时调整关系。两个调整关系的关系式穷举法,均可证明其正确性。(自己推也挺简单的)代码如下:#include#include#include#includeusin原创 2015-11-14 23:27:01 · 470 阅读 · 0 评论 -
hdu 2047 阿牛的EOF牛肉串(递推)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2047思路:1 233 8221 26 //O的数量开两个数组记录3 8 22 1 2 6然后就做完了。代码如下:#include#includeusing namespace std;int main(){原创 2015-10-13 19:10:29 · 424 阅读 · 0 评论 -
hdu 1104 Remainder(BFS)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1104题目大意:n,k,mn可以 +-*% m,最后求的 n mod k==(初始n+1)mod k%与mod区别:%的得数可以有正有负,其正负取决于被除数mod的得数只能为正1.需要处理下%后的正负问题.不难理解:n mod k原创 2015-10-28 20:40:31 · 385 阅读 · 0 评论 -
hdu 1242 Rescue(方法一:BFS+优先队列,方法二:DFS)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1242题目大意:‘a’到‘r’所需最少时间。‘#’墙,‘x’花费两个时间,‘.’花费一个时间。由于‘x'与’.‘的时间不一样,所以不能直接bfs,要用优先队列排下序。代码如下:#include#include#include#includ原创 2015-09-26 01:02:06 · 777 阅读 · 0 评论 -
hdu 1426 Sudoku Killer(DFS暴搜)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1426思路:记录下‘?’的位置,挨个位置从1-9暴搜。关键在于处理好输入。代码如下:#include#include#include#includeusing namespace std;typedef pairii;const i原创 2015-10-27 11:43:32 · 445 阅读 · 0 评论 -
hdu 1016 Prime Ring Problem(DFS)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1016思路:DFS……代码如下:#include#include#includeusing namespace std;const int MAXN=100;const int N=20;int ans[N],n,num;bool vis[N原创 2015-10-27 20:11:02 · 384 阅读 · 0 评论 -
hdu 2553 N皇后问题(回溯法)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2553关键在于怎么判断主副对角线是否有皇后:j表示纵坐标,i表示横坐标。(注意这不是数学中那个一般的二维坐标系)主对角线易得出j==i,所以有 j1 - i1 == j2 - i2;副对角线易得出 j1 + i1 ==j2 + i2;详见代码。原创 2015-10-26 20:26:27 · 451 阅读 · 0 评论 -
sdnu 1091 .守望者的逃离 (NOIP 2007 普及组)
原题链接:http://210.44.14.31/problem/show/1091思路:记录两个变量:1.一直在跑的距离2.一直在闪烁的距离当闪烁快时,把跑的距离重新赋值为闪烁的距离。每一秒判断是否逃离岛。此做法认真思考下,还是比较好理解的。代码如下:#include#include#includeusing namesp原创 2015-10-11 23:32:47 · 645 阅读 · 0 评论 -
hdu 2612 Find a way(BFS)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2612题目大意:Y与M到任意一个'@'所需最少时间。思路:两遍BFS计算出Y到任意一个’@‘的所需时间以及M到任意一个’@‘的所需时间,求和的最小值。哎,挺简单的就是不知道最初写的哪有bug。求bug。。T.T正确代码如下:原创 2015-10-26 00:04:02 · 544 阅读 · 0 评论 -
hdu 5461 Largest Point
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=5461小技巧:把ti计算成ti*ti的形式。代码如下:#include#include#include#includeusing namespace std;typedef long long LL;typedef pair PLL;//fi原创 2015-09-19 20:20:45 · 819 阅读 · 1 评论 -
hdu 5477 A Sweet Journey
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=5477题目大意:T组测试数据。n个沼泽,沼泽每米-A点血,道路每米+B的点血,路总长为L。问起点最少需要多少血走完全程。代码如下:#include#include#include#includeusing namespace std;const原创 2015-09-26 20:17:49 · 428 阅读 · 0 评论 -
hdu 1010 Tempter of the Bone(DFS+剪枝)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1010题目大意:n*m的棋盘,S起点,D终点,X墙壁。特别注意问题: S起第 t 次到达D。(而不是t步以内)单纯DFS会TLE。可以处理两个地方:1.在棋盘上能走的总步数小于要求的t步数时,直接输出NO2.剪枝:首先,易知道(abs(ex-原创 2015-09-25 00:01:23 · 351 阅读 · 0 评论 -
hdu 4287 sdnu 1119 Intelligent IME
原题链接:hdu: http://acm.hdu.edu.cn/showproblem.php?pid=4287sdnu: http://210.44.14.31/problem/show/1119别人实在是太巧妙了,自己写的差太多了。逆向思考.数字串可以对应多个字母串。但是 一个字母串只对应一个数字串。利用map写,更是轻松。代码如下:原创 2015-08-20 00:13:42 · 602 阅读 · 0 评论 -
hdu 2602 Bone Collector(经典dp)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602题目大意:给你n个骨头和一个容积为v的袋子。求能盛下骨头的最大价值。状态转移方程:dp[ j ] = max(dp[ j ], dp[ j - boneV[i] ]+bonevalue[ i ]);代码如下:#include原创 2015-08-27 23:35:13 · 109 阅读 · 0 评论