第十六周 2018.12.31-2019.1.6 想题和写题总结

周五:
bzoj 11月月赛 5090-5098
1. bzoj 5098 [Lydsy1711月赛]赌博游戏
感觉是一道很有意思的题目。想题的时候,一开始的性质找的还是不够强,没有找到最强的性质:开始只想到维护每个长度的最后一个位置,并且这个单调右移,通过最优性证明。其实,更强的性质是可以从k个中加一个得到k+1个的最优解。
题解不是特别懂,自己想了一个比较麻烦的做法:
1. 维护出每个数的加入顺序,用一个平衡树
2. 然后按顺序插入每个数,维护一下后缀的增量贡献,用一个平衡树记录
2. bzoj 5097 [Lydsy1711月赛]实时导航
边的权值很小,直接拆点,把边权变成一
然后就可以每次询问bfs。用bitset优化!!
不能用并查集,因为枚举出边的时候会枚举到很多没有出边的点,不能保证每次枚举到的点都被访问过,重复访问复杂度是错的
3. bzoj 5096: [Lydsy1711月赛]删数游戏
仍然是很显然的性质没有挖掘出来:两个序列的最长上升子序列可以直接合并
一开始想了一个f[i][j]的dp,好像是用来解决有相同的数的情况的。一样加上经典的网络流模型,如果是i,j的话要建n^2个虚拟节点

== 总结一下:写题一定要理清思路,把每个细节想清楚再写!欲速则不达!说了很多次但是仍然没有做好!==
想题的时候要更加深入,高效,想更多的题,抓住题目更深的性质

猜你喜欢

转载自blog.csdn.net/weixin_42484877/article/details/85868973