赛时安排
7:40~8:00
看完题,发现T3是原题
 依稀记得是多项式加速第一类斯特林数
 保险起见先写写了个暴力求第一类斯特林数
 一下就过了样例
 因为有前车之鉴,所以不敢去写多项式,先去看前两题了
8:00~8:20
T2的
    
     
      
       
        k
       
       
        ≤
       
       
        3
       
      
      
       k\leq3
      
     
    k≤3很奇怪
 
    
     
      
       
        k
       
       
        =
       
       
        1
       
       
        ,
       
       
        k
       
       
        =
       
       
        2
       
      
      
       k=1,k=2
      
     
    k=1,k=2都很好做
 但是3就没有什么性质
 推了一下,发现对于一个左端点,连续区间按位与的变化是
    
     
      
       
        O
       
       
        (
       
       
        l
       
       
        o
       
       
        g
       
       
        
         a
        
        
         i
        
       
       
        )
       
      
      
       O(loga_i)
      
     
    O(logai)级别的
 因为每一位如果变成0就不会变了
 可以对每一个二进制位开个桶,在桶里二分找后面第一个会使得当前为从1变成0的位置
 然后这样的区间个数是
    
     
      
       
        O
       
       
        (
       
       
        n
       
       
        log
       
       
        
       
       
        a
       
       
        )
       
      
      
       O(n\log a)
      
     
    O(nloga)的
 然后查询的时候,把询问离线,用一颗线段树维护就行了
 然后就赶紧写
8:30~9:00
写T2
9:00~9:40
写完之后,码了个暴力对拍
 正确率没什么问题,但是常数很大,跑了2.3s
 加上快读,把线段树改成树状数组,发现只跑了1.7s
 但是还是有被卡的风险的
 测试了一下发现是输出竟然输了800ms
 改成快写,就跑进1s以内了
9:40~10:10
T1没有思路,写了个
    
     
      
       
        O
       
       
        (
       
       
        n
       
       
        
         m
        
        
         2
        
       
       
        )
       
      
      
       O(nm^2)
      
     
    O(nm2)的做法就弃了
 期望得分45pts
10:10~11:15
快速回忆了一下如何求第一类斯特林数
 似乎只需要一个NTT和一个倍增
 就赶紧码,码完拍一下,然后再卡卡常,应该问题不大
11:15~11:50
检查,对拍










