- 2024-11-17CF603E Pastoral Oddities 题解
Description给定一张\(n\)个点的无向图,初始没有边。依次加入\(m\)条带权的边,每次加入后询问是否存在一个边集,满足每个点的度数均为奇数。若存在,则还需要最小化边集中的最大边权。\(n\le10^5\),\(m\le3\times10^5\)。Solution考虑给定一个图,怎么判断这个图存在一个
- 2024-10-22生产数据误删恢复系列之学习使用FY_Recover_Data进行恢复
一、安装FY_Recover_Data下载地址:https://hellodba.com/reader.php?ID=191&lang=CN[root@myoracle~]#unzipFY_Recover_Data.zip[root@myoracle~]#mvFY_Recover_Data.pck/home/oracle/[root@myoracleoracle]#chown-Roracle.oinstallFY_Recover_Data.pckS
- 2024-10-122024 停课做题总结
[ABC372D]Buildings思路正着做不方便,倒着用单调栈做一遍就行了。代码#include<iostream>usingnamespacestd;inlineintread(){registerintx=0,f=1;registercharc=getchar();while(c<'0'||c>'9'){if(c=='-')f=-1;c=
- 2024-10-10D. Connect the Dots
https://codeforces.com/problemset/problem/2020/D题面:思路:并查集加合并区间,然后发现一个大佬的并查集板子很好#include<bits/stdc++.h>usingnamespacestd;structDSU{std::vector<int>fa,siz;DSU(intn):fa(n+1),siz(n+1,1){std::iota
- 2024-10-072024.10.05 刷题记录
2024.10.05刷题记录P7597「EZEC-8」猜树加强版不难发现\(u\)的儿子的条件是在\(u\)的子树内且深度比\(u\)恰好大\(1\)。每次询问子树内的所有节点深度或许可以解决此题,但询问次数达到了\(n^2\)。在\(u\)的子树内,如果知道所属其他儿子的子树的节点,知道属于\(u\)
- 2024-09-232024.8.18 模拟赛 22
模拟赛T1先崩,然后电脑又崩。题面都在这里了T12-Coloring原题3100,张口放T1(这是原话)看起来像dp,推了两个小时大力分讨,最后式子比我命还长。刚推出来就发现假了正解差不多人类智慧吧,也可能只是小trick。对于整张图,考虑最终染色的“形状”。(下面这个样子)图片来自题解C
- 2024-09-18关于一类偏序问题
对于一类依赖偏序关系计算答案的问题,由于我们只关注元素之间的大小关系,从而可以通过特殊的枚举方式来避免多种情况分类讨论。常见方法有:\(\mathrm{<,>}\):通过从小到大的方式依次考虑元素。\(\mathrm{abs,max,min}\):通过拆成\(<\)或\(>\)的形式后,再从小到大考虑。
- 2024-09-10搜索
DFS与BFSDFS定义:深度优先搜索(DFS)是一种以深入探索图的分支为目标,直到到达指定的“深度”,无法继续前进为止,然后通过回溯探索其他分支。用途:通过枚举的方式来遍历当前的所有状态搜索图或者树例如:解决迷宫问题,路径查找、检查图中是否存在环、排序问题等。优点空间复杂
- 2024-09-09牛客小白月赛100
A-ACM中的A题#include<bits/stdc++.h>usingnamespacestd;usingi32=int32_t;usingi64=longlong;#defineinti64usingvi=vector<int>;constintN=10;chars[N];i32main(){inta,b,c;cin>>a>>b>>
- 2024-08-232024.8.23 模拟赛总结
A.distStatement:给定一棵\(n(n\le10^6)\)个节点带边权的树,定义\(\mathrm{Min}(x,y)\)是\((x,y)\)路径上的边权最小值。求\(\max_{r=1}^n{\sum_{v\nei}\mathrm{Min}(r,v)}\)。Solution:经典套路题。首先注意到一条路径上的只有最小值才会产生贡献,于是对于
- 2024-08-17树链剖分
具体见OI-wiki,下面是一些补充重链要求是极大的每个点都在某一个重链中,如果一个点是重子节点,那么其在与其父亲所连的边的重链中,否则在与其重子节点所连的边的重链中这一段的原因:我们走重链是不用关心的,因为同一重链的dfs序是连续的,我们可以用其他数据结构维护,我们只用关心这条
- 2024-08-15【NOIP2016普及组复赛模拟赛】侦察兵
题目描述mxy沉迷于一个辣鸡游戏不可自拔。游戏地图是一个n*n的矩形,在每个单位格子上有一个数字,代表当前位置的生命体个数,作为一个侦察兵,mxy的任务是计算出她所在位置的左上角和右下角的总人数(不包括她所在的行列)。注意作为一个侦察兵,mxy是不包括在地图上的生命体个数中的
- 2024-08-14并查集
并查集(递归写法)#include<bits/stdc++.h>usingnamespacestd;constintX=10010;intf[X];intn,m; //初始化voidinit(){ for(inti=0;i<X;i++){ f[i]=i; }}//查找上级是谁intfind(intx){ if(x!=f[x]){ returnf[x]=find(f[x]);//路径
- 2024-08-08【无人机】纯定向被动定位视角下的无人机群定位调度方法(Matlab代码实现)
- 2024-07-21线段树分治
线段树分治线段树分治可以解决这样的问题:对于一些操作,每个操作只在\(l\)~\(r\)的的时间内有效。对于一些操作,询问某个时间点所有操作的贡献。经典例题算法思路对于这道题,因为二分图的充要条件是不存在奇环,所以可以使用扩展域并查集解决。我们考虑离线优化:对于每
- 2024-07-08P3043 [USACO12JAN] Bovine Alliance G
P3043[USACO12JAN]BovineAllianceG并查集每个连通块方案数独立。考虑一个连通块的情况,显然如果\(m>n\)一定无解,那么就只有\(m=n\)和\(m=n-1\)两种情况,前者是基环树,后者是树。基环树的环上,第一条边选择的端点确定,其他也就确定,共有两种情况。环下的树选择固定。所有总
- 2024-06-22迷宫Ⅱ
题目描述一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由n×n 的格点组成,每个格点只有 22 种状态:. 和 #,前者表示可以通行后者表示不能通行。同时当Extense处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,Extense想要从
- 2024-06-16「杂题乱刷」AT_abc358_g
代码恢复训练2024.6.15(补)链接(luogu)链接(atcoder)abc最水的G了吧。你发现,你最后肯定全在在同一个点上不动,而且你一定可以在\(n\timesm\)回合内走到这个点,因此我们直接\(dp_{i,x,y}\)表示走\(i\)步到\((x,y)\)这个格子所能得到的最大值即可。时间复杂度\(O(
- 2024-05-20C语言-文件读写
C语言文件读写文件分类:二进制文件:把数据的补码直接写入文件,这种文件叫二进制文件。优点:读写和写入时不需要进行转换,所以读写速度快,数据安全性高。缺点:不能使用文本编译器打开,无法阅读。文本文件:把数据转换成字符串写入文件,也就是把字符的二进制写入文件,这种文件
- 2024-05-10[ARC069F] Flags
题意有\(n\)个旗子。你需要将她们插在数轴上。第\(i\)个旗子只能放在\(x_i\)或\(y_i\)处。你需要求所有旗子的最小距离\(d\)的最大值。Sol二分个答案先。考虑\(\text{check}\),注意到这是个\(\text{2-sat}\)的经典模型。具体地,设\(S=x\cupy\)若\(|S_i
- 2024-05-08并查集
并查集并查集模板包含路径压缩+小挂大constintMAXN=1e5+1;intfather[MAXN];//存父亲节点father[1]=2指的是1节点的父亲为2intsize[MAXN]; //存每个集合的大小intstack[MAXN];//intn;//建立并查集voidbuild(){ for(inti=0;i<=n;i++)
- 2024-05-05标准C语言5
进制转换: 现在的CPU只能识别高低两种电流,只能对二进制数据进行计算。 二进制数据虽然可以直接CPU计算识别,但不方便书写、记录,把二进制数据转换成八进制是为了方便记录在文档中。随着CPU的不断发展位数不断增加,由早期的8位逐渐发展成现在的64位,因此八进制就不能满
- 2024-05-03P2024 [NOI2001] 食物链
原题链接题解带权并查集的应用,普通的并查集只能表示结点间的一种关系(如同一集合中的都是朋友)。而带权并查集的结点权值表示该结点与根结点的关系。相对应,带权并查集的路径压缩也复杂了一点。code #include<bits/stdc++.h>usingnamespacestd;constintN=5e4+5;intn,k
- 2024-04-25树链剖分
link1link2前言:树链剖分实际上就是一种将树形结构剖分成一条条链状结构,并用线性数据结构来快速维护信息。重链剖分:一些定义:重儿子:一个节点的重儿子定义为它的子节点中子树节点最大的节点。轻儿子:一个节点除重儿子外的所有儿子重边:一个节点到它的重儿子的边即为重边
- 2024-04-20如何将图片上的像素坐标(u, v)投影到世界坐标系中
如何将图片上的像素坐标(u,v)投影到世界坐标系中,即得到\((x_w,y_w,z_w)\).数学表达如下\[\begin{align*}s\begin{bmatrix}u\\v\\1\end{bmatrix}&=\begin{bmatrix}f_x&0&c_x&0\\0&f_y&c_y&0\\0&0&1&0\end