随笔分类 -  codeforces

摘要:题目链接:http://codeforces.com/problemset/problem/14/D思路:直接枚举每一天路径的两端,然后求以每一端为树根的树上最长路径,然后相乘就可以了。#include #include #include #include #include #define RE... 阅读全文
posted @ 2014-06-07 20:49 ihge2k 阅读(685) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/164/A思路:用vector分别保留原图和发图,然后分别从val值为1的点正向遍历,va值为2的点反向遍历,如果某个点这两种方式都可以遍历到,则输出1,否则输出0.#include #include #in... 阅读全文
posted @ 2014-06-06 21:12 ihge2k 阅读(175) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/437/D思路:并差集应用,先对所有的边从大到小排序,然后枚举边的时候,如果某条边的两个顶点不在同一个集合中就合并,并且用一个sum记录这两个集合的大小,这样这两个集合中的每一对点都要经过这条边,然后更新一下... 阅读全文
posted @ 2014-06-05 22:24 ihge2k 阅读(267) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/118/E思路:首先要判断图是否是边双连通,这个Tarjan算法可以判断,若low[v] > dfn[u],则说明边(u,v)是桥,从而这个图不是边双连通,然后发现在判断的时候已经访问了所有的顶点,顺便加入就... 阅读全文
posted @ 2014-06-05 17:01 ihge2k 阅读(291) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/contest/95/problem/C思路:首先dijkstra预处理出每个顶点到其他顶点的最短距离,然后如果该出租车到某个顶点的距离小于等于最短距离,就连边,费用为一开始出租车所需的费用,建好图之后再求一次最短路即可。#include #in... 阅读全文
posted @ 2014-06-04 21:07 ihge2k 阅读(177) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/20/C思路:需要用优化过的dijkstra,提供两种写法。#include #include #include #include #include #include #include #define REP... 阅读全文
posted @ 2014-06-04 16:47 ihge2k 阅读(276) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/contest/208/problem/C思路:题目要求的是经过1~N的最短路上的某个点的路径数 / 最短路的条数的最大值。一开始我是用spfa得到从1开始的最短路和从N开始的最短路,然后分别从N开始记忆化搜索,得到从1到达最短路径上的u的路径条... 阅读全文
posted @ 2014-06-04 10:46 ihge2k 阅读(170) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/contest/433/problem/C思路:可以想到,要把某一个数字变成他的相邻中的数字的其中一个,这样总和才会减少,于是我们可以把每个数的左右两个相邻的数字存起来,然后我们可以想到,把某个数变成这些相邻的数的中位数总和最小。#include... 阅读全文
posted @ 2014-05-30 16:43 ihge2k 阅读(280) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/144/D思路:首先spfa求出中心点S到其余每个顶点的距离,统计各顶点到中心点的距离为L的点,然后就是要统计在边上的点了,可以枚举边(这里边的数量最多也就100000条),对于枚举的某条边,如果它的其中某个... 阅读全文
posted @ 2014-05-29 22:51 ihge2k 阅读(173) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/contest/283/problem/B思路: dp[now][flag]表示现在在位置now,flag表示是接下来要做的步骤,然后根据题意记忆化搜索记忆,vis数组标记那些已经访问过的状态。#include #include #include... 阅读全文
posted @ 2014-05-29 17:01 ihge2k 阅读(162) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/263/D思路:一遍dfs即可,dp[u]表示当前遍历到节点u的长度,对于节点u的邻接点v,如果v没有被访问过,则继续访问,否则计算dp[u] - dp[v] + 1是否大于等于K + 1,如果是,就说明找到... 阅读全文
posted @ 2014-05-29 10:42 ihge2k 阅读(383) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/131/D思路: 题目的意思是说给定一个无向图,求图中的顶点到环上顶点的最短距离(有且仅有一个环,并且环上顶点的距离不计)。一开始我是直接用Tarjan求的无向图的双连通分量,然后标记连通分量上的点(如果某一... 阅读全文
posted @ 2014-05-28 17:18 ihge2k 阅读(242) 评论(0) 推荐(0)