POJ刷题
文章平均质量分 85
画船听雨
和梦想谈一次恋爱,也要疯狂,也要坚持
展开
-
POJ 2586 Y2K Accounting Bug
这是POJ讨论上的题目解释,写的很好摘过来的,感谢提供者、、、对于每一个月来说,是盈利如果则盈利S,如果亏空则亏d。每五个月进行一次统计,共统计八次(1-5月一次,2-6月一次.......)统计的结果是这八次都是亏空。问题:判断全年是否能盈利,如果能则求出最大的盈利。如果不能盈利则输出Deficit简单的贪心,分类讨论就行了啊、、、、#include int main()原创 2013-07-30 11:10:41 · 2181 阅读 · 0 评论 -
POJRails
此题和HDU1022Train Problem 差不多,就是用数组模拟栈和队列的运算,然后判断Yes or No。DescriptionThere is a famous railway station in PopPush City. Country there is incredibly hilly. The station was built in last century.原创 2013-03-28 08:14:46 · 2385 阅读 · 0 评论 -
POJ3032 Card Trick
这道题的题意大体是说一个魔术师第一次拿一张牌放到下面然后将最上面的那张,拿出是黑桃一,第二次从上面拿两张翻到下面,然后拿出黑桃二,以此类推第N次将上面的N张牌放到下面,拿出黑桃N。然后找到应该怎么排列这些牌才能达到这些效果。 直接模拟是不可以的,因为后面的会影响前面的,但是如果从后向前模拟的话,就不受影响了。DescriptionThe magician shuffles a原创 2013-03-28 08:24:43 · 2811 阅读 · 0 评论 -
POJ 1742 Coins
这是一道典型的多重复背包问题。CoinsTime Limit: 3000MS Memory Limit: 30000KTotal Submissions: 24982 Accepted: 8452DescriptionPeople in Silverland use coins.They have coin原创 2013-05-21 19:48:58 · 2272 阅读 · 0 评论 -
POJ 1068 Parencodings
这道题的意思就是,告诉你目前这个右括号的左边有多少个左括号,让你求出这个右括号匹配的左括号是左边的第几个(从右向左数第几个。。。)。算法的大体意思就是,判断这个右括号遇上一个右括号之间有没有左括号有的话匹配、、不行的话向后移动,再找下一个。。。#include int main(){ int f[20], i, j, t, temp1, temp2, n, m; sca原创 2013-07-30 21:14:39 · 2055 阅读 · 0 评论 -
POJ 1860 Currency Exchange
Bellman_ford就可以过掉,都不用优化啊、、、但是这个一开始不会啊,回忆了半天又加上学习同学的、看书终于把它弄出来了啊、、、不容易啊!!!如果还出现松弛说明有负环不会出现赚钱,(因为钱越来越少所以是负环)就输出NO否则YESCurrency ExchangeTime Limit: 1000MS Memory Limit: 30000K原创 2013-08-06 20:32:36 · 2328 阅读 · 0 评论 -
POJ 1753 Flip Game
这是一个枚举的题,在同学的帮助下终于弄懂了啊。。。一点一点的搜索就可以过。。。。。。Flip GameTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 24504 Accepted: 10531DescriptionFlip game is原创 2013-06-23 11:06:18 · 2203 阅读 · 0 评论 -
POJ 3083 Children of the Candy Corn
一个模拟+bfs就可以水过但是代码量稍微有点大啊、、、不多说了啊满满的都是泪啊,由于bfs标记的错误,RE了十次啊!(bfs每次入队都要进行标记啊!!一定要记住啊!!!)后来又是跳出循环break的位置写错了啊,又是WA啊,写了前前后后八九个小时啊!不停地出错啊、、、菜鸟伤不起啊,智商真是着急啊、、、#include #include #define MAX 110#define原创 2013-08-03 16:10:07 · 1949 阅读 · 0 评论 -
POJ 3253Fence Repair
以前在我们学校的OJ上做过一道类似的题目,一开始想模拟操作过程的但是实现不了,建立哈夫曼树又不会,后来跟同学学习了优先队列,所以就无节操的水过了啊、、、、下面是代码#include#include#includeusing namespace std;int main(){ long long n,i,t,tt,ans; priority_queue, g原创 2013-07-30 16:34:59 · 1999 阅读 · 0 评论 -
poj 2488 A Knight's Journey
这道题的题意是:给出一个国际棋盘的大小,判断马能否不重复的走过所有格,并记录下其中按字典序排列的第一种路径。经典的“骑士游历”问题、主要得注意一下需要输入出字典序最小的一种路,所以在dfs的时候要先从第一个点开始,还有就是注意遍历的顺序字典序小的先遍历 、、A Knight's JourneyTime Limit: 1000MS原创 2013-08-23 10:48:59 · 2121 阅读 · 0 评论 -
poj 3009 Curling 2.0
这道题的意思是:判断十步 之内是否能从起点走到终点,0代表空地,1代表石头,2代表起点,3代表终点、但是他的走法很特殊啊,如果不遇到石头不会停止,一直向前,遇到石头之后,会把石头变成空地,而且会停下来、、Curling 2.0Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 8原创 2013-08-23 17:15:46 · 2087 阅读 · 0 评论 -
poj 1258 Agri-Net
不多说了啊、、典型的最小生成树啊、、、Agri-NetTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 33507 Accepted: 13416DescriptionFarmer John has been elected mayor of原创 2013-08-12 09:59:50 · 2675 阅读 · 0 评论 -
poj 2485 Highways
这是一道典型的最小生成树的题目,给的是每个城市之间的距离,然后求最小生成树中的最小的边、、、用pirme加一点改正就可以很水的过掉啊、、、声明一点我是听我同学说的,然后拿刘汝佳的dijkstra改写的,不得不说他的代码真的是很简约啊、、膜拜啊、、、HighwaysTime Limit: 1000MS Memory Limit: 65536KT原创 2013-08-12 09:32:33 · 2863 阅读 · 0 评论 -
POJ 1321棋盘问题
中文题不解释啊、、这要是都看不懂,那就补补语文吧、、因为横竖只能放一个,所以一行一行的枚举,在每一行里找到一个位置,但是有点比较坑的是,K的数量小于N所以有的行是不放棋子的,所以此时要枚举下一行。棋盘问题Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 19186 Ac原创 2013-08-26 09:53:18 · 2241 阅读 · 0 评论 -
POJ 2251 Dungeon Master
这道题就是给你一个三维的坐标求S到E的最短路,如果有就输出距离没有就输出Trapped!。就是一个BFS寻找最短路径、、和HDU的1429胜利大逃亡基本上一样、、Dungeon MasterTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 14210 Accepted:原创 2013-08-26 11:07:11 · 2493 阅读 · 4 评论 -
POJ 3126 Prime Path
题意大题是给你两个素数a,b,第一个素数a每次只能改变一位数字,求他最少改变几次能变成素数b,中间变化的过程全是素数。结题思路就是素数筛+bfs求最少次数(每次改变一位数子穷举所有情况)。Prime PathTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 9555 A原创 2013-08-26 20:48:50 · 2136 阅读 · 0 评论 -
POJ 3414 Pots
这道题的题意是:给你两个空杯子,容量为a和b升。只用这两个杯子,在水充足的条件下倒出c升的水、、一共有六种操作:1、把a倒满;2、把b倒满;3、把a倒空;4、把b倒空;5、把b倒入a中;6、把a倒入b中。根据这六种情况进行BFS,但是这道题记录路径很麻烦,用了邻接表进行的记录;在hash输出就行了。感觉不错的一道题。PotsTime Limit: 100原创 2013-08-27 11:09:22 · 1135 阅读 · 0 评论 -
POJ 2676 Sudoku
题意不解释了啊、、就是一个数独问题啊、、就是dfs找到可行解。SudokuTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 12117 Accepted: 6052 Special JudgeDescriptionSudoku is原创 2013-08-27 20:52:15 · 876 阅读 · 0 评论 -
POJ 2531 Network Saboteur
题目大意:把一个完全图分成两部分,使得连接这两部分边的权和最大。结题思路是暴力枚举任意集合的划分,找到最大的值。举例说明:30 50 3050 0 4030 40 0先将第一行的数字加起来得到一个和sum = 80,在把第二行中出现的减去,就是50(1,2)和(2,1)是一回事。没有出现的在加起来,得到sum = 70就是1,2是一个集合3是单独的一个集合的原创 2013-08-28 10:18:13 · 818 阅读 · 0 评论 -
POJ 1416 Shredding Company
先简述一下题意:就是说给你两个数n,m。让你从m中任意剪割,求出在不超过n的情况下的数列、、就是一个拆数。如果找不到比n小的输出error,如果最大的有多个输出rejected,如果有满足的先输出最大的数,在输出分割后的数列、、Shredding CompanyTime Limit: 1000MS Memory Limit: 10000K原创 2013-08-28 14:00:31 · 827 阅读 · 0 评论 -
POJ 1129 Channel Allocation
题目翻译:当一个广播电台在一个非常大的地区,广播站会用中继器来转播信号以使得每一个接收器都能接收到一个强烈的信号。然而,每个中继器必须慎重选择使用,使相邻的中继器不互相干扰。如果相邻的中继器使用不同的频道,那么就不会相互干扰。由于无线电频道是一有限的,一个给定的网络所需的中继频道数目应减至最低。编写一个程序,读取一个中继网络,然后求出需要的最低的不同频道数。解题思路:就是搜索每一行原创 2013-08-30 12:22:24 · 1201 阅读 · 0 评论 -
POJ 1837 Balance
首先说一下题意:先输入一个c,g分别代表挂钩的数目和砝码的数目。然后下一行输入挂钩的位置,负的代表在天平的左边,正的代表在天平的右边。最后一行输入砝码的重量。目的是求出有多少种可以是天平达到平衡的方案。解题的时候需要注意几点:1,砝码必须全部用完;2,挂钩不一定全部挂东西;3,每个砝码这能用一次;4,每个挂钩可以挂多个物品。解题思路:一开始的时候我是这么理解的枚举每个挂钩,然后判断当前已经原创 2013-09-18 14:35:11 · 886 阅读 · 0 评论 -
POJ 3267 The Cow Lexicon
这道题目的大体意思是:给你一个字符串,然后再给你若干个字符串,让你把给定的字符串进行删减得到的字符串,可以有下面若干个字符串组成。如:6 10browndcodwcowmilkwhiteblackbrownfarmerbrowndcodw 去掉两个d字母之后就可以由cow和brown两个单词组成。所以最少要删除2个字母。我一开始是这么想的:判断每一个子符原创 2013-09-19 15:56:02 · 901 阅读 · 0 评论 -
poj 1836 Alignment
首先说一下题意:就是给一队人进行排序,可以从左向右排可以从右向左排,只要是中间的人可以看到两边的人就行,求最少需要有多少人进行位置的调整。一开始就是以为两边求最长公共子序列、、结果悲催的是有一个小坑、、就是:83 4 5 1 2 5 4 3答案是:2 因为中间如果是最高的话也可以看到两边、、所以就是求完两遍最长公共子序列后,求出dp1[i]+dp2[j]的最大值组合,这样就可原创 2013-09-19 17:11:23 · 908 阅读 · 0 评论 -
POJ 3176 Cow Bowling
数塔问题,水题不解释啊、、今天过节过了算是图开心吧、、呵呵呵呵Cow BowlingTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 12226 Accepted: 8060DescriptionThe cows don't use ac原创 2013-09-19 20:12:59 · 950 阅读 · 0 评论 -
POJ 1276 Cash Machine
先说一下题意:给你两个数cash和N。cash代表你最多会换得多少钱,N代表有n种钱,然后输出n组数据,每组数据有两个数分别代表钱的数目与面值。最后输出最大的可以换得的典型的多重背包,但是悲催的是竟然各种超时,各种超内存啊、、我的算法有问题,每次枚举的时候都会造成重复。。。后来看了我师傅写的,加了一个计数就OK了啊、、、Cash MachineTime Limi原创 2013-09-18 19:02:48 · 897 阅读 · 0 评论 -
POJ 1260 Pearls
大体题意:给出几类珍珠,以及它们的单价,要求用最少的钱就可以买到相同数量的,相同(或更高)质量的珍珠。注意的点:1. 要求要买的珍珠的数量是一定的;2.所买的珍珠的质量允许提高,但不允许下降(即可以用高质量珍珠替代低质量)3.输入时,后输入的珍珠价格一定比前面输入的要贵dp的过程是以每种珍珠为一个阶段进行dp,最优子问题是:如果购买的珍珠过少而手续费很多就会造成浪费。所以枚举第i种原创 2013-09-21 10:55:29 · 826 阅读 · 0 评论 -
POJ 3461 Oulipo
首先说一下这是一道kmp的题目,今天刚跟崔老师学了kmp,这个算法是很基础的算法,崔老师竟然很惊奇的发现我不会啊、、呜呜。。sad啊、、还得多学习啊,在ACM的路上还差很多啊!首先推荐一个博客http://www.cppblog.com/oosky/archive/2006/07/06/9486.html绝对的大神啊,写的真的很好啊。很详细啊,赞一个啊!我说一下我自己的理解:比如有两个原创 2013-10-09 19:20:24 · 906 阅读 · 0 评论 -
POJ 3096 Surprising Strings
中级的水题,map就可以水过、、主要是练习一下map的使用。题意就是:判断间隔长度相同的连续的两个字符串是否相同,如果不相同就输出is NOT surprising.否则输出is surprising.Surprising StringsTime Limit: 1000MS Memory Limit: 65536KTotal Submissi原创 2013-09-27 20:28:13 · 1105 阅读 · 0 评论 -
POJ 1850 Code
人家都说是简单的组合数,但是我感觉没有说的那么简单啊、、、新手伤不起啊、、、题意就是给你一串字符串,要求必须是递增的,如果不是的话就输出0;然后就是根据题目给出的样例求出组合数来。就拿adf为例来解释一下:一开始有C(26,1)+C(26,2)就是说初始位置都是最小的时候的情况,在加上那些比原本初始位置最小值大的所有的情况,在特别处理一下s[0]就OK了啊、、、说的有点乱啊、、、建议自己多原创 2013-10-15 19:51:01 · 914 阅读 · 0 评论 -
POJ 1942 Paths on a Grid
就是高中那到经典的对角线上走方格的问题、、公式就是C(n+m, n) || C(n+m, m)。大家都知道、、但是不理解的是数据好像很水啊、、我的56,23输出0竟然也能过啊、、哈哈哈Paths on a GridTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 20035原创 2013-10-17 21:35:40 · 958 阅读 · 0 评论 -
POJ 1159 Palindrome
题目的大意是:给你一个长度为n的字符串,让你判断一下最少加入几个字符之后会使得字符串成为一个回文字符串。题意很简单,其实解法也很简单啊,就是正向数组,与反向数组求一个最长公共子序列,因为这样就可以找到已经匹配了的字符了啊,剩下的就是需要添加的啊。就是一个求最公共子序列,然后输出剩下的值。但是比较坑的是int型的5000*5000的数组会超内存的啊、、听说用short 可以水过去啊、、但是崔原创 2013-09-24 21:21:27 · 904 阅读 · 0 评论 -
POJ 3087 Shuffle'm Up
题目大意:已知两堆牌s1和s2的初始状态, 其牌数均为c,按给定规则能将他们相互交叉组合成一堆牌s12,再将s12的最底下的c块牌归为s1,最顶的c块牌归为s2,依此循环下去。现在输入s1和s2的初始状态 以及 预想的最终状态s12问s1 s2经过多少次洗牌之后,最终能达到状态s12,若永远不可能相同,则输出"-1"。就是一个简单的模拟,不知道为什么把他归到了bfs原创 2013-08-27 09:32:24 · 1850 阅读 · 0 评论 -
poj 1840 Eqs
题意比较简单啊,我这个英语菜鸟都可以看懂啊、、、就是说给出a1,a2,a3,a4,a5,然后再[-50,50]的区间内找到x1,x2,x3,x4,x5使得a1*x1^3+ a2*x2^3+ a3*x3^3+ a4*x4^3+ a5*x5^3=0。直接枚举的话会是100^5=100E次一定会超时的啊、、后来看了一下大神的思路就是化简之后再枚举时间降为O(n^2+n^3)看似简单的化简得到的结果却是很原创 2013-08-21 15:34:19 · 2500 阅读 · 0 评论 -
poj 1789 Truck History
首先吐一下槽这是英语阅读训练啊、、、玛德,看不懂啊、、受不了啊,英语太水了啊、、呜呜呜呜#include #include #include #include #include #include using namespace std;struct Edge{ int u, v, w;} edge[4000100];char s[3100][10];bool c原创 2013-08-10 18:50:50 · 2692 阅读 · 0 评论 -
POJ 1062 昂贵的聘礼
我擦啊,简单的bellman_ford啊,就是加一个枚举范围、、很水啊,竟然卡在了枚举上,想的是对的但是敲得却不对啊、、很水啊、、、下面的题解是从LYN那里弄来的,他写的不错我没有必要在写一遍了啊、、嘿嘿1、虚拟一个节点0,所有物品的价值被表示为这个点到对应物品编号点的边的权值。2、相关联的物品连一条权为优惠价格的边。3、求节点0与节点1之间的最短路就行了。原创 2013-08-08 17:27:32 · 2094 阅读 · 0 评论 -
POJ 2240 Arbitrage
这道题和1860有点像啊。就是求正环啊、、、但是有一点不一样的是,这个题初始化的时候要初始化为1.0不是0否则乘以利率之后就会变成零了啊、、竟然没发现啊、、这个脑子啊,进水了啊、、、、ArbitrageTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 13270 Accep原创 2013-08-09 15:26:32 · 2807 阅读 · 0 评论 -
POJ 2299 Ultra-QuickSort
这是一道典型的排序题。。求需要移动的次数、、、但是数据很大很容易超时啊,所以用了归并排序,都学了快半年了第一次用啊,表示各种不熟悉啊,还是看着模板敲的啊、以后得多加练习啊、要不就生疏了啊。有的 大神说用线段树做表示不会啊、、、、#include #include #define MAXN 500010int a[MAXN]; int temp[MAXN];long long sum;原创 2013-08-02 09:19:39 · 1944 阅读 · 0 评论 -
POJ 3026 Borg Maze
在多数大神眼里这是一道水题啊、、但菜鸟伤不起啊、、好不容易看懂的英文又发现不太简单、、昨天写了一天的BFS竟然无情的错掉了啊、、吐槽一下昨天是情人节啊、、人家过情人节,屌丝却在敲代码,还老错啊、、伤不起啊。。。好了言归正传,这是一道最小生成树的题目,但是每天各点之间的权值没有给出啊,需要用BFS来求出啊、、自己的BFS老是出错啊、、就学习了pengge的啊、、算了,还得多加练习啊、、、菜鸟不能休息原创 2013-08-14 10:52:59 · 2766 阅读 · 0 评论 -
poj 1125 Stockbroker Grapevine
这道题的意思是求任意两点的最短路,并求出所有最短路中最短的那个起点,与这条路中最长的一步、、、数据比较水啊、、、ford 0ms水过啊、、Stockbroker GrapevineTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 23564 Accepted: 129原创 2013-08-09 11:00:30 · 2105 阅读 · 0 评论