03 2019 档案

摘要:传送门:http://www.51nod.com/Challenge/Problem.html#!#problemId=1812 题解:头一次写换根树DP。 求两条不相交的直径乘积最大,所以可以这样考虑:把一条边割掉,然后分别求两棵子树内的最长链乘起来就行了。由于负负得正,所以要再求一次最短链,就是 阅读全文
posted @ 2019-03-26 15:58 hfctf0210 阅读(373) 评论(0) 推荐(0)
摘要:一个很显然的DP方程式:f[i]=Σf[j],其中j<i且在[j+1,i]中出现1次的数不超过k个 乍一看挺神仙的,只会O(n^2),就是对于每个位置从后向前扫一遍,边扫边统计出现1次的数的个数。不难发现,同一个数第一次出现时cnt++,第二次出现时cnt--,后面没有变化这不是废话吗?! 于是可以 阅读全文
posted @ 2019-03-05 10:28 hfctf0210 阅读(444) 评论(0) 推荐(0)
摘要:这题是一年前某场我参加过的Education Round codeforces的F题,当时我显然是不会的。 现在看看感觉应该是能做出的。 不扯了写题解: 考虑朴素的DP,在不存在障碍的情况下:f[i][0]=f[i-1][0]+f[i-1][1],f[i][1]=f[i-1][0]+f[i-1][1 阅读全文
posted @ 2019-03-04 19:15 hfctf0210 阅读(350) 评论(0) 推荐(0)