- 博客(3)
- 收藏
- 关注
原创 Codeforces Round #238 (Div. 1)
D: 建树,然后倍增法求最近公共祖先。 建树的方法: 考虑当前这座山i能飞到最右边是哪座?一定是与这座山斜率最大的,那么父节点就是它了。 fa[]表示父节点,先比较i+1与fa[i+1]关于i的斜率,如果前者小于后者。那么就要去比较fa[i+1],fa[fa[i+1]]。直到前者大于等于后者。 这里的复杂度是O(n)。因为如果i+1的斜率是小于fa[i+1]的,那么i的父节点必然
2014-03-24 21:27:09 801
原创 Codeforces Round #235 (Div. 2)
C、D C: 范围在[n-1,(n+1)*2]之间是可以构造出来的,0必须用至少1个1隔开。 code: #include #include #include #include #include #include #include #include #include #include #include #include #include #incl
2014-03-11 02:03:44 780
原创 Codeforces Round #234 (Div. 2)
C、D C: 把所有0的边所连的两个点加入同一个集合,如果对于某类型所有点都在同一个集合就是correct。 然后就是500^3的floyd code: #include #include #include #include #include #include #include #include #include #include #inclu
2014-03-07 22:54:48 838
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人