随笔分类 - 树状数组
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2434 [算法] 如果我们预处理出所有的字符串 , 显然是会空间超限的 但是我们发现 , 该字符串集的字典树的节点树 <= 10 ^ 5 不妨首先构建AC自动机 考虑AC自动机的fail
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3594 [算法] 首先有一个结论 : 每次选择的区间右端点一定是n 根据这个结论 , 设fi,j表示前i株玉米拔高j次的最长不下降子序列长度 则fi,j = max{fp,q + 1}
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1176 [算法] CDQ分治 + 树状数组即可 时间复杂度 : O(Nlog^2N) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1901 [算法] 首先 , 考虑没有修改操作 不妨建立可持久化线段树 , 第i棵树维护区间[1 , i]中的数的出现个数 , 则可以通过在线段树上二分的方式求出答案 那么 , 若有修改操
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3295 [算法] 记Lx表示第x个数的出现位置 显然 , 每次删去一个数 , 逆序对数减少([1 , Lx - 1]中 > x的数的个数 + [Lx + 1 , n]中 < x的数的个数
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4397 [算法] 树状数组 时间复杂度 : O(QlogN) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4990 [算法] 首先记录b中每个数的出现位置 , 记为P 对于每个ai , 枚举(ai - 4) - (ai + 4) , 将Pj从大到小加入序列 然后求最长上升子序列即可 , 详见代
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2743 [算法] 首先预处理nxt[]数组 , 其中 , nxt[i]表示下一个和i号位颜色相同的位置 , 然后离线 , 将询问按左端点排序 , 每次将nxt[i]减一 , nxt[nx
阅读全文
摘要:[题目链接] https://codeforces.com/contest/459/problem/D [算法] 首先用std :: map预处理 f(1, i, ai)和f(j, n, aj) 然后用树状数组计算合法二元组对数 , 即可 时间复杂度 : O(NlogN) [代码]
阅读全文
摘要:[题目链接] https://loj.ac/problem/2609 [算法] 首先将式子化简 : sigma( (ai - bi) ^ 2) = sigma( ai^2 + bi^2 - 2aibi ) 显然 , 只需最大化aibi就能最小化“距离” 考虑贪心 , 将a中最小元素与b中最小元素组合
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3132 [算法] 二维树状数组 [代码]
阅读全文
摘要:[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=6318 [算法] 线段树 / 树状数组 [代码]
阅读全文
摘要:[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5542 [算法] 树状数组优化DP [代码]
阅读全文
摘要:【题目链接】 https://www.lydsy.com/JudgeOnline/problem.php?id=1878 【算法】 显然,在线算法是不可做的,考虑离线算法 笔者的做法是莫队算法,时间复杂度 : O(nsqrt(n))(sqrt表示开方) 但是,树状数组的效率更高,下面讲一讲这种高效的
阅读全文
摘要:【题目链接】 http://poj.org/problem?id=2182 【算法】 树状数组 + 二分 【代码】
阅读全文
摘要:【题目链接】 http://poj.org/problem?id=2352 【算法】 树状数组 注意x坐标为0的情况 【代码】
阅读全文
摘要:【题目链接】 http://poj.org/problem?id=2481 【算法】 树状数组 注意特判两头牛的s,e值相同 【代码】
阅读全文
摘要:Problem A Pailindrome 【题意】 求在k进制下n位回文数的和,答案对1000001取模,结果用十进制输出 n <= 10^18 k <= 10^6 对于20%的数据,n <= 16,k <= 20 对于50%的数据,n <= 10^4,k <= 10^3 对于100%的数据,n
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 树状数组 【代码】
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 先考虑50分的做法 : f[i]表示以i结尾的本质不同的上升子序列的个数 则f[i] = sigma(f[j]) (j < i,a[j] < a[i]),注意如果a[j]不止一个,只需加上下标最大的即可,否则会重复计数 那么,100分的做法,其实就是用树状数组来
阅读全文

浙公网安备 33010602011771号