分块
分块
定义
- 把一个序列从左往右切分成若干块,每块大小不超过size。
- 一个区间可以看作是若干个完整的块加上两端零碎的不超过2size个数。
- 对于每个完整的块维护信息方便修改/查询。
给定一个单调不下降的序列a[1..n],问x是否在其中。
根据初始信息,答案显然位于[1,n]。
假设我们已知答案位于[l,r]。
若l>r,则说明x不在其中。
否则取mid=(l+r)/2,比较x与a[mid]的大小关系。
若x==a[mid],则x在其中。
若x<a[mid],则答案位于[l,mid-1]。
若x>a[mid],则答案位于[mid+1,r]。 ### 二分的适用范围
当x<a[mid]时,可以把可能区间缩小至[1,mid-1]是因为a[mid]<=a[mid..n]。
二分的适用范围:单调不下降/不上升的序列或函数。
bool find(int n, int a[], int x) { |
ll findsq(ll val){ |
int f(long long x) { |
需要通过O(n)算法f处理数据,看是否满足 二分即可(可以使用ANS储存中间值,更方便)
long long solve(long long mx, long long sum) { |
最大/最小 等问题可以用二分解决
例2-Ice Cream Tower
using namespace std; |
long long f(int x) { |
j 直接减小即可,因为a序列有序,j只能减小,O(n)
docker run -it -v yourvolumename:/minecraft -p 19132:19132/udp -p 19132:19132 -p 19133:19133/udp -p 19133:19133 --restart unless-stopped 05jchambers/legendary-bedrock-container:latest |
可以直接运行,无需环境
export BOX64_LD_LIBRARY_PATH=. |
使用 qemu-x86_64-static 需要提取环境依赖文件,然后
export LD_LIBRARY_PATH=. |
https://zhuanlan.zhihu.com/p/584098323
listen 是转发机的地址 connect 是被转发,也就是要访问的主机地址
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=5555 connectaddress=192.168.163.102 connectport=5555 |
netsh interface portproxy show all |
sudo vim /etc/docker/daemon.json |
在大括号内添加如下内容,没有大括号则补上
"ipv6": true, |
systemctl restart docker |
可以对有上限的数字进行枚举(相当于考虑无限制情况下的预处理) 这样就允许了预处理
apt-get install openjdk-17-jdk |
update-alternatives --config java |
$env:HTTP_PROXY="http://127.0.0.1:7890"; $env:HTTPS_PROXY="http://127.0.0.1:7890" |
对于 git
git config --global http.proxy 'http://127.0.0.1:7890' |
export http_proxy=http://127.0.0.1:7890 |
参考 https://blog.csdn.net/Chuan423425/article/details/130205729
python export.py --weights best.pt --img 640 --batch 1 --include onnx --opset 12 |
python3.6 安装 rknn-toolkit2 拷贝并且修改 test.py ->
mytest.py
执行 mytest.py
即可完成转换