2017暑假训练第四周周末总结

来源:互联网 发布:php笔试题 编辑:程序博客网 时间:2024/05/21 22:34

  这周周六打了北京的一场比赛,自己出了两道题,队友挂死在那个规律题上了,难受的我为了那个线段树忘了加一找错找到绝望。出了一道水题,看起来情况十分复杂,又是连续的m天要玩,又是有交通检查不能出门,又是可以多呆几天,但是又有很多要求,一看数据量,瞬间懂了,就是一个暴力。思路就是找到没有交通检查的点当作起点,中间m天如果有x天交通检查,停留时间就往后加x天,再看x天是否有交通检查,以此类推。一定是第一天和最少的一天去,题目就变得十分简单了,不过要判断最后一组的不检查天数如果不是m就是不合法的。然后就是一个线段树的模板题,求区间两数乘积的最小值,思路就是求出区间的最大值和最小值,判断最大值小于0,就是最大值的平方,最小值大于零就是最小值的平方,其他的就是最大乘以最小。这个题目有两个坑,直接用线段树会超时,需要优化剪枝,还有就是下标要加一,这个一开始队友还提醒我了,结果我还是忘了,加上剪枝我并不知道用的对不对,用了大量的时间找错。

  周天去看病,在路上看了一会Dic网络流最大流的算法,这个算法也是优化了差增广路的方式,用分层标号的方法。每次由一层向下一层搜索,搜索到底,回溯到上一个状态继续向下搜索,没有符合条件的结果,继续回溯。全部搜索完成之后,再用bfs检查标号,如果无法到达最后一层,算法结束。这种算法和SAP有异曲同工之妙,但我看博客里面都喜欢用这个算法,并没有感觉到谁优谁劣,打算都进行模板的练习。

原创粉丝点击