随笔分类 - Ynoi
摘要:题面传送门 震惊!Ynoi居然不卡常。 首先你看到这个东西开了而且数据范围只有就大概知道这个是个根号了。 然后又发现这个有很强的弹飞绵羊既视感。 于是考虑分块。 考虑维护和弹飞绵羊一样的一个东西表示跳出当前块到哪里。 然后零散块暴力重构即可。
阅读全文
摘要:题面传送门 你会发现这道题时限松得不可思议 这种东西离线都是根号的肯定在线考虑分块。 然后显然预处理表示到块间的答案。同时我们处理表示前个块中小于等于的元素个数用以处理 然后两个散块之间直接归并就好了。 散块内部用树状数组预处理。 散
阅读全文
摘要:题面传送门 居然一遍过我太惊讶了。 首先,题目中那个期望是假的,实际要求出现次数。 然后你会发现对于一个,答案不会超过 那么总的答案就是 你会发现这个其实和不同阶,这个甚至两个log都可以过。 如果我们对于每一个答案的增加然后树状数组维护一下
阅读全文
摘要:题面传送门 众所周知线段树套线性基不能上标记。 所以直接搞肯定不行。 考虑差分,然后就可以转化成单点修改了. 另外再维护一个树状数组作为单点查询原数列。就可以做了。 复杂度 code: #include<cstdio> #define I inline #de
阅读全文
摘要:题面传送门 没有修改,考虑莫队,容易想到一个移动指针时用树状数组维护的的方法,但是过不去。 这种情况就可以考虑莫队二次离线,把询问拆分,分类讨论一下即可。 注意这道题需要维护正反两个离线。注意卡常。注意离线那个树状数组要用域值分块来做到查询。 哦还有这道
阅读全文
摘要:题面传送门 不小心抢了个最优解,比第二少了 分块+根号分治套路题。 看到这种跳着加的就知道是根号分治了。 对于的直接加,用分块维护。 对于的,维护数组表示跳个,从开始加了几次。为了之后统计方便,还要前缀和。 统计时,一部分是分块直接统计。
阅读全文
摘要:题面传送门 第二道题目。感觉还是很良心的。 区间相同个数,很容易想到。 然后可以用莫队维护出来,最后与一下就好了。 但是相同的数怎么办呢? 离散的时候把位置空出来,之后维护一下有几个就好了。 注意加一些常数优化之类的。 代码实现: #include<cstdio> #in
阅读全文
摘要:题面传送门 蛮好的一道题目。 考虑状压。对原数列做前缀和,每一位代表是奇数个还是偶数个。那么前缀和亦或就可以得到一个区间。 对于一个区间,只有亦或和是或时才能构成回文串。那么莫队增加和修改时枚举即可。 注意前缀和要往前一位。 时间复杂度 注意常数不
阅读全文
摘要:题面传送门 Ynoi虐我千百遍,我待sjjg如初见 话说真是毒瘤,不开寄存器居然过不去。 这道题前三问可以从小清新人渣的本愿过来,开个暴力乱搞就好了。 主要是第四问。 考虑暴力乱搞(这还要考虑?),那么的时候复杂度将会很高,达到了。 考虑优化。 采
阅读全文