摘要: 最小值肯定是把树看作二分图,此时答案为$n-1$。 最大值一定是选取重心为根,任意一个子树要么全部指向根,要么全部背离根,这样可以制造最大的星型图。 统计出每个子树的大小后做01背包,如果小于$\sqrt{n}$,那么二进制拆分,否则这种子树不超过$\sqrt{n}$个,直接DP即可。 用bitse 阅读全文
posted @ 2016-03-17 21:10 Claris 阅读(675) 评论(0) 推荐(0)
摘要: 暴力搜索出所有可行的形状,可以发现本质不同的形状数只有6000个左右。 对于每个形状,它的大小不超过$8\times 8$,故可以按照右下角为原点重建坐标系,用一个unsigned long long来存储。 然后对于每个中心,先进行第一步扩展,若能成功扩展,则扫描所有形状,看看是否匹配即可。 时间 阅读全文
posted @ 2016-03-17 19:35 Claris 阅读(385) 评论(0) 推荐(0)
摘要: 设$f[i]$为最优策略下调试$i$行代码的时间,则: $f[1]=0$ $f[i]=\min((j-1)\times p+f[\lceil\frac{i}{j}\rceil])+r$ 意义为枚举printf语句的个数,然后尽量均分,并假设坏点在最大的段落里。 考虑记忆化搜索,注意到对于每个$i$来 阅读全文
posted @ 2016-03-17 01:24 Claris 阅读(500) 评论(0) 推荐(0)