
POJ
文章平均质量分 85
AC_Dreameng
行有余力,则来刷题!
展开
-
POJ 2635 The Embarrassed Cryptographer【数论,千进制,高精度求模+同余模定理】
给定一个大数K,K是两个大素数的乘积的值。再给定一个int内的数L问这两个大素数中最小的一个是否小于L,如果小于则输出这个素数。解题思路:首先对题目的插图表示无语。。。 高精度求模+同余模定理 1、 Char格式读入K。把K转成千进制Kt,同时变为int型。把数字往大进制转换能够加快运算效率。若用十进制则耗费很多时间,会TLE。千进制的性质与十进制相似。例如,把K=1234567890转成千进制,就变成了:Kt=[ 1][234][567][890]。为了方便处理,我的程序是按“原创 2017-08-11 13:59:48 · 823 阅读 · 0 评论 -
POJ 3070 Fibonacci【矩阵快速幂取模】【模板题】
递推的式子一般都可以化成矩阵相乘的形式。关键的就是构造矩阵,但这题题目已经构造好了,所以就成了模(shui)板(shu)题了。原创 2016-10-31 21:20:29 · 1212 阅读 · 0 评论 -
POJ 3461 Oulipo【KMP,子串出现次数,可重叠】
题意:输入两个字符串,问第一个字符串在第二个字符串中的出现次数。(可重叠)。原创 2016-10-17 21:26:00 · 1541 阅读 · 0 评论 -
HDU 1151 & POJ 1422 Air Raid【最小路径覆盖】
思路:最小路径覆盖 = 节点数 - 最大匹配数原创 2016-10-07 15:33:48 · 745 阅读 · 0 评论 -
HDU 1950 POJ 1631 Bridging signals【LIS,二分优化】
LIS模板题,二分优化原创 2016-10-27 22:12:53 · 703 阅读 · 0 评论 -
HDU 2413 & POJ 3343 Against Mammoths【最大匹配+二分】
题意:星球大战,地球人拥有n个星球,外星人拥有m个星球。每个星球都有初始的飞船数量和生产飞船的能力(每年)。用邻接举阵输入每个星球之间的距离。问你地球人最少要多少时间才能消灭完外星人。消灭的条件:1.地球人的飞船数量大于等于外星人的。2.一个地球人的飞船只能攻击一个外星人的星球,一个外星人的星球只能被一个地球人统治的星球攻击。3.当然,生产飞船只能在地球上进行。做法:二分完成时间。原创 2016-10-13 22:35:39 · 728 阅读 · 0 评论 -
POJ 3356 AGTC 【最短编辑距离,经典DP】
a,b:是字符串动态规划最小编辑距离,dp[i][j]表示取a的前i个字符和b的前j个字符操作的最小次数。dp[0][j]=j: 取a的前0个字符和b的前j个字符操作的最小次数为(j),只能添加到x dp[i][0]=i: 取a的前i个字符和b的前0个字符操作的最小次数为(i),只能删除x dp[i][j]只有三种来源: 1、由x删除一个字符得到:原创 2016-11-07 22:22:49 · 896 阅读 · 0 评论 -
POJ 1511 Invitation Cards 【最短路,spfa算法,Dijkstra算法堆优化】
Invitation CardsTime Limit: 8000MS Memory Limit: 262144KTotal Submissions: 25219 Accepted: 8346DescriptionIn the age of television, not many people attend theat原创 2016-08-15 15:01:00 · 3012 阅读 · 1 评论 -
POJ 3463 Sightseeing【次短路,Dijkstra算法,链式前向星建图】
题意:旅行团每天固定的从S地出发到达T地,为了省油要求尽量走最短路径或比最短路径长1单位距离的路径,求满足条件的路径条数算法:最短路和次短路。Dijkstra算法。采用邻接表建图。总结:不要用邻接矩阵。因为有重边。 dis[x][2]:dis[x][0]表示起点到x的最短路、dis[x][1]表示起点到x的次短路;arr[x][2]:arr[x][0]表示起点到x的最短路条数、arr[x][1]表示起点到x的次短路的条数;vis[x][2]对应于x和0、1功能为记录该点是否被访问!原创 2016-08-26 10:53:48 · 1290 阅读 · 0 评论 -
HDU 1159 & POJ 1458 Common Subsequence 【LCS】
LCS(Longest Common Subsequence)最长公共子序列模板题。第一组测试数据的答案为:abfb.LCS是DP的基础问题。状态转移方程:dp[i][j]={dp[i−1][j−1]+1,max(dp[i−1][j],dp[i][j−1]),a[i]==b[j]a[i]!=b[j]dp[i][j]表示0到i-1跟0到j-1的最长公共子序列.原创 2016-10-24 21:05:22 · 883 阅读 · 0 评论 -
POJ 1847 Tram 【最短路,spfa算法,题意理解是关键呀!!】
TramTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 13468 Accepted: 4954DescriptionTram network in Zagreb consists of a number of intersections and rail原创 2016-07-30 21:55:19 · 1433 阅读 · 0 评论 -
POJ 3624 Charm Bracelet【01背包入门题】
Charm BraceletTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 34333 Accepted: 15215DescriptionBessie has gone to the mall's jewelry store and spies a原创 2016-09-21 20:59:35 · 2008 阅读 · 0 评论 -
POJ 2546 Circular Area【计算几何,计算两圆相交面积】
题意:给出两个圆的圆心个半径,求两个圆的相交面积。要求相交面积,首先要判断两圆的位置关系。参考博客:http://www.cnblogs.com/luyingfeng/p/4130689.html思路 : 分三种情况讨论假设半径小的圆为c1,半径大的圆为c2。c1的半径r1,圆心坐标(x1,y1)。c2的半径r2,圆心坐标(x2,y2)。d为两圆圆心连线的长度。相交面积为Sd=sqrt((x1-x2)^2+(y1-y2)^2)(1)如果r1+r2<=d那么两圆相离,相交面积S=0(2原创 2016-11-23 20:39:50 · 2589 阅读 · 0 评论 -
POJ 1218 THE DRUNK JAILER【类开灯问题】
THE DRUNK JAILERTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 27268 Accepted: 16933DescriptionA certain prison contains a long hall of n cells, each r原创 2016-08-14 15:57:14 · 1646 阅读 · 3 评论 -
POJ 3264 Balanced Lineup【简单线段树,区间最值,无更新】
简单线段树,区间最值之差,没有更新。注意细节呀。。。原创 2017-01-07 16:54:11 · 1139 阅读 · 1 评论 -
POJ 2186 Popular Cows 【Tarjan+缩点】
题意:给你n头牛,m个关系,每个关系表示a崇拜b,问有多少牛被所有牛所崇拜。崇拜具有传递性。还是先Tarjan缩点,找出出度为0的点,此点为缩点后的点,并判断数量,如果数量为1,则存在,否则不存在。那个点在缩点前的数量即为被所有牛崇拜的数量。为加强理解,给上几组数据。原创 2017-07-21 15:58:10 · 598 阅读 · 0 评论 -
POJ 1236 Network of Schools【强连通缩点】【Tarjan算法】
题意: 一些学校连成了网络, 在学校之间存在某个协议:每个学校都维护一张传送表,表明他们要负责将收到的软件传送到表中的所有学校。如果A在B的表中,那么B不一定在A的表中。 现在的任务就是,给出所有学校及他们维护的表,问1、如果所有学校都要被传送到,那么需要几份软件备份;2、如果只用一份软件备份,那么需要添加几条边?PS:第二道Tarjan,并且还用了缩点,搞了一下午,注意,此题中Tarjan用到的栈要定义成全局变量.....参考博客:原创 2017-07-19 21:42:35 · 834 阅读 · 0 评论 -
POJ 1985 Cow Maratho【树的直径】
题目大意:有n个农场,这n个农场有一些边连着,然后要你找出两个点,使得这一对点的路径长度最大,输出这个最大的长度.输入的最后一个参数没用....直接裸树的直径就可以了.之前都用DFS解决,现在是一下BFS.并且用了pair,建图方便多了,不用结构体,不用写构造函数,配合vector,简直完美...原创 2017-07-12 21:00:08 · 911 阅读 · 0 评论 -
POJ 1383 Labyrinth 【树的直径】【真正的图】
题意:输入一个图,问你‘ . ’连成的区域,两个' . '之间的最长距离是多少.直接裸模板.但是注意输入的行和列,及超时解决.原创 2017-07-13 16:36:19 · 633 阅读 · 0 评论 -
POJ 2631 Roads in the North 【树的直径】
题意:输入是一系列行,每行包含三个正整数:一个村的数量,一个不同的村庄的数量,以及连接村庄的路段长度,以公里为单位。 所有路段都是双向的。您要输出一个整数:该地区最偏远的两个村庄之间的道路距离。现在可以直接裸树的直径的模板了。原创 2017-07-14 14:57:48 · 930 阅读 · 0 评论 -
POJ 1849 Two【树的直径+树的遍历】
题意:两辆清雪车从同一点出发,要清理所有路上的积雪,问耗油量(路程和)最少是多少。不需要回到起点。要使路程最近,若起点在树的直径上,则两辆车往不同的方向走,直径上的边只用走一遍,其他的要走两遍。若起点不在直径上,则两人一起走到直径上,再往不同的方向走。综上:路径和为直径+2*非直径.即:2*sum-d.(sum为路径和,d为直径)原创 2017-07-14 16:26:44 · 667 阅读 · 0 评论 -
POJ 1276 Cash Machine【多重背包】
题意:有各种不同面值的货币,每种面值的货币有不同的数量,请找出利用这些货币可以凑成的最接近且小于等于给定的数字cash的金额.样例1:要取735,取款机内有3种钱:4张125的,6张5的,3张350的.735=3*125+2*5+1*350动态规划,多重背包,可以二进制优化.原创 2017-04-23 22:27:23 · 1026 阅读 · 0 评论 -
POJ 1189 钉子和小球【基础DP】
题目是中文就不多啰嗦了,但是有一点,如果某个点没有钉子,那么小球会落到下面第二层的位置。理解以后就和POJ1136 The Triangle差不多了。由于概率每次都要处于2,并且分数加法有点麻烦,所以,开始时一个数的值设为2^n,这样便可简化运算.运算方法有两种,一.dp[i][j]+=(dp[i-1][j-1]+dp[i-1][j])/2;二.dp[i+1][j]+=dp[i][j]/2,dp[i+1][j+1]+=dp[i][j]/2;相对来说第二种方法更简单一点.样例过程:3216原创 2017-04-21 21:44:12 · 1004 阅读 · 0 评论 -
POJ 1088 滑雪【经典DP】
经典DP,dp[x][y]表示从(x,y)为起点的最长滑雪距离.原创 2017-04-15 16:06:17 · 1172 阅读 · 0 评论 -
POJ 1157 LITTLE SHOP OF FLOWERS【基础DP】
题意:给出f朵花,v个花瓶,要把花都插到花瓶里去,而且花的顺序不能改变,编号小的在左边,每朵花放到花瓶里都会有一定的价值,问如何放才能产生最大的价值我们设dp[i][j]表示处理到第i朵花,然后把第i朵花放到第j个花瓶里时所能获得的最大价值;显然 dp[i][j] = max(dp[i - 1][k]) + val[i][j],其中k< j val[i][j]表示把第i朵花放到第j个花瓶里产生的价值本题dp状态:原创 2017-04-18 22:36:26 · 973 阅读 · 0 评论 -
POJ 3468 A Simple Problem with Integers【线段树区间更新入门题】
线段树区间更新入门题。区间更新用单点更新的方法去做必然会TLE,当要更新的区间正好是某个节点的区间的时候,我们就更新到此,不再继续往下更新,从而节省了时间,实现了次区间更新的高效性。但后面更新的区间是上次更新区间的子区间的时候就要把之前保存在父节点的更新数据“下放”到对应的子区间,从而实现了操作的正确性。对于线段树区间更新的描述网上有好多不错的博客,我就不用再去造轮子了。写法也有好多种,适合自己的才是最好的。以下三篇代表了几种不同的写法。此题参考博客:http://blog.youkuaiyun.com/w00原创 2017-01-10 17:31:14 · 1356 阅读 · 1 评论 -
HDU 1350 & HDU 1960 & POJ 2060 Taxi Cab Scheme【二分图之最小路径覆盖,经典】
题意:样例1中: 8:00的时候要把第一位乘客从(10,11)送到(9,16),花费时间为6min(即曼哈顿距离)。这辆车可以在(9,16)等到08:07 的时候送第二名乘客到达目的地。而样例2中,第二名乘客08:06就要出发,而第一辆车08:06才到,所以要重新派一辆车。因为题目中说"The booked rides in each scenario are sorted in order of increasing departure time."这道题很难想到是二分匹配的最小路径覆盖。想到的话原创 2016-10-10 21:03:03 · 607 阅读 · 0 评论 -
POJ 3767 I Wanna Go Home【最短路,Dijkstra+spfa,题意是关键呀】
题意:一个国家有n个城市,之间共有m条路,每座城市属于group1或group2,1一定属于group1 , 2一定属于group2,属于group2 的城市不能直接到达属于group1的城市,问从1到2的最短路。有人说建图是关键,但我认为,松弛操作时才是关键。建图双向边单向边不好控制。如果均建双向边,求解的过程中避免直接从group2到group1即可。理解题意后DIjkstra算法和spfa算法随便来。原创 2016-09-22 21:07:16 · 1118 阅读 · 0 评论 -
POJ 1062 昂贵的聘礼【Dijkstra算法变形】
虽然题面是中文题,但是理解题目意思也不是那么简单。首先说下样列吧,样列的直观图如下:0号代表起点,1代表终点,就求0-->1的最短路,但本题引入了等级,难度就有了提升,原来本想贪心枚举,看相邻的点的等级差是否在范围内,但后来发现存在问题:例如:在等级差距为2的时候,1和3可以交易,3和5就不可以可以交易了(1,3,5均为等级)。依次枚举交易过程中的最高级别。注意:酋长的级别不一定是最高的。原创 2016-09-19 22:06:01 · 1101 阅读 · 0 评论 -
POJ 2524 Ubiquitous Religions (简单并查集,三种方式)
Ubiquitous ReligionsTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 30791 Accepted: 14928DescriptionThere are so many different religions in the world t原创 2016-06-10 21:59:13 · 3405 阅读 · 0 评论 -
POJ 1131 Octal Fractions (Java大数,八进制转十进制)
Octal FractionsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 6959 Accepted: 3825DescriptionFractions in octal (base 8) notation can be expressed exact原创 2016-05-14 13:17:45 · 4972 阅读 · 0 评论 -
POJ 1001 Exponentiation(大数幂,还是Java大发好!需调用多个方法)
ExponentiationTime Limit: 500MS Memory Limit: 10000KTotal Submissions: 156303 Accepted: 38063DescriptionProblems involving the computation of exact values of very原创 2016-05-14 01:35:20 · 6569 阅读 · 0 评论 -
POJ 2389 Bull Math(大数乘法,还是Java好)
Bull MathTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 14252 Accepted: 7350DescriptionBulls are so much better at math than the cows. They can multipl原创 2016-05-14 00:44:34 · 5495 阅读 · 0 评论 -
POJ 1053 Integer Inquiry (大数加法,还是Java大法好)
Integer InquiryTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 32674 Accepted: 12789DescriptionOne of the first users of BIT's new supercomputer was Chi原创 2016-05-14 00:06:54 · 5338 阅读 · 0 评论 -
Uva 10082 POJ2538 WERTU(简单字符操作)
WERTYUTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 8971 Accepted: 4288Description A common typing error is to place the hands on the keyboard one原创 2016-03-15 17:39:40 · 1390 阅读 · 0 评论 -
POJ1306Combinations(组合数公式)
CombinationsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 9095 Accepted: 4199DescriptionComputing the exact number of ways that N things can be taken原创 2016-03-09 20:09:46 · 1877 阅读 · 0 评论 -
HDU1372&POJ2243Knight Moves(BFS呀,转换一下)
Knight MovesTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 13145 Accepted: 7369DescriptionA friend of you is doing research on the Traveling Knight Pro原创 2016-03-20 22:47:14 · 978 阅读 · 0 评论 -
POJ Knight Moves(BFS呀,但也有坑呀)
Knight MovesTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 23833 Accepted: 11202DescriptionBackground Mr Somurolov, fabulous chess-gamer indeed, asse原创 2016-03-20 22:37:40 · 2369 阅读 · 9 评论 -
POJ 1321 棋盘问题
棋盘问题Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 29621 Accepted: 14687Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求原创 2015-11-14 15:04:45 · 1924 阅读 · 0 评论 -
POJ1159 Palindrome(dp加最少字母构成回文字符串)
PalindromeTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 57426 Accepted: 19910DescriptionA palindrome is a symmetrical string, that is, a string read identically from left to right as well as from right to left. You are to write a program原创 2015-10-27 20:04:30 · 1866 阅读 · 0 评论