11 2016 档案

摘要:题目链接请戳 这里 解题思路 用最大流。需要注意的只有拆点 代码 阅读全文
posted @ 2016-11-11 17:01 啊嘞 阅读(174) 评论(0) 推荐(0)
摘要:题目链接请戳 这里 解题思路 主要有两点: 1.当有中间节点可以经过时,根据乘法原理,i到j的路径数等于i到k路径数乘k到j的路径数。 2.只要路径中有经过某个节点是有回路的(即自己到自己),则路径数是无穷的。 代码 阅读全文
posted @ 2016-11-11 15:16 啊嘞 阅读(200) 评论(0) 推荐(0)
摘要:题目链接请戳 这里 解题思路 直接用floyd就行了。再求最大值。 代码 阅读全文
posted @ 2016-11-11 15:07 啊嘞 阅读(174) 评论(0) 推荐(0)
摘要:题目链接请戳 这里 解题思路 需要知道floyd的动态规划思想. 需要注意的是这里无法用滚动数组来压缩空间。 因为需要每次和现在情况作比较,而不是仅仅和过去作比较。 要保存路径的话,再加个path数组,打印就类似于动态规划的路径打印。 代码 阅读全文
posted @ 2016-11-10 19:05 啊嘞 阅读(175) 评论(0) 推荐(0)
摘要:题目链接请戳 这里 解题思路 需要知道差分约束系统 代码 阅读全文
posted @ 2016-11-09 19:43 啊嘞 阅读(209) 评论(0) 推荐(0)
摘要:题目链接请戳 这里 解题思路 用Dijkstra和SPFA算法解决。 这次还是SPFA快,快了10ms 代码 首先是Dijkstra的 然后是SPFA的代码 阅读全文
posted @ 2016-11-08 22:50 啊嘞 阅读(281) 评论(0) 推荐(0)
摘要:题目链接请戳 这里 解题思路 用Dijkstra或者SPFA解决。 主要问题是怎么建图和怎么处理换乘。 1.建图 对于每部电梯,经过的楼层两两都要连接,且有回边。 2.判断换乘 每条边上记录所用时间和用的哪部电梯。用一个数组choice[]保存每次到达楼层时之前乘坐的电梯, 对于楼层0需要特判。其实 阅读全文
posted @ 2016-11-08 19:31 啊嘞 阅读(267) 评论(0) 推荐(0)
摘要:题目链接请戳 这里 解题思路 用floyd。思路和噪声那道很像。 区别是初始化有区别吧。因为要max所以初始化要都变为0. 还有题意。导游也占了一个位置。 然后这次我又没有把回边也初始化了。。。T_T 代码 阅读全文
posted @ 2016-11-06 19:52 啊嘞 阅读(201) 评论(0) 推荐(0)
摘要:题目链接请戳 这里 解题思路 这道题表面上需要你建图,其实只需在bfs扩展节点时“建立”就好了。 用Dijkstra或者SPFA就可求出最短路。 如果单纯地使用隐式图搜索,只能得到最少步数,而题目要求出最少时间。 可以用位运算来改变某一位,速度比较快。比如要设置第二为为1,可以:x | (1 << 阅读全文
posted @ 2016-11-05 19:45 啊嘞 阅读(359) 评论(0) 推荐(0)
摘要:题目链接请戳 这里 解题思路 最小生成树。用Kruskal得到最小生成树。 再用贪心,最长的那些边连电缆,剩余的用电报, 这样就很容易想到半径是多少。 代码 阅读全文
posted @ 2016-11-03 14:16 啊嘞 阅读(259) 评论(0) 推荐(0)
摘要:题目链接请戳 这里 解题思路 数据好像加强了,,,Kruskal过不了(还是我写搓了?)。。。 用Prim吧。把已经存在的边,距离都设为0(反向边也是),这样生成的MST一定 会包含这些边。 代码 阅读全文
posted @ 2016-11-03 14:11 啊嘞 阅读(135) 评论(0) 推荐(0)
摘要:题目链接请戳 这里 解题思路 用Floyd算法 代码 阅读全文
posted @ 2016-11-03 14:05 啊嘞 阅读(146) 评论(0) 推荐(0)