首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
loj3161「NOI2019」I 君的探险(随机化,整体二分)
】的更多相关文章
loj3161「NOI2019」I 君的探险(随机化,整体二分)
loj3161「NOI2019」I 君的探险(随机化,整体二分) loj Luogu 题解时间 对于 $ N \le 500 $ 的点,毫无疑问可以直接 $ O(n^2) $ 暴力询问解决. 考虑看起来最好做的 $ B $ 类. 由于有每个点的父亲编号小于该点的优良特性,很容易想到整体二分. 考虑用整体二分求出每个点的父亲: 对于一个分治区间,毫无疑问 $ [l,mid] $ 的节点的父亲在左区间. 而对于另外一半节点,考虑将左半节点全部modify,此时右半某个节点亮起则说明左半节点至少有一个…
【LOJ】#2985. 「WC2019」I 君的商店
LOJ#2985. 「WC2019」I 君的商店 一道很神仙的题啊QAQ 居然是智商题--不是乱搞或者是大数据 我们可以用2N问出一个最大值是1 然后对于任意两个值\(x + y\)和\(a\)比较 如果\(x + y \leq a\),那么其中的最小值是\(0\) 如果\(x + y \geq a\)那么其中的最大值是1 我们比较\(x\)和\(y\)的大小,总可以得到一个数的确定值 这是\(7N\)的 而如果我们直接选三个数\(x,y,a\) 用2的代价使得\(x \geq y\) 如果$x…
loj2985「WC2019」I 君的商店(二分,思维)
loj2985「WC2019」I 君的商店(二分,思维) loj Luogu 题解时间 真的有点猛的思维题. 首先有一个十分简单的思路: 花费 $ 2N $ 确定一个为 $ 1 $ 的数. 之后每次随机选择一对没有确定的数 $ x,y $ 与 $ 1 $ 比较,再将 $ x,y $ 相互比较,总能确定其中一个数的值. 这样是 $ 7N $ . 而另一方面,这道题也是正解来自部分分. 考虑子任务3: 很明显首先一次比较确定是先0后1还是先1后0, 之后二分确定分界的位置即可,花费是 $ 3logN…
luogu P5473 [NOI2019]I 君的探险 交互 随机 二分 分治 整体二分
LINK:I 君的探险 神仙题! 考虑一个暴力的做法 每次点亮一个点 询问全部点 这样询问次数为 \(\frac{n\cdot (n-1)}{2}\) 可以通过前5个点. 考虑都为A的部分分 发现一个点只会和另外一个点进行连边. 且询问次数要求\(nlogn\) 需要分治 二分等方法. 一个想法是 每次点亮一个再询问全部太浪费了 可以进行分治. 即每次点亮\(\frac{1}{4}\)数量的点 然后观察 如果两个点是一组的那么他们的状态相同 按照状态来划分区域再进行分治下去. 每次可以rand选…
LOJ #2985. 「WC2019」I 君的商店
传送门 搬题解QwQ 首先最大值一定为 \(1\),直接扫一遍两两比较 \(O(2N)\) 求出最大值 设最大值位置为 \(a\),对于任意两个没有确定的位置 \(x,y\) 询问 \([a,x+y]\),如果 \(a\le x+y\) 那么 \(x,y\) 的最大值为 \(1\),否则 \(x,y\) 最小值为 \(0\) 再询问 \([x,y]\) 即可 复杂度 \(O(7N)\) 考虑 \(Task3\),首先花费 \(2\) 的代价找到端点的 \(1\) 假设序列为 \(00000...…
LOJ 3158: 「NOI2019」序列
题目传送门:LOJ #3158. 题意简述: 给定两个长度为 \(n\) 的正整数序列 \(a,b\),要求在每个序列中都选中 \(K\) 个下标,并且要保证同时在两个序列中都被选中的下标至少有 \(L\) 个,使得选中的下标对应的数的总和最大. 题解: 题目相当于要求在两个序列中选出 \(K\) 对数,不妨一对一对地选. 有个结论是说,上一步的最优决策一定不会再反悔,就是已经选的不会再撤销. 然后做完了,用堆维护一些东西,精细实现就好了. 下面是代码,复杂度 \(\mathcal{O}\lef…
LOJ 3160: 「NOI2019」斗主地
题目传送门:LOJ #3160. 简要题意: 有一个长度为 \(n\) 的序列 \(a\),初始时 \(a_i=i\) 或 \(a_i=i^2\),这取决于 \(\mathrm{type}\) 的值. 对这个序列进行 \(m\) 次操作,每次操作给定一个值 \(A_i\),把这个序列分为两部分:\(a[1:A_i]\) 和 \(a[A_i+1:n]\),然后在不改变两个序列内部相对顺序的限制下,均匀地将这两个序列混合,形成新的序列,则新的序列 \(a\) 即为这个混合而成的新序列. \(Q\)…
LOJ 3159: 「NOI2019」弹跳
题目传送门:LOJ #3159. 题意简述: 二维平面上有 \(n\) 个整点,给定每个整点的坐标 \((x_i,y_i)\). 有 \(m\) 种边,第 \(i\) 种边从 \(p_i\) 号点连向满足 \(l_i\le x_j\le r_i\) 和 \(d_i\le y_j\le u_i\) 的点 \(j\),即一个矩形范围内的所有点. 求 \(1\) 号点到其它每个点的最短路长度. 题解: 考虑 Dijkstra 算法求最短路的过程: 一开始只有起点的距离为 \(0\),而其它点距离为无限…
LOJ 3156: 「NOI2019」回家路线
题目传送门:LOJ #3156. 题意简述: 有一张 \(n\) 个点 \(m\) 条边的有向图,边有两个权值 \(p_i\) 和 \(q_i\)(\(p_i<q_i\))表示若 \(p_i\) 时刻在这条边的起点,则 \(q_i\) 时刻能到达这条边的终点. 你需要规划一条路线,使得从起点 \(1\) 号点出发,沿着这条路线到达终点 \(n\) 号点. 假设路线依次经过的边为 \(\{a_1,a_2,\ldots,a_k\}\),则需要保证 \(q_{a_{i-1}}\le p_{a_i}\)…
「NOI2019」弹跳(KD树)
题意:w×h网格中有n个点,m条边.每条边可以从p点花费t时间到一个矩形中的任意点,求1号点到每个点的最少时间. \(1<=w,h<=n<=70000,1<=m<=150000\) 时间2s,空间128M. 本题如果放在序列上,使用线段树建图,可以做到\(O(mlogn)\)的复杂度,通过数据分治可以获得72分. 对于二维问题可以想到将线段树变为二维线段树,然而会被卡空间. 考虑此题暴力Dij的本质:就是每次找最小的点,然后把一个矩形中大于z的数都改为z,再删除这个点. 看到…