笔记
MorphLing_
GL,HF.
祝你好运,玩得开心。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
点分治专题
简介 如果处理“所有经过某一个顶点的链对答案的贡献”的时间复杂度为O(n)O(n)O(n)或者O(nlogn)O(nlogn)O(nlogn),那么运用点分治的思想可以把问题规模降为O(nlogn)O(nlogn)O(nlogn)或O(nlog2n)O(nlog^2n)O(nlog2n),而非暴力枚举顶点计算答案的O(n2)O(n^2)O(n2)。 所以说,点分治是一种在树上统计合法链个数的思想。显而易见的,对于当前顶点xxx,任意一条链要么经过xxx,要么不经过xxx。于是我们只需要计算那些经过xxx的链原创 2020-10-08 00:23:44 · 525 阅读 · 0 评论 -
2020牛客多校暑期训练营(第五、六场)
目录第五场D.Drop-VoicingB.Graph第六场 快速清一下进度。。回头细补 第五场 D.Drop-Voicing 算法标签:求LIS 经过一些观察之后把问题转换成:“最少移动多少个数使得环有序”,也就是要找出原环的最长递增子序列(LIS)。打的时候因为n比较小直接O(n3)O(n^3)O(n3)过了,但是通过二分或者树状数组其实是可以压到O(n2logn)O(n^2logn)O(n2logn)的 参考:最长上升子序列(LIS)的三种求法 #include<bits/stdc++.h>原创 2020-07-28 02:30:58 · 496 阅读 · 0 评论 -
CDQ分治和多维偏序问题
尝试一下写个专题吧。 目录1. CDQ分治介绍2. 逆序对问题3. 二维偏序问题4. 三维偏序问题 1. CDQ分治介绍 CDQ分治与其说是一种算法,不如说是一种思想。分治算法往往可以分成三步: 分解:将原问题分为若干个子问题 解决:递归处理分段后的子问题 合并:通过子问题的解求出原问题的解 在我看来,CDQ分治与一般的分治算法的区别关键在于合并这一步上,也就是merge操作。常见的分治算法(比如归并排序、线段树的merge操作等等)往往只关注合并后的结果,但CDQ分治则会同时关注结果和过程两方面,并原创 2020-07-09 01:31:41 · 823 阅读 · 0 评论 -
Codeforces Round #654 1371E2.Asterism (Hard Version)
题目描述: E2. Asterism (Hard Version) time limit per test 1 second memory limit per test 256 megabytes This is the hard version of the problem. The difference between versions is the constraints on n and ai. You can make hacks only if all versions of the probl原创 2020-07-04 00:37:54 · 493 阅读 · 0 评论
分享