- 2024-09-12建图
建图邻接矩阵#include<iostream>#include<vector>usingnamespacestd;//点的最大数量intMAX_N=11;//邻接矩阵方式建图vector<vector<int>>graph(MAX_N,vector<int>(MAX_N));//初始化,下标从1开始voidbuild(intn){for(inti=1;i<
- 2024-09-112-SAT
将每个限制条件改写为「若\(A\)则\(B\)」的形式。从\(A\rightarrowB\)连一条有向边,跑\(\rmSCC\)缩点。若\(i\)和\(i'\)在同一联通块,则无解。否则有解。具体的方案是,令每个点\(c\)(所在联通块)小的为真。P6378[PA2010]Riddle前后缀优化建图,记\(pre_{a_i}\)表示
- 2024-09-06Day Inf
Day12新知识:Dsuontree。在计算树上路径问题中,亦可使用点分治。思想就是每次只保留重儿子的信息且回溯给父亲,其它点的信息暴力计算然后最后删除。如果是路径问题,记得加入一个子树过后要统一计算一次答案。复杂度是线对,证明考虑一个点被暴力加的次数为对数次即可(假设加入删除
- 2024-08-31To-do List
数学数论啥都没做。线代啥都没做。生成函数啥都没做。组合数学基本完工。剩下的都没学。字符串PAM,SA,SAM.图论联通性割点和桥,点双,边双,边双缩点,圆方树。网络流啥都没做。二分图啥都没做。2-SAT没做。建图优化啥都没做。博弈论Nim游戏全家桶其实就是啥都没
- 2024-08-23感染 点分治优化建图
I国有\(n\)个城市,有\(n-1\)条道路连接,并且所有的城市相互可达。城市因为自身的交通因素,人口因素,有一个传染力\(r_i\),一旦这个城市爆发疫情,会迅速感染其他距离小于等于\(r_i\)的其他城市,并且造成连锁反应。问一开始最少几个受到境外输入,会导致整个国家\(n\)个城市全部
- 2024-08-09线段树优化建图
今天写了道线段树优化建图的板子题,感觉学算法的还是要记录下来,将来方便复习也算是对竞赛生涯的一种回忆http://codeforces.com/problemset/problem/786/B,洛谷评级还是省选,如果是比赛现场想出来确实厉害,但是现在嘛,已经是时代眼泪了归纳下特点:和区间有关的图论问题直接上代码讲解
- 2024-08-06考试经验合集
考前:思维码力两手抓,算法用三天复习。进考场前看个题把思维启动一下。(待验证)题目绝对不能读错。暴力枚举、网络流、拆平方……暴力的想法不能一味否定。不能稍微想一下就认为一个算法没前途。面对不足要去解决,而不是沉沦下去。发现结论可能假了要验证,既不能即刻否定,也不能盲目
- 2024-07-312024.7.31随笔
上午讲课,学长叫wwlw,不认识,好像是20级的,比xk和watre高一级。今天讲的图论中的生成树和最短路,一共十道题左右,其中洛谷上有六道,一绿一蓝剩四紫;站外题也很难,感觉都有紫。从今天开始,我决定逼迫自己思考,压榨自己的思考力,争取多与学长互动,多提出自己的想法,然后找到自己的不足、漏
- 2024-07-29图的建图(hjyowl讲解)
上次讲了一些图的概念,如下:图论基础概念(详细讲解)-CSDN博客今天我们讲一下c++如何构建一个图,大概有三种方法。第一种:邻接矩阵存图,这个很简单,一个二维数组代表两个点之间是否有边/边权长度,便利的时候直接枚举n个点,看有没有链接(直接判断有没有值)。优点:好理解简单粗暴好写,稠密
- 2024-07-29ABC364F
区间连边先想到线段树优化建图,但显然的是这样建图求MST根本没法做。需要另想他法。前两天刚做了弹跳,此题并没有直接建图,而是模拟了Dijkstra来跑最短路。同理,此题我们也可以不直接建图,而是通过模拟Kruskal来求MST。将边按照权值从小到大排序,注意到连完边后\([l,r]\)的每
- 2024-07-22线段树优化建图一种编号方式的理解
intid(intl,intr){return(l+r)|(l!=r);}//代码1证明思路:引导并说明某种做法发生冲突的情况,并证明修改后不会发生冲突首先让我们考虑如果为intid(intl,intr){return(l+r);}//代码2会出现什么冲突,如图此时[1,3]与[2,2],[1,5]与[3,3]冲突结论1:线段树中序
- 2024-07-21线段树优化建图
$\quad$在做题时,我们会遇到这种问题:区间性的连边。$\quad$显然,直接连边很容易\(T\)掉,而且内存占用也是我们无法接受的,所以我们就可以采用一种更加方便(其实看起来更麻烦)的方法--线段树优化建图。$\quad$首先我们要有一棵入树与出树(这里用一下_ducati的图)$\quad$入树
- 2024-07-21线段树优化建图
首先看这个问题:一张\(N\)个点的有向图,初始没有任何边,有\(M\)次操作:建\(1\)条边\(u\rightarrowv\),边权为\(w\)。建\(r-l+1\)条边\(u\rightarrow\foralli\in[l,r]\),边权为\(w\)。建\(r-l+1\)条边\(\foralli\in[l,r]\rightarrowu\),边权为\(w\)。求建完边
- 2024-07-20【学习笔记】线段树优化建图
前言2023.5.31贺了线段树优化建图板子。当时那段时间还被\(bobo\)一顿乱\(D\),让我多写点\(DP\),数学,少些点重复的数据结构。2024.7.19没想到暑假集训CSP提高模拟2\(T3\)放了个线段树优化建图板子,加上之前线段树优化建图代码是贺的,今年寒假本想找时间步一下的结果没去
- 2024-07-20单目和RGB-D稠密建图
文章目录单目稠密建图立体视觉稠密深度估计更新深度图极线搜索块匹配RGB-D稠密建图点云地图从点云重建网格八叉树地图其他类型的地图地图的用处:定位、导航、避障、重建、交互。导航、避障、重建使用的是稠密地图。单目稠密建图缺点:双目、和移动单目相机,都可
- 2024-07-20P3588 PUS 题解
PUS推销我的洛谷博客。题意给出三个整数\(n,s,m\),请你构造一个整数数组\(a\)满足\(1\leqslanta_i\leqslant10^9(1\leqslanti\leqslantn)\)以及\(m\)个约束条件,或判断无解。\(a\)数组中\(s\)个数已经给出(保证合法)。\(m\)个约束条件格式如下:\(l,r,k,x_1,x_2\cd
- 2024-07-20线段树优化建图
为什么?什么时候用线段树优化建图例题如果此时暴力建边\(O(n^{2})\)肯定会TLE观察到题目中的“区间”此时考虑用线段树优化建图,在每个区间上连边(线段树上只有\(\log{n}\)个区间)来减少边的个数实现方法?摘抄自tzx_wk我们就拿\(2\)操作来举例吧。现在假设假如有一个点
- 2024-07-20关于线段树优化建图
线段树优化建图引入对于这道板子题但是我不会大概意思就是:有\(n\)个点、\(q\)次操作。每一种操作为以下三种类型中的一种:连一条\(u→v\)的有向边,权值为w对于所有\(i∈[l,r]\)连一条\(u→i\)的有向边,权值为\(w\)对于所有\(i∈[l,r]\)连一条\(i→u\)的
- 2024-07-19Legacy(线段树优化建图)
CF786B-Legacy线段树优化建图板子题。。。。。。暴力建边\(\mathcalO(n^2)\))肯定会\(TLE\)但仔细分析可以发现,题面中有一个我们非常熟悉的字眼“区间”,这启示我们,可不可以以此作为解题的突破口呢?答案是肯定的。想到区间我们可以联想到各种我们很熟悉的\(trick\),如前缀和、
- 2024-07-19暑假集训CSP提高模拟2
A.活动投票主元素问题,用摩尔投票#include<bits/stdc++.h>usingnamespacestd;intn,a=-1,acnt,x;intmain(){ scanf("%d",&n); for(inti=1;i<=n;++i){ scanf("%d",&x); if(acnt==0){ a=x; acnt++; } elseif(a==x){ acnt++
- 2024-07-19线段树优化建图
线段树优化建图用途:处理区间连边做法:建两颗线段树,一颗处理区间的入边,另一颗处理出边(如果用一颗线段树的话,边权就都为0了)例题:Legacy板子题,直接看代码点此查看代码#include<bits/stdc++.h>#include<bits/extc++.h>//usingnamespace__gnu_pbds;//usingnamespa
- 2024-07-15建图的一些技巧
已经不止一次了解到建图的技巧了,例如:最大流建立超级源点,超级汇点建反图,但已经忘了这个题是什么时候的题了点权转成边权2024/7/15介绍点权转边权如下所示,建立一个有\(2N\)个顶点和\(N+M\)条边(成本只分配给边)的有向图,答案就是从顶点\(1_\text{in}\)到顶点\(i_\te
- 2024-06-21最大流题目
T303177伊基的故事I-道路重建这题就是求增加一条边的容量,能改变最大流,求边的个数。我们求完网络流之后,只需查看有多少边所连接的点在残量网络上分别与S和T联通即可。T303637秘密挤奶机首先答案具有决策单调性,所以我们二分答案,然后再用可以走的边构成网络流。
- 2024-06-20ROS机器人虚拟仿真挑战赛持续学习笔记-20240619
cartographer需要全手工编译……比较麻烦。如果使用新版ceres-solver,版本2.x,需要修改源码,部分“接口代码”有改动。稳妥使用ceres-solver-1.13.0,且需要安装abseil-cpp。验证是否成功,使用roscd或roslaunch,查看一下是否有对于功能包:map只有room_mini和tianracer_racetr
- 2024-05-09优化建图
写\(2-SAT\)时刷到的,发现好像一点不会,学习下。1.线段树优化建图当一个点与一段区间连边时,暴力连是\(O(n^2)\)的。因为线段树有一个肥肠优秀的性质,一个区间最多被分为\(O(logn)\)个节点。so,我们可以把区间当成放到线段树上,这样是\(O(nlogn)\)的。具体的,我们建立一个