上题:
T1:又是老掉牙的meet in middle,我们枚举前一半的数,枚举后一般的数,用一趟线扫搞定。但是哪里写炸了只有20~~
T2:暴力很简单的想到了DP,dist[i][j]表示到第i行第j列的最短距离,30分。
正解是贪心。关于这道题的解法这篇blog不错http://blog.csdn.net/longyuepeng/article/details/38521877
T3:这道题很眼熟,类似的题好像有一道叫做灰色的果实还有消防站的,不过这题比较简单。考试的时候只有时间写暴力了,30分。
f[i][j]表示i的子树在以j为饮水机的条件下的最小支付(i的子树不一定是j),则f[i][j]=sigma(min(f[u][j]-c[j],best[j])+c[j]+t[dis[i][j]];
首先N遍bfs预处理每个点对间的距离,然后DP,best数组记录的是当前结点其子树完全有水的情况的最优值。
这是草稿,得放大图,代码什么的不重要。
总结:题都算不上没考过的知识点,只是非常灵活,不要第一题不会就放弃~~