摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4679思路:一开始看到题目的时候完全没什么想法,然后就跟着网上的解题报告学的,总算是理解的还行。做法:先找一条最长路,如果去掉的边不是这条最长路的,那么直接就是最长路乘上权值,否则的话,以最长路的两端进行双向dfs,每次求出某节点以下子树中的最长路。http://paste.ubuntu.com/5999233/ 阅读全文
posted @ 2013-08-18 19:15 ihge2k 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4681思路:首先预处理出串C在A,B中的所有的位置,然后从前向后求一次最长公共子序列,从后向前求一次最长公共子序列。最后就是直接枚举所有可能的组合了。PS:就因为把strlen写在了循环里,TLE了好多次。http://paste.ubuntu.com/5998824/ 阅读全文
posted @ 2013-08-18 16:03 ihge2k 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4576思路:由于每次从某一位置到达另一位置的概率为0.5,因此我们用dp[i][j]表示第i次操作落在位置j的概率,并且可以发现,当前位置的概率只与上一次的位置上的概率有关,因此我们可以滚动数组来处理。最后就是从l到r的概率累加了。http://paste.ubuntu.com/5998274/ 阅读全文
posted @ 2013-08-18 11:21 ihge2k 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4587思路:题目的意思很简单,就是删除任意2个节点以及关联的边,求图的最大连通分量数。我们知道删除割点连通分量会增加,因此我们可以枚举其中一个点,然后另一个点选择割点,统计每次的最大值即可。http://paste.ubuntu.com/5998026/ 阅读全文
posted @ 2013-08-18 09:20 ihge2k 阅读(786) 评论(0) 推荐(0) 编辑