随笔分类 - ACM-ZOJ
            
    zoj 2112 动态区间求第k大
    
            
            
        
摘要:题目大意:动态单点更新,然后多次询问求区间内第k大这里单个的主席树不能实现,这里采取的是树状数组套主席树首先可以想的是将静态主席树先构建好,不去动它,这里空间复杂度就是O(nlogn),这个只要之前做过主席树的入门题的话就都不是问题然后考虑更新的情况,这里将更新产生的前缀变化保存在树状数组中,那么每...
        阅读全文
            
        
            
    zoj 3228 覆盖及非覆盖串的多次匹配
    
            
            
        
摘要:题目题意:给定多个小串,在一个长串中寻找这些串的匹配次数,有些统计的是可覆盖的,有些统计的是非覆盖的先可以简单理解一下,建立ac自动机后,当前节点包含的字符串必然被把它作为fail指针的节点包含,所以一开始写了个set[MAX],然后MLE了如果一个当前串被完全访问了,那么这个串一定是在整个fail...
        阅读全文
            
        
            
    zju 3209 dancing links 求取最小行数
    
            
            
        
摘要:题目可以将每一个格子都看做是一列,每一个矩形作为1行,将所有格子进行标号,在当前矩形中的格子对应行的标号为列,将这个点加入到十字链表中最后用dlx求解精确覆盖即可,dance()过程中记得剪枝 1 #include 2 #include 3 #include 4 #include ...
        阅读全文
            
        
            
    poj 2337 && zoj 1919 欧拉回路+连通性判断
    
            
            
        
摘要:题目要求按字典序排列,而且可能有重边所以一开始就将数组从大到小排列,那么我将字符串加入链表时就会令小的不断前移,大的被挤到后面这里有一点问题就是我一开始使用的是qsort:int cmp(const void *s1 , const void *s2){ return strcmp((char*)s...
        阅读全文
            
        
            
    ZOJ 3201 树形背包问题
    
            
            
        
摘要:题目大意:0~n-1号这n个点,每个点有个权值,由无向边形成了一棵树,希望在这棵树上找到一棵长为m的子树使总的权值最小基本的树形背包问题令dp[u][j] 表示u号节点对应子树中有j个节点所能得到的最大权值dp[u][1] = val[u]dp[u][j] = max{dp[v][k] + dp[u...
        阅读全文
            
        
            
    ZOJ 1516 Uncle Tom's Inherited Land
    
            
    
摘要:题目大意:除去那些作为荷塘的土地块,将剩余的土地希望每次将两块相邻的地一起卖出,最多能卖出多少种这样的由相邻土地合成的长方形土地块很明显的二分图问题,但是要考虑如何建模一个长方形土地总是由相邻的两块地组成,那么我们就将相邻的两块地一块放在X集合,一块放在Y集合所有放在X集合中的土地互不影响(也就是任...
        阅读全文
            
        
 
                    
                     
                    
                 
                    
                 
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号