IOI
L_0_Forever_LF
一个热爱OI的OIer
展开
-
IOI2017 古书books
乐滋滋在wc上讲的题 对于这类最优化问题,有一个套路是考虑答案的下界,然后判看能不能到达这个下界 首先一个显然的下界是 ∑|i−ai|∑|i−ai|\sum |i-ai| ,但注意到这个下界不够紧,比如序列 1 0 3 2,0和3之间的间隔至少要跨越2次 建一个图,每本书代表一个点,连出一条有向边到他要去的位置,这个的意思就是指这个图中边不相交的环之间的跨越可能要额外的花费 这样确定的下界...原创 2018-02-11 12:54:20 · 1501 阅读 · 0 评论 -
BZOJ4369: [IOI2015]teams分组
将一个人(A,B)视作一个二维平面上的点,则一个小组k可以看作是[0,k]x[k,+∞]的一个矩形 对于每个询问,我们从小到大处理k,每次将当前的可行区域内最低的那些点分配给k,对于不可行或之前取过的点的矩形区域,我们维护他们的拐点,这些拐点从左到右高度递减,用一个单调栈维护,查询矩形内点数可以用主席树 总复杂度O((n+s)logn)O((n+s)logn)O((n+s)logn) cod...原创 2018-06-18 21:48:36 · 634 阅读 · 0 评论 -
BZOJ4371: [IOI2015]sorting排序
我们假设E不操作,A把所有元素复位的最优解是枚举i,若他不在位置i上就和位置i交换,把他转化到图上正确性显然 现在E操作,我们假设位置0~n-1上有碟子0~n-1,碟子i上有苹果i 我们让E操作是交换碟子,A操作是交换苹果 发现这和原问题是等价的,于是我们就可以把E的操作和A的操作分离开来 二分答案,执行完E的前mid次操作后判A是否可以按照上面提到的最优解复原 code: #in...原创 2018-06-18 21:59:51 · 1042 阅读 · 0 评论 -
BZOJ5012[ioi2017]Train
下面定义的能走到/不能走到都是在A,B采取最优决策下的 因为充一次电能跑n个点,所以A胜利的条件就是能走到一个有充电站的环,B反之 如果一个充电车站不能走到任何一个充电车站(包括自己),那么我们可以把它视为不能充电的 我们不断bfs求出哪些充电车站不能被其他充电走到,然后去掉他们,重复这个过程直到图中剩余所有充电车站都可以到达一个充电车站 然后看起点是否能走到某个充电车站就知道是否A赢了 ...原创 2018-06-20 16:02:06 · 569 阅读 · 0 评论