每日一句:不要放弃,放弃了今天就是放弃了一辈子。 数据结构 1.设一棵二叉树有a个度数为2的结点,b个度数为1的结点,则该二叉树中共有结点个数为 (南京大学 2018年) A.a+2b B.2a+b C.a+b+2 D.2a+b+1 答案:D 解析:考察了一个重要的公式,即二叉树中:度数为2结点个数+1=度数为0结点个数,这里
目录$\operatorname{prufer}$序列定义构造无根树到序列序列到无根树性质与相关结论 \(\operatorname{prufer}\)序列 定义 一种无根树上的数列。 由顶点标号的无根树转化而来。且对于一棵确定的无根树,其对应的\(\operatorname{prufer}\)序列也是唯一确定的。 构造 无根树到序列 有
人一闲就无聊 想做点小东西 以后需要的时候拎起来就用嘿嘿嘿 我做的转盘简单没啥难度,样式也是随便整整,里面的图片都是远程的 <template> <div class="turntable"> <!-- 转盘组件 --> <div class="box"> <div class="rotateBg" :style="
目录 1. 问题描述 2. 解题分析 2.1 一笔画的条件 2.2 各模块的顶点度数 2.3 如何计算整个拼图的各顶点度数 2.4 算法流程 3. 代码及测试 4. 后记 1. 问题描述 2. 解题分析 3*4的网格共有12个格子,每个格子可以任选以上4种模块之一,共有4^12=16777216种。嗯,
原题链接 题意: 给定一张无向连通图,每次询问时保留边权 \(\geq t\) 的边,并对这张图进行如下操作: 从小到大枚举每个点 \(i\) ,若其度数为 \(0\) 直接删去。 若其度数为 \(2\) ,则找出连向 \(i\) 的点 \(u,v\)(可能相同),并删去点 \(i\) 以及连向 \(u,v\) 的两条边,再添加 \(u,v\) 一条边
骆驼 观察最终遍历的形态:将整个棋盘拆开变成 \(M=\frac n5\) 个 \(5\times 5\) 的子问题,并且在解决子问题的过程中设置过渡点来进行不同子问题之间的转移 奇数偶数的 \(M\) 分开画得到不同的走法,将第一个格的最中间的格子留出来给 \(n\times n\) 每个子问题都从 \((3,3)\) 开始走,
个人理解 把一棵大小为 \(n\) 的有标号无根树映射到一个长为 \(n - 2\) 的数列上。 构造略(懒得写)。 性质 -1. 一个点的度数等于其在Prufer序列中的出现次数 + 1 。 -2. Prufer序列构造完后剩下两个点之一的其中一个必为 \(n\) 。 定理 Cayley 公式 凯莱公式:大小为 \(n\) 的不同
昨天晚上被教练暗中怼了一波,然后让我们认真想题。 也觉得是这样的,所以决定以后每天都写日志。 然后今天是想思维题。 \(\text{Sports Festival}\) 有 \(n\) 个人和 \(m\) 个活动,每个人对所有活动有一个喜爱顺序。 你可以自由决定每个活动是否开展,随后每个人会选择开展的最喜爱的
Problem - 23B - Codeforces 题意: n个人参加聚会,他们中的某些人是朋友 首先朋友数为0的人会离开聚会 然后剩余朋友数为1的人(这1个人在之前还没有离开聚会)会离开聚会 然后剩余朋友数为2的人(这2个人在之前还没有离开聚会)会离开聚会 …… 最后剩余朋友数为n-1的人(这n-1个人在之前
无向图三元环计数 从度数小的点向度数大的点连边,若度数相同则将编号小的向编号大的连边。 可以证明复杂度是 \(O(m\sqrt{m})\) 。 有向图三元环计数 将所有边看成无相,按照有向图的方式找出所有三元环,再进行检查是否在原图上也构成三元环。 竞赛图三元环计数 \(\dbinom{n}{3}-\sum_
T1 把快读改一改就行了 T2 瞅见状压分挺高就去码状压了,没去想贪心,,,最后30mins回来看的时候也没想到贪心,还在想dp咋整,,,就挺迷 显然应该尽量删‘A’,'P'可以和'P''A'删,'A'只能和'P'删 贪心删'AP',最后删'PP' 有\(O(n)\)的,维护两个变量匹配AP,我打的\(O(n^2)\)暴力删(一傻傻到底) T3 bitse
树的一些定义 1、一棵树的度树指其中节点的度数最大值。 2、一个节点的度数为该节点的子节点数量,显然叶子节点度数为0。 3、树中的边和节点的关系有:节点数=边数+1。 也就是说每条边代表一个度数,而树的根节点例外,所以树的总节点数=总度数+1。 示例 1、节点 A 的度数为3,节点 C 的
对于无向图,所有边都是联通的: (1)存在欧拉路径的充分必要条件:度数为奇数的点只能有\(0\)个或\(2\)个,如果起点和终点后重合那么度数为奇数的点就只能有\(0\)个,否则就只能有两个。 (2)存在欧拉回路的充分必要条件:度数为奇数的点只能有0个。 对于有向图,所有边都联通: (1)存在欧拉路径的充分必
T1 u 差分与前缀的综合练习。 分析数据范围,只能是在修改的时候$O(1)$做到,那么只能是像打标记一样处理那个三角形 正解是建立两个二位前缀和,一个控制竖向,一个控制斜向 每次在三角的左上,右下,左下几个位置分别打上加一或者减一的标记 之后$N^2$查询时直接将标记“下放”就可以求出正
题面 有一张 \(n\) 个点,\(m\) 条边的图,每条边有边权。需要找出一棵生成树,使得 1 号点度数恰好为 \(k\) ,在满足这个条件的前提下生成树的权值和尽量小。 无解输出 −1,否则任意输出一种方案即可 \(1 ≤ n ≤ 5000,0 ≤ m ≤ 100000,0 ≤ k ≤ 5000\) solution 收获蛮大的一个题 两种
题目 题目链接:https://www.luogu.com.cn/problem/P6085 世界上一共有 \(N\) 个 JYY 愿意去的城市,分别从 \(1\) 编号到 \(N\)。JYY 选出了 \(K\) 个他一定要乘坐的航班。除此之外,还有 \(M\) 个 JYY 没有特别的偏好,可以乘坐也可以不乘坐的航班。 一个航班我们用一个三元组 \((x,y,z)
题面传送门 介绍一个结论:无向无权图的生成树个数是度数矩阵减去邻接矩阵去掉任意行列的行列式的值。 然后有权图就是将度数改为权值。 有向图的话需要考虑是内向树还是外向树,内向树每个点权值是出边,外向树是入边。 然后就可以开开心心\(O(n^3)\)了。 code: #include<bits/stdc++.
你觉得冷,想给家人发送以下 iMessage:今天将温度降低几?如何在 Mac 上插入度数符号?小编教给大家快速输入度数符号的方法。 在 Mac 上键入度数符号的键盘快捷键 Shift + Option + 8:此快捷方式将度数符号带入您的领域,例如 95°。 还有 2 个其他快捷方式可以为文本添加类似度数的符号,但
题目传送门:https://codeforces.com/problemset/problem/1186/F 题目大意: 给一个\(n\)点\(m\)条边的无向简单图\(G\),记\(d_i\)为点\(i\)的度数。你需要在其中找到一个子图\(Z\),满足\(Z\)的边数\(m_Z\leqslant \lceil\frac{n+m}{2}\rceil\),记\(f_i\)为\(Z\)中点\(i\)的度数,满足\(\fo
题目 题目链接:https://www.luogu.com.cn/problem/P5361 小 Q 的生日快到了,他决定周末邀请一些朋友到他的新房子一起聚会! 他的联系薄上有 \(n\) 位好友,他们两两之间或者互相认识,或者互相不认识。小 Q 希望在周六办一个热闹的聚会,再在周日办一个尴尬的聚会。 一场热闹度为 \(p\) 的
5.3考试下饭合集### T1 星际旅行# 说实在的,我之前一直认为我tarjan学得还不戳。 看到这题,诶嘿,马上脑补出tarjan加换根dp切掉的壮阔图景...... 最后拿了20pts 针 不 戳 首先,这题和tarjan不tarjan没啥关系,考的是欧拉路(啥也不会的蒟蒻流下了不学无术的泪水),有些思路(在我这个菜鸡看
由于玄学错误以及各种挂分,这场考试连100都没上…… A.序列 玄学思路可以蹭过去,但是log函数在long long的情况下异常玄学,下面这段代码在Windows下运行结果为2,Linux下正确 #include<bits/stdc++.h> using namespace std; #define int long long signed main(){ int val=8,p=2; int
考试总结&反思 一开始先看的T1,看出来了是个有向无环图求路径数,路径只会从小标号的点指向大标号的点,把询问的点按标号排一下序直接for一遍就行了。这个方法是可以稳过30分的,但是60分有一个性质每个点只有一条出边,这意味着枚举出边更新答案每个点就是 O(1) 的,但我把边反着存了,这意味
这道题需要很大的脑洞。 首先答案显然可以转化为两类点和的差最小。 我们可以大胆猜想,两类点和的差为 0 。 因为是 1 ~ 4n 的全排列,所以总和为 \(2n*(4n+1)\) ,每一类点有 \(2n\) 个,他们有一个 \(2n\) 的因数,所以想到把数字配凑为两两和为 \(4n+1\) 的形式,也就是 1 和 4n 配,2 和 4n
由于两者是独立的,我们希望两者的$p$和$q$都最大 考虑最大的$p$,先全部邀请,此时要增大$p$显然必须要删去当前度数最小的点,不断删除之后将每一次度数最小值对答案取max即可 对于$q$也即最大独立集,并没有很好的解法,但考虑不断加入一个节点$x$,并删去$x$以及与$x$相邻的节点,重复此过程直