- 2024-11-07启航,带着梦想出发!
亲爱的读者们,这篇文章写于四年前,那时的我充满了青春的激情和对未来的无限憧憬。由于种种原因,这篇文章一直未曾面世,但在今天,我终于决定将它呈现给大家。岁月如梭,四年的时光匆匆而逝。回首往昔,我再次感受到当时创作时的心情和那份热情。虽然时间改变了很多东西,但我相信,青春的记
- 2024-09-162024杭电多校复盘 (1~5)
因为678三场是我们验的题,我基本没补题,910两场也没认真打,所以只复盘了前5场。第一场先开01,先想到的是sam做法,结果写到一半发现,这题内存只给了64M,sam开不下,于是转行SA,过了,但是很勉强。看了题解才发现哈希直接秒了,怪不得这题过的人这么多。02星星,就是个n^2的背包,但是队
- 2024-09-08AT_agc027_f [AGC027F] Grafting 题解
笑点解析:NOIP模拟赛把这题放在T3。因为每一个点只能动一次,答案一定\(\len\),所以我们分两种情况讨论:当答案小于\(n\)答案如果小于\(n\),那么一定有一个点是一直没有被动过的。我们枚举这个点,将无根树转化为两棵以这个点为根的有根树。我们将第一棵树和第二棵树同构的部分
- 2024-08-10572. 另一棵树的子树
572.另一棵树的子树题目链接:572.另一棵树的子树代码如下:/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode():val(0),left(nullptr),right(nullptr){}*T
- 2024-08-07生成一棵树
可以说包含大多数可以叉人的树。code:#include<bits/stdc++.h>usingu32=unsigned;usingi64=longlong;usingu64=unsignedlonglong;std::mt19937g(static_cast<u32>(std::chrono::system_clock::now().time_since_epoch().count()));constintRand(intl,
- 2024-08-03树的基础学习笔记
树的直径定义:树上最长的简单路径。(可能有多条)树的直径的性质直径两端点一定是两个叶子节点。距离任意点最远的点一定是直径的一个端点,这个基于贪心求直径方法的正确性可以得出。对于两棵树,如果第一棵树直径两端点为(u,v),第二棵树直径两端点为\((x,y)\),用条边将两棵树
- 2024-07-23题解:P9437 一棵树
题目传送门明显的换根dp,感觉是道不错的换根dp练习题。题意一棵\(n\)个节点的树,点带权,定义\(w(x,y)=\overline{a_x\dotsa_y}\)。求\(\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}w(i,j)\bmod998244353\)。思路我们不妨先求出\(i=1\)时的\(\sumw(i,j)\),再求\(
- 2024-07-19html--一棵树
<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>CodePenChallenge:SeasonsComeandGo</title><linkrel="stylesheet"href="css/style.css"><
- 2024-05-13CF875F Royal Questions
传送门\(a[i]\)和\(b[i]\)之间连一条\(w[i]\)的边,相当于把公主当作限制条件。考虑选当前这条边是否合法:1.若选了当前这条边后变成了一棵树,那即为\(x\)个点和\(x-1\)个边,可以任意舍去一个点(因为可以有王子不结婚),所以一定合法。2.若选了当前这条边后,变成了一棵基环树,即
- 2024-04-282024.4.28 近期练习
P6619[省选联考2020A/B卷]冰火战士对于一次战斗,冰火两方能量较少的那方会耗尽,答案为这个能量的两倍。我们就是要找一个中间值,左边的冰战士能量值之和与右边火战士能量值之和最小值最大。离散化,我们可以二分找到第一个冰的前缀和大于火的后缀和的位置\(p\),答案为\(p-1\)
- 2024-04-08基环树小结
基环树就是根节点基于环生长的一棵树,特点是\(n\)个节点\(n\)条边。如果\(n\)个节点\(n\)条边的图不联通那么是一个基环森林。很好证明,\(n\)个点\(n-1\)条边的联通图仅能是一棵树,现在从任一点引出一条边到任一点,由于两点先前一定联通,则在连接后原路径上的任意两点均有
- 2024-03-05572. 另一棵树的子树c
/***Definitionforabinarytreenode.*structTreeNode{*intval;*structTreeNode*left;*structTreeNode*right;*};*/boolissameroot(structTreeNode*p,structTreeNode*q){if(!p&&!q)returntrue;if(!q&
- 2024-02-21P8329 [ZJOI2022] 树
直接求是困难的,所以考虑容斥将所求容斥为两部分:每个结点至少在一棵树上为叶子的方案数-至少有一个结点在两棵树上都为叶子的方案数。考虑DP,设\(f_i(x,y)\)表示\([1,i]\)中是第一棵树的非叶子的结点数为\(x\),\([i+1,n]\)中是第二棵树的非叶子的结点数为\(y\)时的
- 2024-02-142024.2.14 LGJ Round
A一棵树,\(q\)次询问,每次给定\(x,d_x,y,d_y\),你需要找到一个\(u\)使得\(dis(u,x)=d_x,dis(v,x)=d_y\)。\(n,q\le1e6\)。稍微转化为对于点\(k\),找到一个距离为\(d\)的点,使得不走\(x,y\)这边子树。只需要求出每个点距离最远的几个点,且位于不同子树。因为要是存在距离
- 2024-02-14ABC 340
忘记打了,VP了一把,前五题都是板子。F题意:坐标系上给定一个整点\((x,y)\),求另一个整点\((a,b)\),满足\((0,0),(x,y),(a,b)\)组成的三角形面积为\(1\)(或说明无解)。题解:由这三个点组成的三角形面积为\(\dfrac{|ay-bx|}{2}\),所以\(|ay-bx|=2\)。令\(g=gcd(x,y)\),若\(g>3\)
- 2024-02-06Kruskal算法
问题描述有一张\(n\)个顶点、\(m\)条边的无向图,且是连通图,求最小生成树。算法简析\(Kruskal\)是一种求最小生成树的算法。设该图为\(G=(V,E)\)。最小生成树即所求为\(G_T=(V_T,E_T)\),因为图是连通的,所以最小生成树会覆盖所有的顶点,即\(V==V_T\)。\(G_T\)的真
- 2023-12-26P5333 [JSOI2019] 神经网络
题面传送门本来以为\(m\)这么小是\(m\sumk_i\logk\)的NTT的,写完发现一点不用(首先我们发现,这样的图上面的一个哈密顿回路可以表示成原森林若干条链,每个点都在其中一条链上,且相邻两条链不在同一棵树上。先跑一个DP把\(f_{i,j}\)表示用\(j\)条链覆盖\(i\)的方案数
- 2023-09-01手撕数据结构与算法——树(三指针描述一棵树)
- 2023-08-02将列表数据组成一棵树
列表数据结构假设有这样一个数据集合,其列表元素结构为:/***这部分数据可能是调第三方api或者查询的数据库*/@Builder@DatapublicclassRegionNode{ privateStringid;//区域id privateStringpid;//区域父id privateStringname;//区域名称}数据id
- 2023-06-07P5333 [JSOI2019]神经网络
P5333[JSOI2019]神经网络SolutionEGF表示有标号排列。对每棵树分别算出划分成\(i\)条链的方案数,记为\(f_i\)。具体地:设\(dp[u][i][0/1/2]\)表示在\(u\)子树内拆分成\(i\)条已结束的链,\(0\):已拼完,无法再延伸\(1\):单点,可继续向上扩展\(2\):长度\(>1\)的链
- 2023-04-16AtCoder Regular Contest 104 F Visibility Sequence
洛谷传送门AtCoder传送门考虑连边\((i,p_i)\)(若\(p_i=-1\)则不连边),可以发现形成了一篇内向树森林且这个森林存在一个dfs序为\(1,2,...,n\)。这棵森林有如下性质:\(\forallv\inson_u,h_u>h_v\)\(\forallv,w\inson_u\landv<w,h_v\leh_w\)考虑一个\(p
- 2023-03-04另一棵树的子树
另一棵树的子树给你两棵二叉树root和subRoot。检验root中是否包含和subRoot具有相同结构和节点值的子树。如果存在,返回true;否则,返回false。二叉树tree的一
- 2023-02-17题解 CF690C2
题目大意:给你一棵树,求一下直径题目分析:emm,怎么说吧,就是树的直径的裸板子。可能有人不大理解,明明是图,你为什么要说是给定一棵树。大家可以自行验证一下,满足如下两个性
- 2023-01-06省选联测十一
bot的能量堆一个复杂度正确的暴搜简要说一下复杂度为啥正确暴搜的状态按$a,b$差分类,显然有约数的个数类那么从同一个状态搜索到同一类状态时,不难发现$a$(或$b$)
- 2022-10-22HashMap
在jdk1.7版本其底层结构是:数组+链表在jdk1.8版本之后底层结构修改成为:数组+链表+红黑树在扩容机制上:jdk1.7:当满足扩容条件后-->其初始默认的容量为16,每次扩容都×2;