摘要:
题目分析: 首先不难注意到式子就是异或卷积,所以考虑用分治乘法推出优化方法。我们把一个整体$f$拆成$f-,f\pm,f+$,然后另一个拆成$g-,g\pm,g+$.这样做的好处是能更清楚的分析问题。下面我们下宽油(大雾)。发现三个部分要求的式子是在两者相乘中选不同的三个,所以我们发现三个部分中每取 阅读全文
摘要:
好久没写了,写一篇凑个数。 题目分析: 这题不难想,讲一下中国剩余定理怎么扩展。 考虑$$\left\{\begin{matrix}x \equiv a\pmod{b}\\ x \equiv c\pmod{d}\end{matrix}\right.$$ 不难发现需要满足$gcd(b,d)|(c-a) 阅读全文
摘要:
题目分析: 不难发现可以用动态DP做。 题目相当于是要我求一条路径,所有与路径有交的链的代价加入进去,要求代价最大。 我们把链的代价分成两个部分:一部分将代价加入$LCA$之中,用$g$数组保存;另一部分将代价加在整条链上,用$d$数组保存。 这时候我们可以发现,一条从$u$到$v$的路径的代价相当 阅读全文
摘要:
题目分析: 这种乱七八糟的题目一看就是点分治,答案有单调性,所以还可以二分答案。 我们每次二分的时候考虑答案会不会大于等于某个值,注意到系数$k$是无意义的,因为我们可以通过转化使得$k=0$。 合并的过程相当于很多个向量,加起来后看斜率。 注意单个向量也要判定。 由于有了二分的答案$Ans$。判定 阅读全文
摘要:
题目分析: 我记得很久以前有人跟我说NOIP2016的题目出了加强版在清华集训中,但这似乎是一道无关的题目? 由于$k$为素数,那么$lucas$定理就可以搬上台面了。 注意到$\binom{i}{j} \equiv 0 {\mod k}$当且仅当将$i$和$j$用$k$进制表示的时候,有一位上的$ 阅读全文
摘要:
题目分析: 把$0$卡牌看成$-1$。题目要求前缀和始终大于等于$1$。 最后添加一个$-1$,这样除了最后一位之外大于等于1,最后一位等于0。 构造圆排列。这样的话一个圆排列只有一个满足的情况,然后考虑我们多出了一个$-1$,所以除去。 代码: 阅读全文
摘要:
题目分析: 差评,最大生成树裸题。hack数据还卡常。 代码: 阅读全文
摘要:
题目分析: 好像跑得很快,似乎我是第一个启发式合并的。 把玩具看成区间。首先很显然如果有两个玩具的进出时间有$l1<l2<r1<r2$的关系,那么这两个玩具一定在不同的栈中间。 现在假设一定有解,我们怎么得到答案呢?排序会使得计算变得方便,下面我们按照左端点排序。 想象一条扫描线,从左往右,当它遇到 阅读全文
摘要:
题目分析: 对于一个$add$操作,它的特点是与树状数组的查询相同,会给$1$到它自己产生影响,而$query$操作则会途径所有包含它的树状数组点。现在$add$操作具有前向性(不会影响之后的点)。所以实际上这是求后缀和。 现在我们知道,对于$query(l,r)$,它等于${Xor}_{i=l-1 阅读全文
摘要:
题目分析: 答案肯定是链,否则可以把枝干放到主干。 去除一直存在的位,这样0位占满时就会结束。 用$f[S]$表示0位填埋情况,每次转移是它的一个子集,我们考虑可否转移。 再用$g[S]$存储转移是否合法,用滑稽果填充$g$数组。不一定要完全满足条件,因为有其它方案更优,无影响。 代码: 阅读全文