
Ynoi
fxt275307894a
这个作者很懒,什么都没留下…
展开
-
luogu P5309 [Ynoi2011]初始化
题面传送门不小心抢了个最优解,比第二少了0.6s0.6s0.6s分块+根号分治套路题。看到这种跳着加的就知道是根号分治了。对于x>sx>sx>s的直接加,用分块维护。对于x<sx<sx<s的,维护数组fi,jf_{i,j}fi,j表示跳iii个,从jjj开始加了几次。为了之后统计方便,还要前缀和。统计时,一部分是分块直接统计。另一部分可以在fi,jf_{i,j}fi,j上算,考虑整块和零散的情况。直接统计前缀和即可。关于sss我取80左右,实测跑得飞快原创 2020-10-07 22:04:09 · 351 阅读 · 0 评论 -
luogu P4688 [Ynoi2016]掉进兔子洞
题面传送门第二道YnoiYnoiYnoi题目。感觉还是很良心的。区间相同个数,很容易想到bitsetbitsetbitset。然后可以用莫队维护出来,最后与一下就好了。但是相同的数怎么办呢?离散的时候把位置空出来,之后维护一下有几个就好了。注意加一些常数优化之类的。代码实现:#include<cstdio>#include<cmath>#include<algorithm>#include<cstring>#include<bit原创 2020-05-10 15:16:51 · 258 阅读 · 0 评论 -
luogu P3709 大爷的字符串题
题面传送门看上去很玄学的亚子。我们很容易发现,要想rprprp最大,要让每次取出的都是一个严格上升的序列,则原问题转换成最少取几次。那么对于有viv_ivi的一个数,一定要取viv_ivi次才能取完。则答案为区间内最多的数。则变成了求区间众数。那么可以用莫队求区间众数,开一个fif_ifi数组记录iii这个数有几个,sis_isi记录有iii个的数有几个,用二重辅助来求解。代码实...原创 2020-04-03 17:13:37 · 139 阅读 · 0 评论 -
luogu P3604 美好的每一天
题面传送门蛮好的一道题目。考虑状压。对原数列做前缀和,每一位代表是奇数个还是偶数个。那么前缀和亦或就可以得到一个区间。对于一个区间,只有亦或和是000或2k2^k2k时才能构成回文串。那么莫队增加和修改时枚举kkk即可。注意前缀和要往前一位。时间复杂度O(26nn)O(26n\sqrt n)O(26nn)注意常数不要太大。代码实现:#include<cstdio>#...原创 2020-04-20 12:00:06 · 153 阅读 · 0 评论 -
luogu P5355 [Ynoi2017]由乃的玉米田
题面传送门Ynoi虐我千百遍,我待sjjg如初见话说YnoiYnoiYnoi真是毒瘤,不开寄存器居然过不去。这道题前三问可以从小清新人渣的本愿过来,开个bitsetbitsetbitset暴力乱搞就好了。主要是第四问。考虑暴力乱搞(这还要考虑?),那么x=1x=1x=1的时候复杂度将会很高,达到了nw\frac{n}{w}wn。考虑优化。采用数据分治,将第四种运算中的x≤sx\...原创 2020-04-17 16:18:48 · 241 阅读 · 0 评论