- 2024-06-10202400610刷题总结
T1T559。T2(带权并查集)1380。把行和列的取值看成变量,其中行取1代表+1,列取1代表-1,为了凑x-y=c,这样可以拿并查集来做了。维护d[x],到根的距离,我们把边定义为+,反向走为-。这样就行了,如果在一个集合,那么判断距离是不是c。还可以差分约束,dfs(直接遍历一遍,遇到环就判断).#i
- 2023-11-19洛谷P8602 大臣的旅费
这道题既可以用图论多次求单源最短路暴力来做,也可以用正解:求树的直径来做。#include<stdio.h>#include<stdlib.h>#include<algorithm>#include<iostream>#include<vector>usingnamespacestd;typedeflonglongll;constintN=1e5+5,M=N<<1;in
- 2023-09-15BZOJ 3451
题目链接description厉害题。给定一棵树,按照题面要求求一个错误点分治的期望执行次数。(不想描述题面了qwq)solution考虑拆开计算每个点期望几层点分治后被删除。这个期望值显然就是它对答案的贡献。我们不妨以这个点为根,那么相当于要求每次删除一个未被删除的点的子树,求删完
- 2023-05-11[每天例题]蓝桥杯 C语言 不高兴的津津
不高兴的津津题目 思路分析1.建立二维数组,分别存储周一到周日的日程安排2.可采用while循环或者for循环输入以及进行比对3.当a[i][j]+a[i][j+1]大于8时存储到max4.通过max大小判断输出最不高兴的一天,即max最大代码#include<stdio.h>intmain(){ inttime[7][2];
- 2023-04-13HDU 2089 不要62 (数位DP)
简单的数位DP。代码如下:#include<iostream>#include<string.h>#include<math.h>#include<queue>#include<algorithm>#include<stdlib.h>#include<map>#include<set>#include<stdio.h>usingnamespacestd;#d
- 2023-03-17左孩子右兄弟
#include<iostream>#include<string.h>usingnamespacestd;constintN=1e5+10;intn;inth[N],e[N],ne[N],idx;intmaxd[N];voidadd(inta,intb){e[i
- 2022-11-10P2474 题解
前言题目传送门!更好的阅读体验?差分约束。思路预处理维护两个数组\(mn_{i,j}\)与\(mx_{i,j}\),表示砝码\(i\)与砝码\(j\)重量差值的最小最大。我们分类讨论:
- 2022-10-03二叉树的直径
二叉树的直径题目给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。代码var