poj
文章平均质量分 75
happy_lcj
nothing
展开
-
poj 3071 Football (概率 dp)
题意:有2^n个队,相邻的两两打淘汰赛,n轮后必定会决出冠军, 求最后哪个队夺冠的概率最大分析:dp[i][j]表示第i轮的时候,第j去支队伍赢的概率则dp[i][j]的前提就是i-1轮的时候,j是赢的,且第i轮赢了对方原创 2015-01-29 17:00:28 · 1146 阅读 · 0 评论 -
poj 3267 The Cow Lexicon (dp)
题意:给定一个主串,和单词序列,问最少在主串删除多少字母,可以使其匹配到单词序列,如browndcodwcowmilkwhiteblackbrownfarmer删除主串中的两个d,brown和cow就与整个主串匹配了原创 2014-11-01 15:10:46 · 858 阅读 · 0 评论 -
poj 1679 The Unique MST (判断最小生成树是否唯一)
题意:判断最小生成树是否唯一,若唯一,输出最小权值和,否则,输出 Not Unique!判断最小生成树是否唯一的思路:1、对图中的每一条边,扫描其他边,如果存在相同权值的边,则对该边做标记2、然后用Kruskal算法或Prim算法求MST3、求得MST后,如果该MST中未包含做了标记的边,即可判断MST唯一;如果包含做了标记的边,则依次去掉这些边的一条边,再求MST,如果求得的MST权值和原来的MST的权值一样,即可判断MST不唯一。原创 2014-11-17 16:27:40 · 1263 阅读 · 1 评论 -
poj 1659 Frogs' Neighborhood (Havel-Hakimi定理,判断序列是否可图)
其实质是给定一个度序列,判断是否可图,若可图,输出YES,并输出各顶点之间的连边的情况否则,输出NO思路:判断一个序列是否可图,直接利用Havel-Hakimi定理即可原创 2014-11-17 15:30:54 · 934 阅读 · 0 评论 -
poj 1631 Bridging signals (LIS 之 n×logn 算法)
题意:没看题的具体意思,本质是求最长升序子序列的长度原创 2014-10-04 15:18:50 · 1246 阅读 · 0 评论 -
poj 1094 Sorting It All Out (拓扑排序)
题意:给定一系列关系(只存在大写字母),判断是否存在矛盾,或无法确定关系,或可以确定唯一的关系分析:利用拓扑排序,但是需要边输入关系边排序矛盾:判断是否存在环确定关系:能找出唯一的拓扑排序不能确定关系:不存在环,且所有关系处理后,关系仍无法确定原创 2014-10-30 16:59:35 · 779 阅读 · 0 评论 -
poj 1080 Human Gene Functions (dp,LCS)
题意:给定两个字符串,求它们对齐匹配的最大值要求:可以两个字符匹配,也可以一个字符和‘-’匹配,但是不能两个‘-’匹配原创 2014-10-30 14:38:12 · 729 阅读 · 0 评论 -
poj 1836 Alignment(dp,LIS)
题意:士兵站成一行,求最少要多少的士兵出列,使得每个士兵都能至少看到一个最边上的士兵中间某个人能看到最边上的士兵的条件是:该士兵的身高一定强大于他某一边(左边或右边)所有人的身高,原创 2014-10-30 15:37:11 · 721 阅读 · 0 评论 -
poj 2418 Hardwood Species (trie 树)
题意:给定一些树的种类名,求每种树所占的百分比,并按字典序输出分析:实质就是统计每种树的数量n,和所有树的数量m,百分比就为 n*100./m由于数据达到一百万,直接用数组查找肯定超时,可以用trie树,空间换取时间原创 2014-10-30 14:11:09 · 826 阅读 · 0 评论 -
poj 2513 Colored Sticks (trie 树)
题意:给定一些木棒,木棒两端都涂上颜色,不同木棒相接的一边必须是相同的颜色,求是否能将木棒首尾相接,连成一条直线.分析:可以用欧拉路的思想来解,将木棒的每一端都看成一个结点由图论知识可以知道,无向图存在欧拉路的充要条件为:① 图是连通的;② 所有节点的度为偶数,或者有且只有两个度为奇数的结点。原创 2014-10-30 12:46:23 · 787 阅读 · 0 评论 -
poj 1163 The Triangle &poj 3176 Cow Bowling (dp)
题意:输入一个n层的三角形,第i层有i个数,求从第1层到第n层的所有路线中,权值之和最大的路线。规定:第i层的某个数只能连线走到第i+1层中与它位置相邻的两个数中的一个。状态方程:f[i][j]=max(f[i-1][j-1],f[i-1][j])+a[i][j];原创 2014-08-13 17:25:50 · 1020 阅读 · 1 评论 -
poj 2632 Crashing Robots(模拟)
题意:在n*m的房间有num个机器,它们的坐标和方向已知,现给定一些指令及机器k执行的次数,L代表机器方向向左旋转90°,R代表机器方向向右旋转90°,F表示前进,每次前进一米若前进时机器i撞到机器j,输出“Robot i crashes into robot j ”若机器走出了n*m的房间,输出“Robot i crashes into the wall ”当出现上述情况,只需输出第一次出现上述的情况若所有指令执行完,所有机器都没碰到上述情况,输出“OK”原创 2014-10-02 11:13:23 · 903 阅读 · 0 评论 -
poj 2251 Dungeon Master(bfs)
题意:这题从二维空间扩展到三维空间了,可以上下左右前后移动,每次都只能移到相邻的空位, 每次需要花费一分钟,求从起点到终点最少要多久 #表示岩石,.表示空位,S是起点,E是终点原创 2014-07-17 16:07:10 · 849 阅读 · 0 评论 -
poj 3126 Prime Path (bfs)
题意:给定两个素数四位m,n(不含前导0),求从m转化到n至少需要几次转化规则:每次转化y与x只有一位数字不同,且y为素数若能从m转化为n,输出转化的最小次数,否则输出Impossible分析:因为要用到四位数的素数,首先用筛选法求出素数.然后分别只变换个位,十位,百位,千位四种情况来bfs注意:最高位数字不能为0,对于四位素数肯定都是奇数,这样可以减少bfs次数原创 2014-07-28 08:41:44 · 833 阅读 · 0 评论 -
poj 1837 Balance (dp,01背包)
题意:有一个天平,天平左右两边各有若干个钩子,总共有C个钩子,有G个钩码,求将钩码挂到钩子上使天平平衡的方法的总数。其中可以把天枰看做一个以x轴0点作为平衡点的横轴分析:力臂=重量 *臂长 = g[i]*c[j]当平衡度k=0时,说明天枰达到平衡,k>0,说明天枰倾向右边(x轴右半轴),k因此可以定义一个 状态数组dp[原创 2014-08-06 16:00:18 · 836 阅读 · 0 评论 -
poj 3087 Shuffle'm Up (模拟)
题意:有两堆牌s1,s2,牌数都为c,将s2,s1按给定规则相互交叉组成一堆牌s12,再将s12最底下的c块给s1,最顶端的c块给s2,依此循环下去,现在输入s1和s2的初始状态 以及 预想的最终状态s12,问s1 s2经过多少次洗牌之后,最终能达到状态s12,若永远不可能相同,则输出"-1"。分析:直接简单模拟此规则就行,关键是如何判断是否永远不可能达到预想的s12,若s1和s2在洗牌后的状态,是前面洗牌时已经出现过的一个状态,且这个状态不是预想的状态S12,就说明无论怎样再洗牌都不可能达到S原创 2014-08-12 15:43:25 · 774 阅读 · 0 评论 -
poj 3292 Semi-prime H-numbers (筛选法思想)
题意:一个H-number是所有的模四余一的数,如 1,5,9,13,17,21...H-primes数是H-number数(1除外),且它的H-number因子除了1只有它本身,如5,9,13,17,21...但65是H-number数,却不是H-primes数,因为 65=5*13.H-semi-prime是H-number数,且等于2个H-primes的乘积.如65给你一个数n,问1到n有多少个H-semi-prime数分析:用筛选法的思想,将H-primes筛选出来,同时标记在范围内两个H原创 2014-09-13 16:45:17 · 1048 阅读 · 0 评论 -
poj 2299 Ultra-QuickSort (归并排序,逆序数)
题意:给出长度为n的序列,每次只能交换相邻的两个元素问至少要交换几次才使得该序列为递增序列分析:冒泡排序每次只能交换相邻两个元素,也就是求用冒泡排序使其为递增序列的交换次数,每交换一次记录一次就好但是这题数据较大,冒泡排序效率比较低,会超时的这里就可以利用归并排序了原创 2014-11-01 17:11:21 · 1186 阅读 · 0 评论 -
poj 3687 Labeling Balls(拓扑算法)
题意:有n个球,重量各不相同,为1-n,现在要给其贴上标签(1-n) 规则为每个球的标签各不相同,且标签为a的球要比标签为b的重输出标签为1-n的重量,注意若有多组答案,输出让标签小的更轻的那组,即球号较小的球质量应取到最小原创 2014-07-15 16:58:40 · 567 阅读 · 0 评论 -
poj 2976 Dropping tests (01规划,二分查找)
链接:poj 2976题意:给定n和k,a1,a2...an和b1,b2...bn求扔掉k组数ai,bi 后,下面式子的最大值为多少分析:01规划的基本应用假设最大值为x可得: 100*sigma(a[i])/sigma(b[i])=x----> 100*sigma(a[i])-x*sigma(b[i])=0原创 2015-01-29 16:00:48 · 1007 阅读 · 0 评论 -
poj 1905 Expanding Rods (二分查找)
链接:poj 1905截取自某大牛的blog,详情请关注:链接:Enumz题意:一根两端固定在两面墙上的杆长度为L,受热弯曲后变弯曲,长度L′=(1+nc)*L 求前后两个状态的杆的中点位置的距离分析:设L′对应的半径为r,弧长为2α,要求的距离为x原创 2015-01-28 17:10:35 · 809 阅读 · 0 评论 -
poj 2115 C Looooops (解模线性方程)
题意:对于C语言的循环语句for(i=A ; i!=B ;i +=C), 问在k位存储系统中循环几次才会结束。若在有限次内结束,则输出循环次数,否则输出死循环。注:利用了 k位存储系统的数据特性进行循环(会溢出)原创 2014-11-05 14:48:47 · 1033 阅读 · 0 评论 -
poj 2728 Desert King (最优比率生成树)
题意:有n个村庄,给出每个村庄的坐标和海拔,benifit为两点之间的水平距离,cost为两点的高度差,现要求一棵树使得 cost / benift 最小,即求一个最优比例生成树分析:01规划的应用设x[i]等于1或0, 表示边取或者不取则所求的比率 rate = ∑(cost[i] * x[i]) / ∑(benifit[i] * x[i])原创 2015-01-29 16:36:43 · 821 阅读 · 0 评论 -
poj 1026 Cipher (置换群)
链接:poj 1026题意:给定n个大小1-n的不同的整数作为密钥,给定一个字符串, 求将该字符串经过k次编码后的字符串分析:暴力求解会超时,可以利用置换群的知识解题置换群:一个有限集合的一一变换叫做置换,一对对置换组成了置换群。对于一个集合a(a[1],a[2],a[3]...a[n]) 通过置换可以变成 (b[a[1]],b[a[2]],b[a[3原创 2015-01-29 17:18:38 · 1338 阅读 · 0 评论 -
poj 2947 Widget Factory (高斯消元,解模线性方程)
题意:生产一些零件,已知零件种数,记录条数记录只记录了某次生产从周几开始,周几结束,以及生产了哪些产品。每件商品生产所需天数为3-9天。求每样产品需要多少天才能完成。若无解输出Inconsistent data.有无穷解输出Multiple solutions.有唯一解,输出其解原创 2015-01-29 15:09:57 · 1686 阅读 · 0 评论 -
poj 3122 Pie (二分查找)
题意:我生日派对时,准备了n个圆柱形的pie,半径比一定相同,但高都为1,邀请了f个朋友,加上自己一共f+1人,需要将n个pie分给f+1个人要求:每个人分得的pie尺寸要一样大,并且同一个人所分的pie要是从同一个pie上得到的,n个pie分完后可以有剩余求:每个人最多可以分多少原创 2015-01-28 16:37:21 · 1802 阅读 · 0 评论 -
poj 3440 Coin Toss (概率)
题意:在m*n的网格盘上,每个格子大小都是t*t,现将一个直径为c的硬币扔在向网格盘上,求硬币覆盖1,2,3,4个格的概率分别为多少注:圆心只可能落在在网格盘上分析:问题可转化为求覆盖1,2,3,4个格硬币圆心活动的面积分别推出公式即可求解注意输出格式、、、原创 2015-01-28 16:07:10 · 916 阅读 · 0 评论 -
poj 1062 昂贵的聘礼 (有限制的最短路)
题意:探险家想娶酋长的女儿,需要昂贵的聘礼,但可以用其他物品加优惠价替代,其他物品也可用另外的物品和优惠价替代,求探险家最少需多少金币可以娶到酋长的女儿?注意:等级限制:如果两人地位等级差距超过了M,就不能"间接交易",但酋长的等级不一定最高分析:这是一道求有等级限制的最短路,可以将每个物品(包括酋长允诺)看成一个结点,替代品间的优惠价为边的权值,原创 2015-01-28 15:44:38 · 817 阅读 · 0 评论 -
poj 2546 Circular Area (两圆相交面积)
题意:已知两圆的圆心和半径,求两圆相交部分的面积分析:两圆的位置关系有三种:相离,相交,内含相离时:相交面积为0相交时,大扇形面积+小扇形面积-四边形面积内含时,相交面积为小圆面积原创 2014-11-30 16:01:15 · 1203 阅读 · 0 评论 -
poj 1019 Number Sequence (组合数学)
题意:有一个由数字组成的序列规律为112123123412345123456123456712345678123456789123456789101234567891011 ...输入位置n,计算这一串数字第n位是什么数字原创 2014-11-08 17:00:52 · 862 阅读 · 0 评论 -
poj 3414 Pots (bfs)
题意:给出了两个瓶子的容量A,B, 以及一个目标水量C,对A,B可以进行如下操作:FILL(i) 将瓶i装满水DROP(i) 将瓶i倒空POUR(i,j) 将瓶i中的水倒入瓶j,此操作后要么瓶j装满水,要么瓶i为空求至少要几次操作能使A或者B装的水为C,并输出具体操作分析:可以从6个方面bfs,因为要输出具体操作,可以用数组模拟队列,并记录前一次操作的状态,最后再回溯路径原创 2014-11-07 11:07:38 · 856 阅读 · 0 评论 -
poj 2676 Sudoku (dfs)
题意:给定一个未完成的数独,0是待填位置,其他均为已填入的数字。 如果能将其补充完整,则输出补充完整的数独(有多组答案输出任意一组),否则原样输出数独:一个9行9列的网格,包括9个3*3的子网格,要求每行、每列、每个子网格内都只能使用一次1-9中的一个数字,即每行、每列、每个子网格内都不允许出现相同的数字。原创 2014-11-07 10:44:52 · 777 阅读 · 0 评论 -
poj 1129 Channel Allocation (dfs)
题意:如果相邻的中继器使用不同的频道,就不会相互干扰。给定一些中继器的相邻关系,问至少要选几个不同的频道,使得中继器都不互相干扰。分析:这题可以转化为无向图的染色问题,即相邻的点不能染同一种颜色,求至少需要的几种颜色?本题顶点数最多为26,可以直接用暴力搜索即可原创 2014-11-06 16:55:23 · 856 阅读 · 0 评论 -
poj 2635 The Embarrassed Cryptographer (同余定理,筛选法)
题意:给定一个大数k,k是两个大素数的乘积的值,再给定一个int内的数L 问这两个大素数中最小的一个是否小于L,如果小于则输出这个素数。分析:因为k达到了10^100,只能用字符串读入,再转化为千进制,用int数组存储, 然后枚举小于L的素数,看是否能被整除,即判断k%L是否为0, 这样就得先用筛选法求素数打表,但是注意要打表到大于10^6 关于高精度取余,就需要用到同余定理原创 2014-11-05 15:34:57 · 937 阅读 · 0 评论 -
poj 2891 Strange Way to Express Integers (解模线性方程组)
题意:有一个数x,给定k组ai和ri,使得x%ai=ri 求x最小为多少分析:求解模线性方程组 x = a1(mod m1) x = a2(mod m2) x = a3(mod m3) 先求解方程组前两项。 x=m1*k1+a1=m2*k2+a2 -> m1*k1+m2*(-k2)=a2-a1原创 2014-11-05 15:16:05 · 930 阅读 · 0 评论 -
poj 1845 Sumdiv (同余定理,快速幂取余)
题意:求A^B的所有因子的和对9901取余后的值如:2^3=8,8的因子有 1,2,4,8,所有和为15,取余后也是15应用定理主要有三个:(1)整数的唯一分解定理: 任意正整数都有且只有一种方式写出其素因子的乘积表达式。 A=(p1^k1)*(p2^k2)*(p3^k3)*....*(pn^kn) 其中pi均为素数原创 2014-11-04 08:44:37 · 1297 阅读 · 0 评论 -
poj 3009 Curling 2.0 (dfs)
题意:在一个冰面网格板上,有空白处(无障碍),和障碍块,有一个小石头,给定其起点和终点,求从起点到终点的最小步数规则:小石头不能在障碍区运动,一旦从某一方向开始运动,不会改变方向,也不会停止,除非碰到障碍物或到达终点才会停止,这为一步。若碰到障碍物,小石头将停在障碍物的旁边,被碰到的一个障碍物将消失。原创 2014-09-19 13:42:29 · 934 阅读 · 0 评论 -
poj 1321 棋盘问题 (dfs)
题意:给定n*n的棋盘, # 代表棋盘区域,可以放棋子, .代表空白区域(不能放棋子),现要摆放k个棋子,求方案数.要求:摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列思路:因为任意两个棋子不能在同一行或同一列,可以逐行dfs,并对已访问的行标记原创 2014-09-20 11:20:14 · 889 阅读 · 0 评论 -
poj 1265 Area(pick 定理)
链接:poj 1265题意:从原点出发,给出一些dx,dy移动增量,最终形成一个多边形,求多边形内部的格点数目,边上的格点数目 ,以及面积。补充知识:1、以格子点为顶点的线段,覆盖的点的个数为gcd(|dx|,|dy|),其中,|dx|,|dy|分别为线段横向增量和纵向增量。2、Pick定理:设平面上以格子点为顶点的多边形的内部点个数为a,边上点个数为b,面积为S,则 S原创 2014-08-01 08:49:49 · 1613 阅读 · 1 评论 -
poj 2318 TOYS & poj 2398 Toy Storage (叉积)
链接:poj 2318题意:有一个矩形盒子,盒子里有一些木块线段,并且这些线段坐标是按照顺序给出的,有n条线段,把盒子分层了n+1个区域,然后有m个玩具,这m个玩具的坐标是已知的,问最后每个区域有多少个玩具分析:从左往右,直到判断玩具是否在线段的逆时针方向为止,这个就需要用到叉积,当然可以用二分查找优化。叉积:已知向量a(x1,y1),向量b(x2,y2),axb=x1*y2-原创 2014-08-01 08:18:05 · 1003 阅读 · 0 评论