北大oj
蓝宇
这个作者很懒,什么都没留下…
展开
-
POJ 2488 _ DFS
大致题意:给出一个国际棋盘的大小,判断马能否不重复的走过所有格,并记录下其中按字典序排列的第一种路径。经典的“骑士游历”问题,DFS水题一道 解题思路:难度不大,但要注意的地方有3点: 1、 题目要求以"lexicographically"方式输出,也就是字典序...要以字典序输出路径,那么搜索的方向(我的程序是path()函数)原创 2012-06-19 23:41:02 · 466 阅读 · 0 评论 -
PRIM_poj 2349Arctic Network
题意:有两种不合的通信技巧,有卫星通信的两个城市之间可以随便率性联络,但用无线电通信的城市只能和间隔不跨越D的城市接洽。无线电的才能越高(即传输间隔D越大),花费就越大。已知无线电的数量m,让求最小的D。之前自己写的prim算法是O(n^3)的,当写到这道题TLE过后,我才发觉我的算法写的很挫,本来PRIM应该是O(n^2)的,所以又重写写了一下,把这题给A了#include#inclu原创 2012-03-26 20:35:27 · 281 阅读 · 0 评论 -
Prime_poj2031 Building a Space Station
题目意思很简单,就是给出一些点,让你搭建通路,使得他们能够相互连通起来,就是把他们连接成一颗树,其中每个点都是一个球,如果两个球有重叠的部分则算为连通。让我们求搭建通路的最小费用(费用和通路长度成正比)。显然这个是个最小生成树的问题,用那种都行,我用的是Prim算法/*Sample Input310.000 10.000 50.000 10.00040.000原创 2012-03-26 14:49:11 · 343 阅读 · 0 评论 -
Prim_poj2075 Tangled in Cables
题意:最小生成树问题,加上简单的字符串处理/*Sample Input100.04JonesSmithsHowardsWangs5Jones Smiths 2.0Jones Howards 4.2Jones Wangs 6.7Howards Wangs 4.0Smiths Wangs 10.0Sample OutputNeed 10.2 miles of ca原创 2012-03-26 21:33:26 · 338 阅读 · 0 评论 -
poj1143(Number Game)
题目大意: Christine和Matt玩一个游戏.游戏的规则如下:一开始有一列数字(2~20),有的被列出,有的没有列出.从Christine开始,两人轮流划去一个已被列出的数字.每划去一个数字,其他的所有的能被不在这个数列的数字的两两整线性表示的数也自动从数列原创 2011-10-06 01:58:53 · 1262 阅读 · 0 评论 -
poj1350(Cabric Number Problem)
感觉这道题听简单的、、、、、Cabric Number ProblemTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 7692 Accepted: 2359原创 2011-09-24 00:41:38 · 411 阅读 · 0 评论 -
poj 1125(Stockbroker Grapevine)Dijkstra算法
Stockbroker GrapevineTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 17918 Accepted: 9671Descrip原创 2011-09-21 13:29:18 · 456 阅读 · 0 评论 -
poj 1847(Tram) Dijkstra
TramTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 6000 Accepted: 2193DescriptionTram network原创 2011-09-21 22:13:31 · 497 阅读 · 0 评论 -
poj 3615(Cow Hurdles) floy 算法
Cow HurdlesTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 4082 Accepted: 1760DescriptionF原创 2011-09-20 22:40:22 · 475 阅读 · 0 评论 -
Prim_poj 1287 Networking
题意:给出一个具有n个顶点和m条边的图,求其最小生成树。#include#include#include#define MAXVN 55#define INF 10000000using namespace std;typedef struct{ int u,v,value;}Edge;typedef vector VE;VE eg[MAXVN];vecto原创 2012-03-26 14:59:02 · 321 阅读 · 0 评论 -
prime_poj 1287O(n^2) 邻接表实现
#include#include#include#define MAXN 60#define INF 1000000000using namespace std;typedef struct{ int v, value;}Edge;typedef vector VE;VE eg[MAXN];bool visited[MAXN];int LowValue[MAX原创 2012-03-26 23:14:35 · 412 阅读 · 0 评论 -
kruskal_poj 2485 Highways
此题关键要理解输出的定义For each test case, you should output a line contains an integer, which is the length of the longest road to be built such that all the villages are connected, and this value is minimu原创 2012-03-31 00:29:21 · 325 阅读 · 0 评论 -
DP_poj3022_The Uxuhul Voting System
Sample Input248 7 6 5 4 3 2 18 6 3 1 2 4 5 78 3 6 5 1 2 7 41 2 3 4 5 6 7 811 2 3 4 5 6 7 8Sample OutputNYYNNY#include #include using namespace std;int arr[105][8];char ch[8][4原创 2012-04-20 16:21:29 · 937 阅读 · 0 评论 -
spfa poj 3259
题意:一个图,有一些“正常”的点和边(废话),点表示农场的位置、边表示从一个农场到另一个农场花费的时间。打住。还有些特别的点(虫洞),这些特别的点和其他点的边代表着能“穿越”的时间。问:有没有可能从虫洞穿越到某个点,时间倒流。这个模型就是把正常的点互相连接起来或者把正常的点到虫洞,权是正。但是虫洞到其他的点,权为负。建立一个存在负权的图,然后最最最最关键的就是:判断是否存在负权回路。单原创 2012-03-22 14:36:37 · 327 阅读 · 0 评论 -
Bellman_Ford poj 1860
题意:求根据各种货币之间的汇率能否使某种货币升值。货币a兑换成b所得值是 (a-c[a][b])*r[a][b]。 思路:令dist[a]表示从s(最初所持货币)出发经过各种已知的汇率兑换成a所能得到的最大值。那么便可以发现一个明显的放缩条件:(dist[a]-c[a][b])*r[a][b]>dist[b]。如此便可以用bellman水了。另外需要注意的是不仅是存在正权回路的时候原创 2012-03-22 13:58:18 · 270 阅读 · 0 评论 -
Bellman_Ford POJ3259
题意:一个图,有一些“正常”的点和边(废话),点表示农场的位置、边表示从一个农场到另一个农场花费的时间。打住。还有些特别的点(虫洞),这些特别的点和其他点的边代表着能“穿越”的时间。问:有没有可能从虫洞穿越到某个点,时间倒流。这个模型就是把正常的点互相连接起来或者把正常的点到虫洞,权是正。但是虫洞到其他的点,权为负。建立一个存在负权的图,然后最最最最关键的就是:判断是否存在负权回路。单源最原创 2012-03-16 13:57:44 · 420 阅读 · 0 评论 -
BFS_poj 2251 Dungeon Master
题目大意: 给出一三维空间的地牢,要求求出由字符'S'到字符'E'的最短路径移动方向可以是上,下,左,右,前,后,六个方向每移动一次就耗费一分钟,要求输出最快的走出时间。不同L层的地图,相同RC坐标处是连通的/*Sample Input3 4 5S.....###..##..###.#############.####...###########原创 2012-04-03 00:16:52 · 297 阅读 · 0 评论 -
差分约束系统_bellman_ford_poj 1201 Intervals
题目大意是:告诉你一个数列B在另一个数列A中每一个闭区间[a,b]中至少包含c个数,求B数列的最小长度。 模型转换一下,使用二进制0、1表示当前数取还是不取,此问题即成为典型的查分约束系统。 令S[i]表示0..i中1的个数,第i位状态即 S[i]-S[i-1] ,满足 0 ≤ S[i]-S[i-1] ≤ 1. 对于每一个条件(a,b,c),满足 c ≤ S[b]-S[a-1]原创 2012-04-01 19:45:38 · 327 阅读 · 0 评论 -
kruskal_poj 3522 Slim Span
题意为求一棵生成树,其最大边权-最小边权最小先枚举生成树中的最小边,再用kruscal求最小生成树http://poj.org/problem?id=3522#include #include #include #include #include #include #include #include #include #include #include #incl原创 2012-03-31 18:54:59 · 314 阅读 · 0 评论 -
kruskal_poj 1251Jungle Roads
poj1251http://poj.org/problem?id=1251此题一看就知是最小生成树,由于数据量很小,输入的数据形式也没有那一种比较方便,所以prim和kruskal都可以下面给出kruskal代码 #include#include#include#include#include#define MAXEN 200#define MAXVN 60原创 2012-03-31 01:06:29 · 365 阅读 · 0 评论 -
poj1326(Mileage Bank)
Mileage BankTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 11239 Accepted: 4694DescriptionMil原创 2011-09-18 21:39:59 · 1221 阅读 · 0 评论 -
poj1386(Play on Words)
这道题又是并查集与欧拉路的结合:Play on WordsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 6134 Accepted: 2180原创 2011-09-17 22:46:19 · 446 阅读 · 0 评论 -
poj 1046(Color Me Less)
Color Me LessTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 23677 Accepted: 11270DescriptionA原创 2011-09-12 22:36:28 · 415 阅读 · 0 评论 -
poj3245(Customer support)
Customer supportTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 2644 Accepted: 1198Description原创 2011-09-11 22:24:45 · 689 阅读 · 0 评论 -
poj 1775(Sum of Factorials)
题目大意:判断输入的整数能否表示成1个或者多个不相同的整数的阶乘的和,如果能,输出YES,否则输出NO,输入负数表示输入结束,输入数最多1000000.解题思路:1)设i2)所以i从大到小,如果i!数(n-1)!之前的和小于n!,如果一个数大于n!,就一定包含n!原创 2011-09-02 23:50:03 · 420 阅读 · 0 评论 -
poj 2756 Autumn is a Genius
题目大意:输入两个整数a,ba和b的前面都有可能'+'或者'-'Sample Input41 2+1 +2+1 -2-1 -2Sample Output33-1-3 题目解答:#include #include原创 2011-08-23 11:18:36 · 477 阅读 · 0 评论 -
poj 3536 (Beer Refrigerator)
意:已知一个长方体的体积为n,求出使这个长方体的表面积最小时的三条边的长度。 思路:即 a*b*c = n, 求min(a*b + a*c + b*c)中的a,b,c。列出能够被n整除的因子(这点比较重要,不能一开始就暴力枚举),然后暴力枚举#include#in原创 2011-09-02 01:45:17 · 901 阅读 · 0 评论 -
poj 3505(Tower Parking)
题目大意:有一个电梯停车场,最多有50层,每层最多停50辆车(电梯间不能停车,也就是说最多能停49),而且是按照编号停放好了的,当取车时要求按照编号取车,每层是一周的传送带,每移动一辆车的位置需要5min,电梯每上或者下一层需要10min,(注意传送带和电梯不能同时进行,而且电梯原创 2011-09-02 21:20:01 · 571 阅读 · 0 评论 -
poj1220 NUMBER BASE CONVERSION
任意进制的高精度转换 问题描述:已知:位数为K(0 求:转换为M进制(2 ≤ M ≤62)后的新数Q输入:第1行为case数T;第2至第T+1行为T个case,每行输入均为N、M以及P,用空格分隔输出:采用以下形式输出N PM Q空行…原创 2011-08-20 23:09:57 · 414 阅读 · 0 评论 -
poj 2470 Ambiguous permutations
直接for一遍就能够确定:Ambiguous permutationsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 5071 Accepted: 2984原创 2011-08-23 11:13:24 · 504 阅读 · 0 评论 -
poj1118(Lining Up)
题目大意是这样:给出n个点的坐标,判断在这些点中最多有多少个点共线。。。我开始的思路是用暴力,找出前两个点的连线然后再从生下的点中找出斜率相同的点记录并且统计个数,最后找出统计的个数中最大的,时间复杂度是O(n^3)数据最大是700,所以我开始希望可以险过,可是结果没过,所以原创 2011-09-13 23:01:56 · 453 阅读 · 0 评论 -
poj1207(The 3n + 1 problem)
这道题有一个trick,真是坑人啊,要是不注意还真的要死在这个上面,以后一定要记住,输入范围的时候,有可能出现前面一个数比后面大,所以在执行后面的程序之前一定要先检查大小关系、、、、、、、、、、、、The 3n + 1 problemTime Limit:原创 2011-09-13 23:25:42 · 366 阅读 · 0 评论 -
poj1247(Magnificent Meatballs)
这个题很简单也没有什么值得注意的trick,所以直接发代码Magnificent MeatballsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 5027 A原创 2011-09-13 23:32:05 · 437 阅读 · 0 评论 -
poj 2237(Catenyms)
这道题是,欧拉路和并查集结合起来的一道很恶心的题,最主要的难点在于,将这个模型抽象为欧拉路,已经应该用怎么样的存储方式。还有代码长了过后,变量的赋值一定要特别小心啊,我就是在一个地方把begin = i写成了begin - a; 于是就浪费了我好几个小时呢Catenyms原创 2011-09-17 21:17:59 · 543 阅读 · 0 评论 -
hdu 1932(Ambiguous Codes)
题意大概是这样的就是让我们去早这么一个字符串,是由前面给的字符串拼成的,然后如果这个拼成的字符能够拆成另外的由前面给出的字符串的话就是Ambiguous ,让我们输出长度最短的Ambiguous 的长度,如果没有就输出-1如输入0110101可以找到最短的原创 2011-08-20 17:42:06 · 434 阅读 · 0 评论 -
poj 1298(The Hardest Problem Ever)
很简单的一道字符串处理的题目,就不多加描述了、、、、、、、、、、、、The Hardest Problem EverTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 16原创 2011-09-15 13:08:35 · 567 阅读 · 0 评论 -
poj 1318(Word Amalgamation)
这道题我用到了algorithm里面的next_permutation,根据全排列查询字典库中是否含有,如果有的话存入set中完成自动排序,最后按字典序输出Word AmalgamationTime Limit: 1000MS Memory Lim原创 2011-09-15 01:09:12 · 627 阅读 · 0 评论 -
poj 1250(Tanning Salon)
题意:一个旅馆有n个位,给出所有旅客到达旅馆和离开旅馆的顺序,问有多少旅客是没有住旅馆就离开的。由于题目中告诉每个顾客只会出现一次,所以我用一个数组存储每个顾客的情况直接模拟:Tanning SalonTime Limit: 1000MS Me原创 2011-09-15 00:02:26 · 638 阅读 · 0 评论 -
poj1248(Safecracker)
题意:给定一个长度为5……12个不同字符组成的字符串,从中选取5个,设为v,w,x,y,z,要满足等式:v-w^2+x^3-y^4+z^5=target,现在给出字符串和target,求满足该条件的5个字符(字典序要最大)我开始时忘记了需要字典序最大,所以造成了一些wa,这个原创 2011-09-14 23:17:47 · 1303 阅读 · 0 评论 -
poj 1588(Reverse Roman Notation)
一个中午的RE,整整排满一页,只有最后一个AC,开始一直以为只有数组越界和指针错误会是RE,今天的RE居然是因为上了一个判断条件导致调用空栈顶元素,stack空也有可能导致RE,以后要记住并且小心了……题目大意是实现一个关于罗马数字的计算器,只包含+ - * /四种运算,原创 2011-09-14 18:34:45 · 749 阅读 · 0 评论