摘要:
#include <iostream> #include <vector> #include <chrono> #include <algorithm> #include <cstdint> #include <cstdlib> #include <omp.h> // Structure to ho 阅读全文
摘要:
归并排序: include define ll long long using namespace std; const int maxn = 500001; ll a[maxn], s[maxn], ans = 0, n;//ans用来记录逆序对数量 void merge_sort(ll l,ll 阅读全文
摘要:
题目链接:https://www.luogu.org/problemnew/show/P1637 BIT + 离散化。 读题得数据规模需离散化。BIT开不到longint这么大的数组。 对于题目所求的三元上升子序列,我们可以通过枚举1~n作为中间数,记录左边比他小的个数L[i],右边比他大的个数R[ 阅读全文
摘要:
题目链接:https://www.luogu.org/problemnew/show/P3609 看着标签什么记搜什么暴力点进来,读完题第一直觉DP? 还真是个$DP$。 题目所描述的状态十分明显,第 $i$ 轮,变换 $j$ 次,当前FJ手势 ($x,y,z$) 那我们不妨直接令$f[i][j][ 阅读全文
摘要:
题目链接:https://www.luogu.org/problemnew/show/P1983 符合了NOIP命题的特点,知识点不难,思维量是有的。 step1:把题读进去,理解。得到 非停靠点的等级 include include include include using namespace 阅读全文
摘要:
题目链接:https://www.luogu.org/problemnew/show/P3608 乍一看很容易想到O(N^2)的暴力。 对于每个H[i]从i~i 1找L[i]再从i+1~n找R[i],然后比较。 60分(数据够水) 但是这个思路就是很直白的模拟,让人不容易想到如何去优化。 然后我们换 阅读全文
摘要:
题目连接:https://www.luogu.org/problemnew/show/P5022 $NOIP2018 DAY2T1$ 考场上只写了60分,很容易想到当 m = n 1 时的树的做法。 读题推一下样例不难发现,如果选择一个分支节点就必须走到头——直到一个节点没有子树。 那么我们就可以贪 阅读全文
摘要:
题目链接:https://www.luogu.org/problemnew/show/P1783 先把题目改造一下:题目所求是要一条能从0列到n列的路径,使其路径上的最大边长一半最小。 为什么是一半呢? 考虑半径这个东西,假如两个点之间距离为d,半径分别为r1,r2。需满足r1 + r2 = d 若 阅读全文
摘要:
题目链接:https://www.luogu.org/problemnew/show/P1879 状压DP。 设dp[i][j]表示第i行,状态为j的方案数 初始dp[0][0] = 1 这样一共12行12列,最多1 include include include define ll long lo 阅读全文
摘要:
题目链接:https://www.luogu.org/problemnew/show/P4180 这个题卡树剖。记得开O2。 这个题inf要到1e18。 定理:次小生成树和最小生成树差距只有在一条边上 非严格次小生成树:枚举每一条不在最小生成树上的边,加入到最小生成树中构成一个环。删去这个环上的最大 阅读全文
摘要:
考试题。 是个DP。 50分可以通过子集枚举+线段覆盖(贪心)完成。 考试没时间写了一个子集枚举30分。 include include include include include using namespace std; const int maxn = 1e6 + 10; inline in 阅读全文
摘要:
题目链接:https://www.luogu.org/problemnew/show/P2831 写点做题总结:dp,搜索,重在设计状态,状态设的好,转移起来也方便。 对于一条抛物线,三点确定。(0,0)是固定的,所以我们一条抛物线要用两只猪确定。再多的猪就只能用来判断是不是在这条抛物线上了。 于是 阅读全文
摘要:
题目链接:https://www.luogu.org/problemnew/show/P1850 难的不在状态上,难在转移方程。 (话说方程写错居然还有84分= =) include include include include define ll long long using namespac 阅读全文
摘要:
题目链接:https://www.luogu.org/problemnew/show/P1558 我知道三十棵线段树很暴力,可是我们可以状压啊。 颜色最多30,不会爆int 另外 吐槽评测机 include include include include using namespace std; c 阅读全文
摘要:
题目描述: 定义一个长度为奇数的区间的值为其所包含的的元素的中位数。现给出n个数,求将所有长度为奇数的区间的值排序后,第K大的值为多少。 样例解释: [l,r]表示区间的值 [1]:3 [2]:1 [3]:2 [4]:4 [1,3]:2 [2,4]:2 第三大是2 Input 第一行两个数n和k(1 阅读全文
摘要:
题目链接:https://www.luogu.org/problemnew/show/P3258 谁说树剖过不去会RE呢? 我今天就是要强行树剖了 树剖强艹 include include include include define ll long long using namespace std 阅读全文
摘要:
题目链接:https://www.luogu.org/problemnew/show/P2827 35分:暴力sortO(mnlogn)。 80分:考虑到每次不好维护不被切的点+q,正难则反。改成维护被切的点 q,再维护一个q m,跑大根堆O(mlogn)。 100分:考虑到先切的点一定比后切的点分 阅读全文
摘要:
题目链接:https://www.luogu.org/problemnew/show/P3959 我只是心血来潮想学SA(考场上骗分总行吧)。 这个题可以状压DP、爆搜+剪枝、有意思的还是随机化搜索(是的,这个题用的不叫SA,没有降温)。 code: include include include 阅读全文