摘要: 题目链接:BZOJ - 1112题目分析枚举每一个长度为k的连续区间,求出这个区间的最优答案,更新全局答案。可以发现,这个区间的所有柱子最终都变成这k个数的中位数时最优,那么我们就需要查询这个区间的中位数了。找到中位数之后,我们还应该求出这个区间内小于中位数的数的和,大于中位数的数的和,从而求出操作... 阅读全文
posted @ 2015-03-09 21:32 JoeFan 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 题目链接:BZOJ - 1106题目分析从1到2n枚举每一个位置。如果枚举到某一个数,这个数已经是第二次出现,那么就看它和第一次出现的位置之间有多少数还没有被匹配,有多少没有匹配的就要进行多少次交换。代码#include #include #include #include #include #in... 阅读全文
posted @ 2015-03-09 20:29 JoeFan 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 题目链接:BZOJ - 1143题目分析这道题在BZOJ上只要求输出可选的最多的祭祀地点个数,是一道求最长反链长度的裸题。下面给出一些相关知识:在有向无环图中,有如下的一些定义和性质:链:一条链是一些点的集合,链上任意两个点x, y,满足要么 x 能到达 y ,要么 y 能到达 x 。反链:一条反链... 阅读全文
posted @ 2015-03-09 19:52 JoeFan 阅读(1925) 评论(0) 推荐(0) 编辑
摘要: 题目链接:BZOJ - 1098题目分析只有两个点之间有边的时候它们才能在不同的楼内,那么就是说如果两个点之间没有边它们就一定在同一座楼内。那么要求的就是求原图的补图的连通块。然而原图的补图的边数是 n^2 级别的,非常庞大,我们不能直接把补图求出来。可以使用一种用链表优化BFS的做法,开始时将所有... 阅读全文
posted @ 2015-03-09 09:07 JoeFan 阅读(484) 评论(0) 推荐(0) 编辑
摘要: 题目链接:UOJ - 74题目分析题目中,将字符串 S 的第一个字符移到末尾,其他字符向前移动一个位置,f(S) 就从 Hi 变成了 Hi+1。我们分析一下这个过程:假设第一个字符为 c, (Hi - 26^(n-1) * c) * 26 + c = Hi+126 * Hi - Hi+1 = (26... 阅读全文
posted @ 2015-03-09 07:47 JoeFan 阅读(387) 评论(0) 推荐(0) 编辑