随笔分类 -  Java

上一页 1 ··· 6 7 8 9 10
使用java编写的程序或者和java有关的题目
摘要:Wormholes "POJ 3259" 这题是最短路问题中判断是否存在负圈的模板题。 判断负圈的一个关键就是理解:如果在图中不存在从s可达的负圈,最短路径不会经过一个顶点两次。while循环最多执行v 1次。 这题还需要注意的是输入的w条边的权值是负值,因为这是虫洞边。 阅读全文
posted @ 2020-05-10 17:26 Garrett_Wale 阅读(206) 评论(0) 推荐(0) 编辑
摘要:Currency Exchange "POJ 1860" 这题其实是最短路问题的变形,但是这里不用求解最短路,而是求解路径中是否存在正圈。如果存在正圈则说明兑换后的货币可以一直增加,否则不能实现通过货币转化来增加财富。 这和经典的使用Bellman Ford判断是否存在负权也有不同的地方,这里需要在 阅读全文
posted @ 2020-05-10 16:59 Garrett_Wale 阅读(402) 评论(0) 推荐(0) 编辑
摘要:Heavy Transportation "POJ 1797" 这题是最短路题型的变形,该题不是求起点到终点的最短路,而是求路径中的最小边的最大值。 这题的求解思路是:将原来dijkstra中的松弛方程改一下,改成求最小边的最大值的松弛方程:d[j]=max(d[j],min(d[i],w[i][j 阅读全文
posted @ 2020-05-09 21:23 Garrett_Wale 阅读(517) 评论(0) 推荐(0) 编辑
摘要:Til the Cows Come Home "POJ 2387" 这题是最简单的最短路求解题,主要就是使用dijkstra算法,时间复杂度是O(n2). 需要注意的是,一定要看清楚题目的输入要求,是先输入边,再输入顶点,一开始我没看清,wrong answer了一次。 阅读全文
posted @ 2020-05-09 19:50 Garrett_Wale 阅读(201) 评论(0) 推荐(0) 编辑
摘要:斐波那契数列 "PREV 29" 这题的难度很大,主要是题目中的要求数据量太大,1^18,这不管是运行时间会超时,而且累加的话也会超出long型的大小。 我采用多种方法来求解这道题目,逐步优化算法。 1. 基础解法:直接暴力求解斐波那契数列(得分:40) 我们深入考虑斐波那契的性质: 1.1 f(x 阅读全文
posted @ 2020-03-16 16:17 Garrett_Wale 阅读(398) 评论(0) 推荐(0) 编辑
摘要:分巧克力 "PREV 37" 可以使用暴力来求解,但是1^10显然运行时间会超出1s的时间限制。 这里可以通过二分查找的方法来优化这次搜索。 阅读全文
posted @ 2020-03-15 23:12 Garrett_Wale 阅读(414) 评论(0) 推荐(0) 编辑
摘要:包子凑数 "PREV 36" 这题首先需要知道不定方程的一些性质,即:ax+by=c的解的情况: 如果a,b互质,则一定有解且由无穷多个。若限制x,y =0,则ax+by=c有可能有负数解,即存在有限个c使得方程无正数解。且存在max{c|使方程无解的c}=a b a b; 如果a,b不互质,则可能 阅读全文
posted @ 2020-03-15 22:22 Garrett_Wale 阅读(292) 评论(0) 推荐(0) 编辑
摘要:正则表达式 "PREV 35" 首先看到题目的要求是求解最长的字符串,一看到最长应该想到一般是使用深度优先搜索和动态规划。 本题中求解的是正则表达式,因为符号只有四种,而且括号可以嵌套,所以我们可以从递归的角度求解最长的长度。 当遇到的字符是左括号时,这个时候应该继续递归以等待右括号的出现,当遇到的 阅读全文
posted @ 2020-03-15 21:14 Garrett_Wale 阅读(258) 评论(0) 推荐(0) 编辑
摘要:油漆面积 PREV-38 解法一:使用线段树和扫描线模板求解: 一个比较好的关于扫描线和线段树的总结模板:原文链接:https://blog.csdn.net/tomorrowtodie/article/details/52048323 问题:给出若干个矩形,(给的是矩形左上角和右下角坐标),求最后 阅读全文
posted @ 2020-03-14 20:28 Garrett_Wale 阅读(866) 评论(2) 推荐(1) 编辑
摘要:分考场 "PREV 53" 这题的解决方法使用dfs,因为数据很小,才100. 每次当前的人人是否可以和前面的组队,设置两个数组group和fri 阅读全文
posted @ 2020-03-13 12:06 Garrett_Wale 阅读(216) 评论(0) 推荐(0) 编辑
摘要:合根植物 "PREV 54" 这题主要考察的也是并查集。 直接应用并查集的模板就可以了。 阅读全文
posted @ 2020-03-13 11:12 Garrett_Wale 阅读(172) 评论(0) 推荐(0) 编辑
摘要:小计算器 "PREV 55" 这题我使用的是java来求解,因为这题需要求解各种进制的转换。可以利用valueOf和toString来转换各种进制。 值得注意的是:这题有很多细节,因为有的命令之间不是必然连续的,所以需要处理。 我一开始总是运行错误,后来发现这是漏写了一个flag的情况。 阅读全文
posted @ 2020-03-13 10:33 Garrett_Wale 阅读(313) 评论(0) 推荐(0) 编辑
摘要:Tram "POJ 1847" 这里其实没有必要使用SPFA算法,但是为了巩固知识,还是用了。也可以使用dijikstra算法。 阅读全文
posted @ 2019-09-06 10:58 Garrett_Wale 阅读(147) 评论(0) 推荐(0) 编辑
摘要:Candies "POJ 3159" 这里是图论的一个应用,也就是差分约束。通过差分约束变换出一个图,再使用Dijikstra算法的链表优化形式而不是vector形式(否则超时)。 阅读全文
posted @ 2019-08-24 15:43 Garrett_Wale 阅读(201) 评论(0) 推荐(0) 编辑

上一页 1 ··· 6 7 8 9 10
点击右上角即可分享
微信分享提示