08 2019 档案
摘要:扫描线 扫描线问题主要利用了线段树。 因为矩形的并集比较难算,所以我们可以用∑(扫描线被截长度×所扫描的高度)来求和。而这样做发现可以用线段树来优化,具体优化方式如下:所扫描的高度比较好求,主要是扫描线被截长度需要优化。 我们可以设横边有一个a权值,如果该边是矩阵的下边则设为1,相反就设为
阅读全文
摘要:分组背包 分组背包其实就是通过更改和增加枚举顺序来把01背包中的状态(第i个j重量时的最大价值转化为第i组j重量时的最大价值)。 但是要注意的就是枚举顺序一定要正确
阅读全文
摘要:"题目" 一道模拟题,问题不是很大,主要需要读题清晰,且算法的操作顺序要搞明白,比如在每一秒的开始,所有无人机 先 移动,然后再一步一步操作。 然后就是判断方向是否一致了,细节还是很多的。 c++ include using namespace std; int n, t; struct dir {
阅读全文
摘要:"题目" 其实跟线段树1,2差不多,唯一需要区别的就是lazy数组及标记下传时候的操作了。 线段树左儿子的个数应该是比右儿子的个数大的。所以我们需要再将区间异或时,一定要搞清楚每个区间的元素有多少个,然后再将该区间元素的0,1个数颠倒一下就好了
阅读全文