bestcoder round 72

前言

很久没有写博客了。这段时间一直很颓,总是想玩。不能这样下去了,马上就是GDKOI了,要努力了,fighting!
所以昨天就练了一练手,结果就是悲剧了。。
排名是159,比上一次还少了9名。。对的题目还是只有1道,感觉在这样下去,GDKOI就要滚粗了。。

回到正题

好了,不说这些了,我们回到正题。
第一题比较水,我就不说了,当然像我这种弱到不行的蒟蒻连一次过都不行,还要再默默看看程序才能发现错误再AC。。
第一题失误的原因是我没有注意到题目是多组数据,然后一些比较隐蔽的地方没有memset。希望不要再犯这些低级的错误了。
第二题题目的大意就是给你n个点2≤n≤1000000,然后让你求这些点之间的最大的曼哈顿距离。对于这题我给自己的思考的时间不够,当然这也是我没能切掉这道题的原因之一,但是这不是关键,关键是我没有围绕着曼哈顿距离去入手:|xa-xb|+|ya-yb|,这种式子一般还是要化简出来,分类讨论。
最后的结论也比较好做:max(|(xa+ya)-(xb+yb)|,|(xa-ya)-(xb-yb)|)
所以我们只用随便维护一下就可以了。
第三题:给你一个图,让你找出最大生成树的最大值。(最大值的定义为选的所有的边的and值最大)1≤n,m≤300000,n点数,m边数
其实还是一句老话有位运算就要逐位讨论,每位每位的考虑。这题也是一样的,对于答案的一位,若是选的话,那么所有这位为1且满足之前条件的边必定可以组成这棵树。所以问题就变得简单多了。

最后,我觉得bestcoder里面的题目的实现普遍不难,但考察的是思维。思维在这里显得更重要。

你可能感兴趣的:(总结)