摘要:
区间dp. 一种是分段dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]); 一种是这一段可以缩写dp[i][j]=min(dp[i][j],dp[i][l]+2+calc((j-i+1)/(l-i+1))); calc表示计算十进制的位数 边界就是l==r f[l] 阅读全文
摘要:
区间dp. 一种是分段dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]); 一种是这一段可以缩写dp[i][j]=min(dp[i][j],dp[i][l]+2+calc((j-i+1)/(l-i+1))); calc表示计算十进制的位数 边界就是l==r f[l] 阅读全文
摘要:
基础平衡树操作,del+insert 这道题就是还要记录一下平衡树中的编号和对应的书的编号,注意这两个都不是单调的 写平衡树的时候,老是脑子有病。。总觉得平衡树里的标号是单调的。。 这个也是模板没有修改前写的,常数较大。。。 1 #include<bits/stdc++.h> 2 using nam 阅读全文
摘要:
Splay BZOJ1502 树的点分治 BZOJ1468 HNOI2015 开店 动态树分治 NTT sdoi2015 序列统计 LCT noi2014魔法森林/维护联通块(好像常见这种思想,然而又忘记了→→ 单纯形 插头dp,没写完的写完,复习模板 最小割的建图模型 最小割树http://www 阅读全文
摘要:
题目大意:维护一种数据结构,支持下列操作: 1.将一个区间加上一个数 2.将一个区间翻转 3.询问一段区间的最大值 感受:傻叉题还敢说自己是序列终结者O__O "… 这道题写的时候还没修改我的splay模板,所以常数较大。。 1 #include<bits/stdc++.h> 2 using nam 阅读全文
摘要:
题目大意:给定一个字符串,提供下列操作: 1.查询从x开始的后缀和从y开始的后缀的最长公共前缀长度 2.将x位置的字符修改为y 3.在x位置的字符后面插入字符y 和白书上的题很像。大概就是splay维护子树的hash值,然后求lcp就二分一下,是log^2的复杂度。 于是愉快的敲完TLE无限循环,发 阅读全文
摘要:
T1 有and,xor,or三种操作,每个人手中一个数,求和左边进行某一种运算的最大值,当t==2时,还需要求最大值的个数。 test1 20% n<=1000 O(n^2)暴力 test2 20% 运算为xor ,可以建立trie树,贪心的走,并记录到达每个节点的个数 test3 : 拿and举例 阅读全文
|