- 博客(4)
- 收藏
- 关注
原创 【BZOJ 4568】[Scoi2016]幸运数字
将路径看作序列,求一个序列的最大异或和显然可以考虑求出它的异或线性基。如果对于每个询问(x,y)(x,y)的lcalca都求出它到子树的每个点的路径的异或线性基,显然时间和空间无法接受,考虑点分治。对于每个重心xx处理所有路径经过xx的询问,具体可以dfsdfs求出xx到所在联通块所有点的路径的异或线性基。用类似主席树的思想,我们可以在父亲的线性基的基础上O(60)O(60)扩展一个子节点。回答询问
2017-09-27 13:45:47 339
原创 【BZOJ 2433】[Noi2011]智能车比赛
朴素的做法是O(n2)O(n^2)枚举点对然后O(n)O(n)判断这两点连边是否合法。显然会超时,考虑优化判断的过程。由于数据已经满足相邻两个矩阵必定左右相邻,所以最优路径必定是从SS点一直朝TT的方向走,这样连边过程就具有单调性。在某个点朝右(朝左同理)可以观测到的区域显然是以这个点为顶点的角,而且在向右扩展的过程中,这个角的上半边的变化其实是维护一个上凸包,下半边维护一个下凸包。扩展终止在上半边
2017-09-27 01:28:47 402
原创 【BZOJ 4238】电压
显然偶环中的任意一边都不能取,并且取的边必须被包括在所有奇环中。进一步讨论可以发现只要求出所有基环就可以得到答案。可以考虑任意取一棵生成树dfsdfs,非树边可以单独讨论,树边需要支持的操作是路径+1,路径置0。显然可以树上差分。““include
2017-09-23 09:55:15 292
原创 【BZOJ 4347】[POI2016]Nim z utrudnieniem
【BZOJ 4347】[POI2016]Nim z utrudnieniem今天第一次写blog那就从现在做的第一题开始写吧。。问题可以转化成取走若干堆使得剩下堆异或和为0。朴素的做法是用f[i][j][k]f[i][j][k]表示前ii堆,已经取的堆数%d==j\%d==j,异或和为kk的方案数,暴力转移时间复杂度O(n∗d∗maxai)O(n*d*\max{a_i})。首先优化时间,由于∑ai≤
2017-09-20 23:04:23 296
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人