一个人的旅行
Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 20245    Accepted Submission(s): 7073
Problem Description
虽然草儿是个路痴(就是在杭电待了一年多,居然...
                            
                            
                                分类:
其他好文   时间:
2014-11-21 14:30:52   
                                阅读次数:
178
                             
                         
                    
                        
                            
                            
                                最短路径问题
Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 14172    Accepted Submission(s): 4339
Problem Description
给你n个点,m条无向边,每条边都有长度d和花...
                            
                            
                                分类:
其他好文   时间:
2014-11-21 12:43:24   
                                阅读次数:
175
                             
                         
                    
                        
                            
                            
                                1321_Robot题目链接:http://soj.me/1321题目大意:给一个矩阵,每一个点上面的数字表示走到该点需要的花费,找出给定起点到终点的最小总花费思路:每个格子看作一个结点,花费可以看作从上一个点走到这个点的路程,那么这道题就是典型的最短路径问题,可以用Dijkstra算法解决。一开始...
                            
                            
                                分类:
其他好文   时间:
2014-11-21 01:26:41   
                                阅读次数:
235
                             
                         
                    
                        
                            
                            
                                题目大意:给出一个城市各个道路的双向流量,城市的左上角的高度是0,城市的右下角的高度是1,若人流升高海拔就会消耗体力,问最小需要消耗多少体力。
思路:这道题才是真正的让我见识到了algorithm中的heap的强大。
分析这道题可以发现,一定会有一条分界线,这个分界线左边高度都为0,右边高度都是1,然后找到这条分界点就可以了。明显的最小割。但是数据量巨大,直接跑最大流会T,又是平面图,...
                            
                            
                                分类:
其他好文   时间:
2014-11-20 17:10:52   
                                阅读次数:
237
                             
                         
                    
                        
                            
                            
                                这个题目是自己瞎搞弄出来的答案,不知道有没有更优的方法,但是,也说下自己的思路好了
首先明确题目要求,要先从点s出发,然后最短的回到s的路径,所以必然有两种情况
1:出发之后回不来
2:出发之后回来
好吧,确实有点废话,假设第一个到的点为t
则1和2的情况都是求t到s的最短路径,所以只要把从s能达到的点都求一遍最短路径就可以了
但是本题需要注意的问题是
1:在给的有向图中,即边会重复,所以要求一个最短的保存在邻接矩阵中
2:这也是最大的bug,竟然会有s-s的边,这样的话,采用上面的方法就会有点瑕疵了,因...
                            
                            
                                分类:
其他好文   时间:
2014-11-20 17:05:18   
                                阅读次数:
166
                             
                         
                    
                        
                            
                            
                                题目大意:给定一个值E 求起点到终点的最多条路径 使长度之和不超过E
k短路的A*算法……每个点有一个估价函数=g[x]+h[x] 其中g[x]是从源点出发已经走了的长度 h[x]是从这个点到汇点的最短路
首先先在反图上跑一遍SPFA求出每个点的h[x],然后将源点的g[x]+h[x]加入堆 每次取出堆顶时将堆顶的g[x]向所连接的边扩展 第k次取出汇点即是答案
其中有一个剪枝就是当第k+1...
                            
                            
                                分类:
其他好文   时间:
2014-11-20 13:44:55   
                                阅读次数:
209
                             
                         
                    
                        
                            
                            
                                题意: 给一个正方形,从左边界的中点走到右边界的中点,中间有一些墙,问最短的距离是多少。解法: 将起点,终点和所有墙的接触到空地的点存下来,然后两两之间如果没有线段(墙)阻隔,就建边,最后跑一个最短路SPFA,即可得出答案。代码:#include #include #include #include...
                            
                            
                                分类:
其他好文   时间:
2014-11-19 23:32:41   
                                阅读次数:
259
                             
                         
                    
                        
                            
                            
                                A strange lift
Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 12230    Accepted Submission(s): 4656
Problem Description
There is a str...
                            
                            
                                分类:
其他好文   时间:
2014-11-19 22:23:49   
                                阅读次数:
193
                             
                         
                    
                        
                            
                            
                                题意: 给一些圆,要求从第一个圆的圆心走到最后一个圆的圆心,中间路径必须在某个圆内,求最短路径的长度。解法: 易知要保持在圆内且路径最短,走两圆相交的点能使路径尽量短,所以我们找出所有的两圆相交的点,再加上起点和终点,放到一个容器中,去重后,判断每两点之间的线段是否都在圆内,如果是则建边,建完所有的...
                            
                            
                                分类:
其他好文   时间:
2014-11-19 12:32:02   
                                阅读次数:
265
                             
                         
                    
                        
                            
                            
                                经典的贪心策略 Prim算法,Kruskal算法求最小...
                            
                            
                                分类:
编程语言   时间:
2014-11-19 01:52:38   
                                阅读次数:
173