摘要:        
注意是等于s不是大于s dfs,用set或者map存这条链到root的点权和sum[u],更新答案的时候查一下有没有s sum[u]即可 cpp include include include using namespace std; const int N=500005; int n,m,a[N]    阅读全文
posted @ 2018-09-22 21:03
lokiii
阅读(174)
评论(0)
推荐(0)
        
            
        
        
摘要:        
首先注意 先hash一下,双hash,然后枚举删去位置,把hash值排个序,把些相等的加起来统计一下对数即可 cpp include include include using namespace std; const int N=30005; int ans,n,m,k; long long h1    阅读全文
posted @ 2018-09-22 20:43
lokiii
阅读(105)
评论(0)
推荐(0)
        
            
        
        
摘要:        
设f[i][j]为a序列前i个字符和b序列前j个字符的最长公共子序列,转移很好说就是f[i][j]=max(f[i 1][j],f[i][j 1],f[i 1][j 1]+(a[i]==b[j])) 设g[i][j]为a序列前i个字符和b序列前j个字符的最长公共子序列个数,这个转移是转移f的时候从前    阅读全文
posted @ 2018-09-22 19:59
lokiii
阅读(184)
评论(0)
推荐(0)
        
            
        
        
摘要:        
没看太懂题意orz 最优的是tarjan缩点之后问入度为0的点,因为问这个点可以知道整个块的情况 答案是这ans个入度为0的点都不是杀手的概率\\( \frac{n ans}{n} \\) 但是有特殊情况就是size为1的单独scc,这是ans ,因为其他点确定之后这个点就确定了 cpp inclu    阅读全文
posted @ 2018-09-22 17:34
lokiii
阅读(162)
评论(0)
推荐(0)
        
            
        
        
摘要:        
费用流里spfa最后的判断要写成dis[t] =0而不是dis[t]!= inf否则会WAWAWA……    阅读全文
posted @ 2018-09-22 16:09
lokiii
阅读(297)
评论(0)
推荐(0)
        
 
                    
                     
                    
                 
                    
                
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号