随笔分类 - 2019暑训
摘要:"题目链接" 题意:给你一棵树,让你求每个点之间的距离的最短之和 题解:看到最短之和,想到最小生成树,且每条边权不同,最小生成树唯一,就转换问题为,求一棵树上每个点到所有点的距离之和,这就是树形dp,先对一个点跑dfs,求出该点到所有点的距离之和,统计每个点的子树个数,并假设该点为根,再跑一次dfs
阅读全文
摘要:"题目链接" 转换一下问题就是求每个点的最大长度,容易想到树的直径,一个点的最大长度就是他到两个端点长度的最大值,那我们就可以跑3遍dfs,第一遍求出直径的一个点,第二遍求出每个点到这个点的最大距离,第三遍利用第二遍求得的直径的另一点,反向跑,答案就是两者的最大值 这题好像还可以用点分治或者两遍df
阅读全文
摘要:"题目链接" 依旧是树形dp啦,一样的找根节点然后自下而上更新即可 设$dp_{i,0}$表示第i个不设,$dp_{i,1}$表示第i个设一个,容易得到其状态转移 $dp_{i,0} = \sum{dp_{j,1}}(j为i的儿子节点)$ $dp_{i,1} = 1 + \sum{min(dp_{j
阅读全文
摘要:"题目链接" 经典的树形dp,最大独立集,对于每个点就有2个状态,选/不选 设$dp_{i,0}$表示不选第i个,$dp_{i,1}$表示选第i个,容易得到其状态转移 $dp_{i,0} = \sum{max(dp_{j,0}, dp_{j,1})}(j为i的儿子节点)$ $dp_{i,1} = r
阅读全文
摘要:"题目链接" 本题也是区间dp,贪心可证,每一次出发必定是从端点,否则必然有重复,不会是最小值,那我们可以设dpi,j,0/1,0代表从左端点出发,1代表从右端点,因为每次都是从端点出发,状态方程为 dpi,j,0=min(dpi+1,j,0+d[i+1] d[i], dpi+1,j,1+dp[j]
阅读全文
摘要:"题目链接" 本题也是区间dp,但是需要保存的信息很多,是1还是0,有多少个连续的,那我们可以预处理,将所有的连续缩合成1个字符,那么字符串就变成了一个01交替的串,我们任意的消除1个部分,一定能引起连锁反应,~~像消消乐~~ 我们设dpi,j,k为区间[i,j],j后面有k个与j相同的元素,若j与
阅读全文
摘要:题目链接 一开始很自然的想到了贪心,跑了一下贪心,发现无法处理某一段已经被选走的情况,根据数据范围,区间dp比较适合,能储存区间取样信息 设dp[i][j]为已经杀死区间[i,j]的最小值,可以得到转移方程,dp[i][j] = min(dp[i][k-1]+dp[k+1][j]+a[k]+b[i-
阅读全文
摘要:题目链接 本题也是区间dp三角剖分板子题,只不过加入了判断是否是凸包,计算顺序要用凸包顺序(凸包板) #include<bits/stdc++.h> using namespace std; #define lowbit(x) ((x)&(-x)) typedef long long LL; typ
阅读全文
摘要:经典区间dp,破环成链,枚举新起点与新终点即可(i,i+n-1) #include<bits/stdc++.h> using namespace std; #define lowbit(x) ((x)&(-x)) typedef long long LL; typedef pair<int,int>
阅读全文
摘要:题目链接 本题是区间dp里的三角剖分,板子题,dp[i][j]表示凸多边形i-j构成的最值,转移方程为dp[i][j] = min/max(dp[i][k]+dp[k][j]+w[i,j,k])(i<k<j),表示将凸多边形i-j以k为分界,分成i-k,k-j以及三角形i-j-k #include<
阅读全文
摘要:求期望注意期望的定义,这题我们可以分正负数情况,设所求期望为E 正数: 1/n*x_i 负数:1/n*(E+x_j) 此时概率为1/n,根据期望定义,他回到起点后出去的期望为E,花费回起点的时间为x_j,也就是该点的取值情况 整理上式 E = sum / cnt_i sum是所有绝对值和, cnt_
阅读全文
摘要:设dp_i为所求答案,每次选择因数的概率相同,设i有x个因数,dp_i=sum(1/x*x_j)+1,(x_j表示第j个因数),那我们就预处理每个数的因数即可,T=10000,需要预处理出答案 #include<bits/stdc++.h> using namespace std; #define
阅读全文
摘要:设dp_i为已经出现了i面,需要的期望次数,dp_n=0 那么dp_i= i/n*dp_i + (n-i)/n*dp_(i+1) + 1 现在已经i面了,i/n的概率再选择一次i面,(n-i)/n的概率选到新的一面,分别乘其期望次数,并且这次丢过,所以+1 #include<bits/stdc++.
阅读全文
摘要:题目链接 本题很像bash博弈,但又有些许不同,因为这里是乘法,我们可以列出前几项可能 若n=2-9,那么first可以一次取完 若n=10-18,无论first怎么取,second都能一次取完 若n=19-162,那么无论second怎么取,first都能一次取完 若n=163-324 secon
阅读全文
摘要:题目链接 思路:考虑第一个人取的方式: 1.每次能取的次数>= n, 一次取完 first win 2.每次能取1个,n是奇数 first win 3.一次取不完,这种情况下也分2种情况 1)second能一次取完, second win 2)second不能一次取完,则他取一次使得这个链至少有一个
阅读全文
摘要:题目链接 题意是说有1到n个标号的盒子,选择一个非空的盒子A,B是否空无所谓,满足(A+B)%2=1,(A+B)%3=0,A>B 解上面的同余方程组,最小解为3,循环为2*3=6,那我们可以把前5个盒子对应能选择的盒子可以列举出来 1-2-8-14-20 2已经选过 3-6-12- 4-5-11-
阅读全文
摘要:Nim is a two-player mathematic game of strategy in which players take turns removing objects from distinct heaps. On each turn, a player must remove a
阅读全文
摘要:当日遇到月,于是有了明。当我遇到了你,便成了侣。那天,日月相会,我见到了你。而且,大地失去了光辉,你我是否成侣?这注定是个凄美的故事。(以上是废话)小t和所有世俗的人们一样,期待那百年难遇的日食。驻足街头看天,看日月渐渐走近,小t的脖子那个酸呀(他坚持这个姿势已经有半个多小时啦)。他低下仰起的头,环
阅读全文
摘要:大学英语四级考试就要来临了,你是不是在紧张的复习?也许紧张得连短学期的ACM都没工夫练习了,反正我知道的Kiki和Cici都是如此。当然,作为在考场浸润了十几载的当代大学生,Kiki和Cici更懂得考前的放松,所谓“张弛有道”就是这个意思。这不,Kiki和Cici在每天晚上休息之前都要玩一会儿扑克牌
阅读全文
摘要:十年前读大学的时候,中国每年都要从国外引进一些电影大片,其中有一部电影就叫《勇敢者的游戏》(英文名称:Zathura),一直到现在,我依然对于电影中的部分电脑特技印象深刻。今天,大家选择上机考试,就是一种勇敢(brave)的选择;这个短学期,我们讲的是博弈(game)专题;所以,大家现在玩的也是“勇
阅读全文

浙公网安备 33010602011771号