摘要: 关于没有忍者的区间用线段树判就好啦 然后把剩下的区间改一改:l/r数组表示最左/最右没被删的点,然后删掉修改后的左边大于右边的;l升r降排个序,把包含完整区间的区间删掉; 然后设f/g数组表示i前/后的最少需要忍者数,这个贪心来转移即可,就是把忍者放在区间的最右/左位置 然后对于每个r判断。为什么是 阅读全文
posted @ 2018-04-15 22:08 lokiii 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 我是智障 3,读优写错了调了半天没发现= = 虽然是个最短路却有网络流一般的神建图啊。 首先发现在拐角处转弯是最优的,于是先离散化,然后矩形的四个顶点向距离它最近的上下左右点连边,跑spfa即可。 就是难写啊,还要判断无解:st在矩形里;dis[t]=inf 阅读全文
posted @ 2018-04-15 17:04 lokiii 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 画图可知,每一行的状态转移到下一行只有两种:奇数列不变,偶数列^1;偶数列不变,奇数列^1 所以同一行相邻的变革染色格子要放到同一个并查集里,表示这个联通块里的列是联动的 最后统计下联通块数(不包括第一行的这一列已经被染色的情况)快速幂一下即可。 cpp include include includ 阅读全文
posted @ 2018-04-15 09:31 lokiii 阅读(218) 评论(0) 推荐(0) 编辑