- 博客(10)
- 收藏
- 关注
转载 联盟(树的直径)
题意: 给你一棵树,你可以选择断开一条边再连上一条边使树的直径最小,求最小直径,可以断的边,任意一组可以断的点和新连的点。 题解: 算是求树上直径的综合运用。 先考虑一个问题:现在有两棵树,直径分别为$l_1$,$l_2$, 那么将两棵树合并后新树的直径最小为$\max(l_1,l_2,\lceil\frac{l_1}{2}\rceil+\lceil\f...
2019-09-24 10:29:00 169
转载 树的直径
定义: 给定一棵树,树中每条边都有一个权值,树中两点之间的距离定义为连接两点的路径边权之和。树中最远的两个节点之间的距离被称为树的直径,连接这两点的路径被称为树的最长链。后者通常也可称为直径,即直径是一个 数值概念,也可代指一条路径 树的直径通常有两种求法,时间复杂度均为O(n)。我们假设树以N个点N-1条边的无向图形式给出,并存储在邻接表中。 法一:树上DP 优点:1.代码...
2019-09-23 16:46:00 234
转载 石头剪刀布(概率DP)
题面: 题解: 上来题意就理解错了,题意并不是你可以通过前面的对手来判断接下来的对手,而是让你通过前面对手的操作来决策。 定义$g[i][j][k]$表示对手出了$i$个石头,$j$个剪刀,$k$个布的概率。 $f[i][j][k][q]$表示对手出了$i$个石头,$j$个剪刀,$k$个布,下一个将出$q$的概率。 (注:下面及代码中用$1$表示石头,$...
2019-08-13 07:09:00 506
转载 洛谷P3943 星空
题面: 题解: 很好的思维题,考察数学抽象和问题转化能力。 考虑到区间最长为$40000$,若暴力翻转,一次复杂度为$O(n)$,显然不可承受,考虑将区间操作转化为单点操作,所以我们可想到差分,因为一次翻转为取$xor$,所以我们定义差分为$b[i]=a[i]\ xor\ a[i+1]$。 差分后数组变为一个$01$串,包含不超过$2k$个零。 问题转化(转化一...
2019-08-11 21:35:00 165
转载 洛谷P3941入阵曲
题面: 题意: 给你一个的$n*m$矩阵,每个格子里都有一个不超过$k$的正整数。询问这个矩阵里有多少个不同的子矩形中的数字之和是$k$的倍数? 题解: 我们先考虑一个简化版的一维问题:给定一个长度为$n$的序列,$a[1],a[2],\cdots,a[n]$,如果某一段子序列的和为$k$的倍数,则称其为$k$倍区间,求该序列中有多少个$k$倍区间,要求时间复杂度为$O(...
2019-08-11 20:47:00 132
转载 插头DP入门
终于来补插头DP的坑了,咕了好久,主要是因为博猪代码实现能力太弱,而网上的大神们都只讲分类讨论。。。 只放代码了: zzh学长: 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define ll long long 4 #define A 1100000 5 #de...
2019-08-04 14:30:00 207
转载 树上启发式合并
模板: 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 using namespace std; 6 #define R register 7 #define ll long long 8 ...
2019-07-30 20:40:00 107
转载 单(树上DP+乱搞)
单(single): 题干: 题解: t=0时,考虑DP,我们可推出树结点与子结点b数组的关系, $ b[x]=b[fa]-sum[i]+tot-sum[i]\\b[i]=b[fa]+tot-2*sum[i] $ 显然我们可两次$dfs$求解。 t=1时,由上式得,$ b[i]-b[fa]=tot-sum[i]*2 (i!=...
2019-07-29 06:39:00 112
转载 随 (rand) (dp,原根,矩阵/倍增优化)
随 (rand): 题干: 题解: 对于$10\%$的数据mod=2,a[i]必定为1,直接输出1. 对于另$10\%$的数据n=1,输出$ a[1]^m\%mod $ 注意模mod而非$1e9+7$。 对于$50\%$的数据,我们考虑dp, 设$ f[i][j] $为i次操作后结果为j的方案数, 易得转移方程为:$ ...
2019-07-28 11:29:00 115
转载 方程的解(exgcd模板)
题面在考试反思中。 题解: 这题其实只是个板子题,但考试时忘记了,又不会推导,于是凉凉。。。 借这道题回顾一下$ exgcd $的各种特判: 我习惯将方程$ ax+by=c $看成一次函数$ y=-\frac{a}{b}x+\frac{c}{b} $ 而在此之前我们要特判b是否为0,再根据一次函数的性质来判断。 $ a,b,c $都为0时,无数组解。 ...
2019-07-24 07:52:00 253
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人