草庐IT

树论笔记

DynamicTree前置知识:线段树Splay维护区间翻转,\(O(n)=10^6\)显然,这样的操作不能用线段树来维护,因为线段树的结构是固定的,我们需要一种结构上更加灵活的数据结构于是联想到平衡树,如果以,对于一个区间\([l,r]\),我们只需要知道\(l-1\)和\(r+1\)在平衡树上的位置就可以了,其中间的部分就是翻转的区间如果翻转的区间是一颗子树,打一个标记表示子树翻转就可以了(注意第\(x\)个应该是在平衡树上找第\(x\)大)但正常的平衡树不能使得翻转的区间总在一颗子树上,所以引出了\(Splay\)\(Splay\)基于一个朴实的想法,需要操作的点如果是根那就会很方便,那

循环码、卷积码及其python实现

摘要:本文介绍了循环码和卷积码两种编码方式,并且,作者给出了两种编码方式的编码译码的python实现关键字:循环码,系统编码,卷积码,python,Viterbi算法循环码的编码译码设\(C\)是一个\(q\)元\([n,n-r]\)循环码,其生成多项式为\(g(x),\text{deg}(g(x))=r\)。显然,\(C\)有\(n-r\)个信息位,\(r\)个校验位。我们用\(C\)对信息源\(V(n-r,q)\)中的向量进行表示。对任意信息源向量\(a_0a_1\cdotsa_{n-r-1}\inV(n-r,q)\),循环码有两种编码思路:非系统的编码方法构造信息多项式\[a(x)=a_

树论笔记

DynamicTree前置知识:线段树Splay维护区间翻转,\(O(n)=10^6\)显然,这样的操作不能用线段树来维护,因为线段树的结构是固定的,我们需要一种结构上更加灵活的数据结构于是联想到平衡树,如果以,对于一个区间\([l,r]\),我们只需要知道\(l-1\)和\(r+1\)在平衡树上的位置就可以了,其中间的部分就是翻转的区间如果翻转的区间是一颗子树,打一个标记表示子树翻转就可以了(注意第\(x\)个应该是在平衡树上找第\(x\)大)但正常的平衡树不能使得翻转的区间总在一颗子树上,所以引出了\(Splay\)\(Splay\)基于一个朴实的想法,需要操作的点如果是根那就会很方便,那

CF构造题1600-1800(2)

H.HotBlackHotWhite(COMPFEST14-PreliminaryOnlineMirror(Unrated,ICPCRules,TeamsPreferred))题意有\(n\)个石头,每个石头有一个值\(a_i\),现在需要给这\(n\)个石头染色,要求\(\frac{n}{2}\)为白色,\(\frac{n}{2}\)为黑色(\(n\)为偶数),并且任何两个颜色不相同的石头\(i\),\(j\)满足:\[concat(a_i,a_j)\timesconcat(a_j,a_i)+a_i\timesa_j\not\equivZ\bmod3\]求\(Z\)与染色方法。\(conca

CF构造题1600-1800(1)

D.SameCountOne(PolynomialRound2022(Div.1+Div.2,Rated,Prizes!))题意给定\(n\)个长度为\(m\)的01序列,每次操作可以选择两个序列a1,a2,并选择一个\(pos\),std::swap(a1[pos],a2[pos]),求是每个序列中的\(1\)的个数都相等所需的最小操作数。思路可以发现(\(1\)的总数)\(\bmod\n\neq0\)时,是无解的。令\(avg=\)(\(1\)的总数)\(/n\),我们可以把这\(n\)个序列分为两类,严格小于\(avg\)的和严格大于\(avg\)的,其他的序列可以丢掉。严格大于\(av

图解 Andrew 算法求凸包

前言Andrew算法可以在\(O(n\logn)\)的时间复杂度通过单调栈分别求出散点的上凸壳和下凸壳,来求出平面上一些点的凸包。看懂这篇博客,大家需要掌握:基础计算几何知识单调栈本文中的向量恕不加\(\overrightarrow{}\)符号。凸多边形是指所有内角大小都在\([0,\pi]\)(弧度制)范围内的简单多边形。其他的“凸”请类比理解。凸包首先,什么是凸包?给你平面上的点集,你需要从中选出最少的点,使得这些点所组成的凸多边形可以包裹住其他所有点。这些点所组成的凸多边形就是凸包。譬如下面这个点集:它的凸包是:下面我将会告诉大家怎么求。序曲Andrew算法需要先对所有点按照\(x\)坐

「闲话随笔」势能分析法

「闲话随笔」势能分析法点击查看目录目录「闲话随笔」势能分析法简介分析例题二进制计数器单调栈Splay这闲话已经被催了两天了,累死我了。感谢joke3579帮我找到了Tarjan的论文。虽然没看懂只截了一下里面的图。语文考了82,需要单独给语文老师发作业,很闹心。今日推歌:盲龙默虎feat.洛天依vs言和。iKz老师的《一年一度武斗大赛》系列是不是快要更了?简介一种挺神奇的分析时间复杂度的方法。一个算法/数据结构单次操作的复杂度难以计算时可以用势能分析法。分析设第\(i\)次操作的时间复杂度为\(a_i\),显然总复杂度为\(\sum_{i=1}^{n}a_i\)。构造一个势能函数\(\phi(

CF908D New Year and Arbitrary Arrangement 题解

\(0.\)前言有一天\(Au\)爷讲期望都见到了此题,通过写题解来加深理解。\(1.\)题意将初始为空的序列的末尾给定概率添加\(a\)或\(b\),当至少有\(k\)对\(ab\)时停止(注意是“对”,中间可以间隔字符),求\(ab\)期望对数。\(2.\)思路通过查看标签通过阅读题面我们容易发现本题是一道期望DP,但是本题的状态并不很容易想到,设\(f[i][j]\)表示前缀中有\(i\)个\(a\),\(j\)个\(ab\)停止后的期望个数,这样发现转移就容易了很多,不会被\(a\)和\(b\)纠缠不清,设\(A=pa/(pa+pb)\),\(B=pb/(pa+pb)\),则有:\[f

斜率优化动态规划 学习笔记

首先看这样一个问题:洛谷P3195[HNOI2008]玩具装箱题目大意:有\(n\)个物品排成一行,第\(i\)个物品权值为\(C_i\),现要求将这些物品分成若干段,每段的花费为\(((\sum_{i=l}^{r}{C_i})-L)^2\)(其中\(l\),\(r\)为这一段的左右端点,\(L\)为给定常数),问最小的总花费.保证\(1\leqn\leq5\times10^4\),\(1\leqL\leq10^7\),\(1\leqC_i\leq10^7\).这题显然是一道DP题.令\(dp_{i}\)为考虑前\(i\)个物品的最小代价,\(sum_i=\sum_{j=1}^{i}C_j\)

万字长文概述单目3D目标检测算法

一,理论基础-相机与图像1.1,单目相机介绍1.2,针孔相机模型1.3,坐标系间的欧式变换1.4,世界坐标与像素坐标的转换1.5,三维旋转:欧拉角、旋转矩阵之间的转换二,单目3D目标检测概述2.1,3D目标检测算法介绍2.2,单目3D目标检测算法概述2.3,无人驾驶中的3D目标检测任务2.4,无人驾驶中的3D目标检测的难点三,主流单目3D检测算法3.1,Deep3Dbox算法介绍3.2,DeepMANTA算法介绍3.3,GS3D算法介绍3.4,M3D-RPN算法介绍四,总结参考资料一,理论基础-相机与图像相机将三维世界中的坐标点(单位为米)映射到二维图像平面(单位为像素)的过程能够用一个几何模