摘要: 题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=26586 题意:给一个图,每条边有一个权值。要你求选择一棵树,权值和为sum,然后在树上选择一条边权值为w,然后使得sum-2*w最小。 首先求一遍最小生成树,然后求出每两个点之间的最小瓶颈路,然后枚举边就行了。。 1 //STATUS:C++_AC_916MS_30048KB 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define... 阅读全文
posted @ 2013-08-27 02:45 zhsl 阅读(315) 评论(0) 推荐(0)
摘要: 题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=15505 每个h[i]维护两个值l[i]和r[i],分别表示大于h[i]的左边最远距离和小于h[i]的右边最远距离,DP转一下,然后直接求。。 1 //STATUS:C++_AC_80MS_1360KB 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define mem(a,b) memset(a,b,sizeof(a)) 9 typedef long lo... 阅读全文
posted @ 2013-08-27 02:31 zhsl 阅读(182) 评论(0) 推荐(0)
摘要: 题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=26580 题意:给一个模式串,然后m个匹配串,要求删掉匹配串中的所有存在的模式串,使得余下的串中没有模式串。 数据很大,需要O(N)的算法。。。 首先kmp求出模式串的next数组,然后就是kmp匹配了。 但是我们要注意到是要删尽,如BBUGUG,这个样例是删没了的,因此在kmp匹配的时候,对于每个字符 i,我们需要维护两个值 l 和 r,分别表示 i 的左边的有效字符串的下标和右边有效字符串的下标。同时还要维护一个cur[i]数组,表示位置为 i 的字符的next值。然后如... 阅读全文
posted @ 2013-08-27 02:24 zhsl 阅读(297) 评论(0) 推荐(0)
摘要: 题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=26579 考虑两个性质:蚂蚁的相对位置不变,蚂蚁碰撞时相当于对穿而过,然后排两次序就可以了。。 1 //STATUS:C++_AC_204MS_3048KB 2 #include 3 #include 4 #include 5 //#include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #inc... 阅读全文
posted @ 2013-08-27 02:09 zhsl 阅读(378) 评论(0) 推荐(0)