摘要: 分析:这个题一眼看上去很难,但是正着做不行,我们换个角度:考虑每条边的贡献 因为是一棵树,所以一条边把树分成两个集合,假如左边有x个学校,右边有y个学校 贪心地想,让每条边在学校的路径上最多,所以贡献为min(x,y) 具体实现:一次dfs即可,复杂度O(N) #include <stdio.h> 阅读全文
posted @ 2016-07-24 17:33 shuguangzw 阅读(168) 评论(0) 推荐(0) 编辑
摘要: BestCoder Round #84 1003 分析:(先奉上zimpha巨官方题解) 感悟:看到题解单调队列,秒懂如何处理每个点的范围,但是题解的一句算贡献让我纠结半天 已知一个点的up,down,left,right,即上下左右的扩展范围,如何确定贡献呢 其实也很好做,把所有可能的矩形的长算出 阅读全文
posted @ 2016-07-24 16:07 shuguangzw 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 感悟:这又是zimpha巨出的一场题,然后04成功fst(也就是这题) 实际上还是too young,要努力增加姿势, 分析:直接枚举这些数不好枚举,换一个角度,枚举x*d,也就是d的另一个乘数是多少 显然 x<=min(d,(n-1)/d),x还得是质数,最后发现x必须小于d的最小因子 然后预处理 阅读全文
posted @ 2016-07-24 11:08 shuguangzw 阅读(317) 评论(0) 推荐(0) 编辑