区间第K小查询 description 给定一个长度为$n$ 的序列,每次对于一个区间$[l,r]$ ,求出这段区间中第$k$ 小的数的值。 \(n\le 10^5\) solution 首先考虑全局怎么做,即询问区间为$[1,n]$ 时。 我们可以建立权值线段树,对于其上的区间$[l,r]$ 记下 ...
分类:
其他好文 时间:
2021-06-06 19:07:20
阅读次数:
0
首先, 上个示意图. 根据图示, 线段a表示为端点a1和a2, 线段b表示为端点b1和b2. 为了利用向量的叉乘关系, 将线段的端点看成四个向量, 下面用粗体表示向量. 根据向量运算可知a=a2-a1,b=b2-b1.将线段表示为参数方程:a=a1 + t ab=b1 + u b其中参数t,u取值 ...
分类:
其他好文 时间:
2021-06-02 20:52:20
阅读次数:
0
Description 思路 从样例的图片可以很好的理清思路。 设$dp[i]$为方案数,那么有两种贡献: 用等长的线段覆盖整个区间,共有$g(i)$种情况,其中$g(i)$代表$i$的约数个数。 中间留空,一共有$dp[i-1]+dp[i-2]+...+dp[1]$种情况。 所以转移式是 \(dp ...
分类:
其他好文 时间:
2021-06-02 16:08:48
阅读次数:
0
#matplotlib学习网站(搬运工) 入门 Matplotlib入门-1-plt.plot( )绘制折线图 线段的形状 点的类型 ####分界线 python画横线竖线作为分界线 axhline函数--Matplotlib-改变分界线的样式 ##官方网站 https://www.osgeo.cn ...
分类:
Web程序 时间:
2021-06-02 15:09:29
阅读次数:
0
这题很妙。 多去完成这种级别的题目,建模能力才会真正得到提高。 题解干完springboot活补。 #include<bits/stdc++.h> using namespace std; inline int read() { int x=0,f=1;char c=getchar(); while ...
分类:
其他好文 时间:
2021-06-02 12:02:18
阅读次数:
0
题链 dp[x] 表示以 x 为进化终点能取得的最大进化次数; 可以发现 dp[x] 等于 树上x的前缀最大值 +1; 但是不可能递归寻找x的父亲直到根节点,因为会超时; 所以采用重链剖分+线段树维护前缀最大值,复杂度O(nlogn*logn); #include <bits/stdc++.h> u ...
分类:
其他好文 时间:
2021-05-24 14:49:30
阅读次数:
0
没人用ST表么?他比线段树快。 考虑先把ST表跑下来,然后循环一遍区间的起点,看一下这个区间的最大值,和 \(t\) 比较一下即可。 然后这题就做完了。ST表裸题。 int f[2000010][21], Logn[2000010], n, t, c; void preLog() { Logn[1] ...
分类:
其他好文 时间:
2021-05-24 12:18:28
阅读次数:
0
1.学了个标记永久化,用处有限,但是也有用 这里详解 code #include <cstring> #include <cstdio> #include <algorithm> #define int long long #define R register int #define printf ...
分类:
其他好文 时间:
2021-05-24 10:59:02
阅读次数:
0
「USACO 2021 US Open Platinum」United Cows of Farmer John 考虑依次枚举右端点$i$,计算左边合法的方案数,设一个数$x$上次出现的位置为$lst_x$ 则$i$能够作为右端点的区间就是$[lst_+1,i-2]$ 考虑什么样的位置可以作为左端点, ...
分类:
其他好文 时间:
2021-05-24 07:42:42
阅读次数:
0
<template> <view class='radarContainer'> <canvas class='radarCanvas' canvas-id='radarCanvas'></canvas> </view> </template> <script> var numCount = 3; ...
分类:
移动开发 时间:
2021-05-24 04:52:13
阅读次数:
0