[CF809D]Hitchhiking in the Baltic States 题意:给你n个区间[li,ri],让你选出从中一个子序列,然后在子序列的每个区间里都选择一个tj,满足$t_1<t_2<...<t_{len}$.最大化这个子序列的长度. $1\le n\le 3\cdot 10^5,1\le l\le r \le 10^9$ 题解:我们用dp[i]表示在当前情况下,选择的最后一个$t\le i$时,最多能选多少个区间.然后我们加入每个区间,同时维护所有的dp值. 当加入区…
[CF809D]Hitchhiking in the Baltic States(Splay,动态规划) 题面 CF 洛谷 题解 朴素\(dp\):设\(f[i][j]\)表示当前考虑到第\(i\)个元素,结尾位置是\(j\)的最大选择数. 然而这样就很呆. 换个状态:设\(f[i][j]\)表示当前考虑到第\(i\)个元素,长度为\(j\)时,最后一个数可以选择的最小值. 这个东西看起来就舒服多了. 拿\(Splay\)维护第二维,考虑每次加入一个区间对于答案的影响,假装当前加入区间是\([l…
题意: 给你n个区间[li,ri],让你选出从中一个子序列,然后在子序列的每个区间里都选择一个tj,满足t1<t2<...<tlent1<t2<...<tlen.最大化这个子序列的长度. 1≤n≤3⋅105,1≤l≤r≤109 题解: 首先我们很容易想到n^2的递推式 f[i]表示最后一个是i f[i]=max(f[i],max(f[j])+1) (l<=i<=r) 那么这样是可以O(n^2)扫一遍的 然后会发现这个东西不太好优化 我们很自然的会想到用前缀g…
题目:http://codeforces.com/contest/809/problem/D 如果值是固定的,新加入一个值,可以让第一个值大于它的那个长度的值等于它. 如今值是一段区间,就对区间内的dp值都有影响:中间的那些的值变成了上一个的值+1,左边 l 处多了一个点,右边第一个大于等于 r 的点被删掉. 用 splay 维护这些点:点的个数就是最多能达到的长度. 又好好学习了一番 splay .带有标记的原来是要在那个 splay 操作前那样一条链地 pushdown下来呀. 非常奇怪的是…
CF809D Hitchhiking in the Baltic States CF809D 长度为n的序列{xi},n<=3e5,范围在(li,ri)之间,求LIS最长是多长g(i,l)表示前i个数,LIS长度为l,最后一个数最小是多少(就是那个单调栈)g(i,l)=min(g(i-1,l),xi (if exist j g(j,l-1)<x))关于l是递增的.虽然不知道xi是多少, 但是可以直接用(li,ri)进行计算!最后一定存在一种方法还原xi 刚好可以把一个g(i-1,l-1)+1-…
[LeetCode]802. Find Eventual Safe States 解题报告(Python) 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址:https://leetcode.com/problems/find-eventual-safe-states/description/ 题目描述: In a directed graph, we start at some node and every turn, w…
[BZOJ1862][ZJOI2006]游戏排名系统 (Splay) 题面 BZOJ 洛谷 题解 双倍经验题…
[BZOJ4864][BeiJing 2017 Wc]神秘物质 Description 21ZZ 年,冬. 小诚退休以后, 不知为何重新燃起了对物理学的兴趣. 他从研究所借了些实验仪器,整天研究各种微观粒子.这 一天, 小诚刚从研究所得到了一块奇异的陨石样本, 便迫不及待地开始观测. 在精密仪器的视野下,构成陨石 的每个原子都无比清晰. 小诚发现, 这些原子排成若干列, 每一列的结构具有高度相似性.于是,他决定对单 独一列原子进行测量和测试.被选中的这列共有 N 个顺序排列的原子. 最初, 第…
点此看题面 大致题意: 给你\(n\)个数.第一次找到最小值所在位置\(P_1\),翻转\([1,P_1]\),第二次找到剩余数中最小值所在位置\(P_2\),翻转\([2,P_2]\),以此类推.求\(P_1,P_2,...,P_n\)的值. 关于洛谷上的四倍经验 这题在洛谷上是一道四倍经验题(目前看来是两黑两紫): [洛谷3165][CQOI2014] 排序机械臂 [洛谷4402][CERC2007] robotic sort 机械排序 [SP2059]CERC07S - Robotic S…
安利splay讲解: [洛谷日报第62期]Splay简易教程 [模板]普通平衡树(luogu) Description 题目描述 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 插入 xx 数 删除 xx 数(若有多个相同的数,因只删除一个) 查询 xx 数的排名(排名定义为比当前数小的数的个数 +1+1 ) 查询排名为 xx 的数 求 xx 的前驱(前驱定义为小于 xx,且最大的数) 求 xx 的后继(后继定义为大于 xx,且最小的数) 输入格式 第一行为 nn,…