- 2024-10-11树链剖分|树上启发式合并
树链剖分分为重链剖分和长链剖分以及其他奇怪的剖分。以重剖为主。重链剖分将树上问题重链剖分为序列问题(经常是DFS序)然后用数据结构(经常是线段树)维护。剖分部分定义:重儿子:对于一个点,其儿子中,子树最大的那个;重边:父亲到重儿子的连边;轻儿子:除了重儿子以外的儿子;轻边:父亲
- 2024-09-29Google-fu
注:机翻,未校对。Didyouevergetthefeelingthatthebrowseraddressbaristhenewcommandline?IkeepforgettinghowmuchfunctionalityGoogleprovidesintheirsearchtextbox;IwasremindedwhenDamienKatzpostedalinktoanicelittleGoogles
- 2024-09-282024初秋集训——提高组 #26
C.牛半仙的妹子Tree题目描述给定一棵树,当一个结点上打了标记,那么下一个单位时间这个标记就会扩散到其相邻的结点上,你有以下三种操作:给一个结点打上标记。清除所有标记。查询一个结点是否有标记。思路考虑根号分治。我们对两次二操作之间的操作一数进行分治:当操作一
- 2024-09-21ABC372 (D,E)
ABC372(D,E)D一道比较简单的二分查找题目。观察到每个数能成为\(j\)的条件是独立的,因此想到统计每个数能成为它前面哪些数的\(j\)。对于每个\(ed\),二分\(1\simed-1\)中最后一个大于\(h[ed]\)的数的位置\(st\),那么\(h[ed]\)可作为\(st\simed-1
- 2024-09-09final
用final修饰就表示不可以再被改变,已经是最终的了。final可以修饰方法、类和变量。用final修饰方法就表示这个方法是最终的方法,不能被子类重写。用final修饰一个类,就表示这个类是最终的类,不能被继承。用final修饰变量,则该变量应该被叫做常量,只能被赋值一次且在被使用
- 2024-09-09PANDORA PARADOXXX
PANDORAPARADOXXX题意给出一棵树,每次操作删除树上的一条边,询问树上所有连通块中直径的最大值。思路倒序操作,删边变为连边。预处理出做完所有操作后的答案。使用并查集维护连通性,记录每个连通块内直径的端点。合并两个集合时,新的直径端点只可能是原来两个集合四个端点中的
- 2024-09-07开源项目fwupd开发
文章目录前言fwupd架构开发新插件一,编译fwupd二,文件结构三、代码结构前言在linux系统上,固件升级基本上都离不开fwupd。之前做过的一个项目就是在linux系统上使用fwupd对ble蓝牙设备进行通信,但fwupd上使用ble蓝牙通信的插件很少,只有高通的工程师在开发而且代码还没
- 2024-09-06java多态的编译执行
多态执行“编译看左边,运行看右边”“成员变量,静态方法看左边;非静态方法:编译看左边,运行看右边。”意思是:当父类变量引用子类对象时(Fuf=newZi();),在这个引用变量f指向的对象中,他的成员变量和静态方法与父类是一致的,他的非静态方法,在编译时是与父类一致的,运行时却与子类
- 2024-06-21CF519E A and B and Lecture Rooms(树上倍增 + 分类讨论)
link一眼看上去没什么思路,手摸一下样例,发现有不同性质的点对求解想法很不一样,考虑先分类讨论看看。从简单的约束到强的约束分类讨论,这样更可做,也更好讨论,比如首先我就想到两点是否重合,然后所求点一定要到两点的距离相等,我就想到路径长度的奇偶性,接着就考虑复杂的深度关系.....
- 2024-05-20洛谷 P4383 [八省联考 2018] 林克卡特树
原题等价于在树上选出\(k+1\)条不相交链,最大化边权和。树形DP。设\(f_{u,k,0/1/2}\)表示在\(u\)的子树中选了\(k\)条链,\(u\)的度数为\(0,1,2\)的最大边权和。注意到状态里缺了链退化为单个点的情况,可以把它放到\(f_{u,k,2}\)中(相当于自环)。转移时分讨一
- 2024-04-05P10238 [yLCPC2024] F. PANDORA PARADOXXX
P10238[yLCPC2024]F.PANDORAPARADOXXX并查集维护连通性+结论+数据结构维护距离题目的操作是删边通常复杂,并且不强制在线,所以离线倒过来加边。题目要求的就是当前所有连通块的直径的最大值,考虑加边后两个连通块合并后直径的变化。有结论:合并后的连通块的直径两端点一定是合
- 2024-03-20java 继承(中)
前面我们已经说明了什么是继承?继承的好处弊端等,不清楚的可参照链接java继承(上)-CSDN博客本篇文章主要理解super和this的区别及联系。1、super本章节主要说明怎么访问方法内的变量,类内的成员变量,父类的成员变量,下面先看代码实现。1.1代码实现(1)Fu类的代码实现publiccla
- 2024-03-10RTP封包
一、前言RTP(Real-timeTransportProtocol),即实时传输协议,RTP协议定义了在网络上传输音频和视频的标准数据包的格式。通常RTP和RTSP协议一起用于流媒体传输系统。RTP标准中包含了两个子协议,RTP和RTCP。当网络为UDP传输方式的时候RTP通常和RTCP协议配合使用,实现流媒体音视频质量
- 2024-02-22poly模板
多项式全家桶#include<bits/stdc++.h>#defineFu(i,a,b)for(registerinti=a;i<=b;i++)#defineFd(i,a,b)for(inti=a;i>=b;i--)#definemod998244353usingnamespacestd;intksm(inta,intk){ intans=1; while(k){ if(k&1)ans=1ll*ans*a%mod;
- 2024-02-22字符串
字符串KMP\(p_i\)表示\(s_{1...i}\)的最长真前缀,真后缀(“真”即是不包括原串)相等处理就很简单,每个i就判断能否更新i-1的答案,如不行就i变成\(p_{i-1}\)再处理Fu(i,2,m+n+1){ intj=p[i-1]; while(j>0&&a[i]!=a[j+1])j=p[j]; if(a[i]==a[j+1])p[i]=j+1;}EXKMP\(p_i\)表
- 2024-02-22FFT学习笔记
目录FFT推荐博客大致流程复数运算DFT单位根(n等分)性质FFTIFFT递归版迭代版(蝴蝶变化)FFT推荐博客快速傅里叶变换(FFT)超详解浅谈FFT(终于懂一点了~~)十分简明易懂的FFT(快速傅里叶变换)题目链接:P3803【模板】多项式乘法(FFT)大致流程系数表示法<--O(NlongN)-->点值表示法点值表
- 2024-02-22模拟退火模板
模拟退火模板#include<bits/stdc++.h>#defineMAX_TIME0.9//时间限制(s)#defineFu(i,a,b)for(registerinti=(a);i<=(b);i++)usingnamespacestd;doubleRand(){return1.0*rand()/RAND_MAX;}intcalc(intz,ints[605],intx){//计算差值 if(ans<=)//更新按时
- 2023-12-08流媒体学习5
五、H264编码 H264在视频采集到输出中属于编解码层次的数据,如下图所示,是在采集数据后做编码压缩时通过编码标准编码后所呈现的数据。1.编解码的必要性1)为什么要压缩节省传输带宽;编码可以将数据进行压缩,减少传输资源浪费。节省存储空间:计算一下:10秒钟1080p(1920x1080)、30fps的YU
- 2023-11-27std::future与std::promise在C++多线程同步与数据共享中的应用
1、std::promise与std::futurestd::promise与std::future通过配合使用完成数据的同步与共享,两者均是模板类;std::promise存储异步执行的值或异常;std::future提供可供访问的异步执行结果。二者配合使用伪码如下:std::promise<Type>pr;std::future<Type>fu(pr.get_fu
- 2023-10-18注视一切的终结
注视一切的终结目录注视一切的终结题目大意思路code题目大意给出一个\(n\)个点\(m\)条边的图,每条边有一个颜色\(w_i\)。保证这个图删除了所有重边后变成一棵树一条路径的权值就是相邻的两条边的\(w_i\)值不相同的个数有\(Q\)次询问,每次询问给出两个点\(x,y\),求
- 2023-10-17TARJAN复习 求强连通分量、割点、桥
TARJAN复习求强连通分量、割点、桥目录TARJAN复习求强连通分量、割点、桥强连通分量缩点桥割点感觉之前写的不好,再水一篇博客强连通分量“有向图强连通分量:在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点强连通(
- 2023-10-16CF1168C And Reachability
CF1168CAndReachabilityAndReachability-洛谷|计算机科学教育新生态(luogu.com.cn)目录CF1168CAndReachability题目大意思路code题目大意给定一个长度为\(n\)的数组\(a\)。你可以选择一个长度为\(k\)的数组\(p\)\(p_1=x,p_k=y\)当\(x<y\)且\(a_
- 2023-10-11CSP模拟52联测14 C.天竺葵
CSP模拟52联测14C.天竺葵目录CSP模拟52联测14C.天竺葵题目大意思路code题目大意给定两个长度为\(n\)的序列\(a,b\)需要在\(a\)序列中好到最长的序列\(c\)满足\(c_{i+1}>b_i\timesc_i\)输出长度\(1\len\le10^6\)思路感觉和\(n(\logn)\)求最长上升
- 2023-09-12新人笔记-final
packagecom_black.final00;publicclassDemo{publicstaticvoidmain(String[]args){ziz=newzi();z.method();z.show();}}packagecom_black.final00;//当写为publicfinalclassfu此类不可被继承publicclassfu{
- 2023-09-12hdu-3926-Hand in Hand-并查集
判断两个图是否同构。。用了并查集。。#include<stdio.h>#include<string.h>#include<stdlib.h>#include<algorithm>#include<queue>#include<stack>usingnamespacestd;#definelllonglongintn,m;structnode{ intfu; intsum; intf