上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 34 下一页
摘要: B. Fire-Fighting Hero (dijstra优先队列+bfs) 题意:刚开始看错题了,以为是k次dijkstra,但是wa了,后来队友指正后发现挺水的。求S到其它点的最短路的最大值ans1,然后求其它点到指定k个点之一的最短路的最大值ans2。比较ans1和ans2即可。 思路:用d 阅读全文
posted @ 2019-09-09 12:46 Frank__Chen 阅读(535) 评论(0) 推荐(0) 编辑
摘要: B. hxc写的 AC code: #pragma GCC optimize(2) #include <cstdio> #include <queue> #include <string> #include <cstring> #include <algorithm> #include <cstdl 阅读全文
posted @ 2019-09-08 21:03 Frank__Chen 阅读(496) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://vjudge.net/problem/POJ-1269 题意:给出4个顶点,表示两条直线,求这两条直线的相交情况,重合输出LINE,平行输出NONE,相交于一点输出该点的距离。 思路: 用叉积判断直线的重合和平行,并且可以用叉积求相交直线的交点。 用叉积求直线交点的模板: 阅读全文
posted @ 2019-09-07 11:13 Frank__Chen 阅读(661) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://vjudge.net/problem/POJ-3304 题意:求是否能找到一条直线,使得n条线段在该直线的投影有公共点。 思路: 如果存在这样的直线,那么在公共投影点作直线的垂线,显然该垂线会经过所有直线,那么原题转换为求是否有经过所有线段的直线。 如果存在这样的直线,那么 阅读全文
posted @ 2019-09-06 20:21 Frank__Chen 阅读(573) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://vjudge.net/problem/POJ-2318 题意:有n条线将矩形分成n+1块,m个点落在矩形内,求每一块点的个数。 思路: 最近开始肝计算几何,之前的几何题基本处于挂机状态,但听别人说几何题不会太难,所以打算把几何给过了。 先引入叉积的一个重要性质,O为原点: 阅读全文
posted @ 2019-09-06 10:16 Frank__Chen 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://vjudge.net/problem/POJ-3107 题意:求树的可能的重心,升序输出。 思路:因为学树形dp之前学过点分治了,而点分治的前提是求树的重心,所以这题就简单水了一下。用sz[u]记录子树u的大小,son[u]记录以u为根时,子结点中最大的结点数。所以: so 阅读全文
posted @ 2019-09-05 19:38 Frank__Chen 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://vjudge.net/problem/HDU-3586 题意:一棵边权树,要删掉一些边使得每个叶子结点不能到达树根,且这些边的权值<=上限Max,且边权和小于m,求最小的上限ans,如果不满足则输出-1。 思路: 属于删边的树形dp。二分枚举上限Max,查找最小的满足要求的 阅读全文
posted @ 2019-09-05 19:14 Frank__Chen 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://vjudge.net/problem/POJ-2486 题意:一棵点权树,起点在1,求最多经过m条边的最大点权和。 思路: 树形dp经典题。用3维状态,dp[u][j][0/1]表示在子树u中走j步的最大价值(回到u/不回到u)。显然dp[u][j][1]>=dp[u][j 阅读全文
posted @ 2019-09-04 21:46 Frank__Chen 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://vjudge.net/problem/HDU-4003 题意:给一棵边权树,在树根s有m个人,要通过m个人遍历到所有点,一个人经过一条边花费为边的权值,求最小花费(可以走已经走过的边)。 思路: 状态比较好想,用dp[u][j]表示在u结点的子树中有j个人的最小花费。但转移 阅读全文
posted @ 2019-09-04 13:43 Frank__Chen 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://vjudge.net/problem/HDU-1561 题意:给一个森林,每个结点有个权值,求选m个结点的最大权值和,并且选子结点前必须先选父结点。 思路: 把每颗树的树根连在0号结点上,那么就是一棵树了,最后求选m+1个结点的最大权值即可。状态很好想,用dp[u][j]表 阅读全文
posted @ 2019-09-04 11:10 Frank__Chen 阅读(113) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 34 下一页