农夫约翰不擅长多任务处理。他经常分心很难完成长的项目。目前他正试图在穀仓的一侧上漆,但他一直在画小矩形区域然后由于照料奶牛的需要而偏离了方向,使得谷仓的某些部分上漆的涂料比其他部分多
我們可以将谷仓的一侧描述为一个二维x-y平面,农夫约翰在该平面上绘制n个矩形每个矩形的边都与坐标轴平行,每个矩形由谷仓的左下角和祐上角点的坐标描述
农夫约翰想在谷仓上涂几层油漆,这样在不久的将来就不需要再重新粉刷了但是,他不想浪费时间涂太多的油漆结果表明,K涂层是最佳用量请在他画完所有的长方形后,帮他确定谷仓有多少面积被K层油漆覆盖
输入的第一行包含n和k(1≤k≤n≤100000)。其余n行中的每一行包含四个整数x1、y1、x2、y2描述正在绘制的矩形区域,左下角(x1、y1)和右上角(x2、y2)所有x和y值都在0…1000范围内,并且所有矩形都有正面积
请输出谷仓被K层油漆覆盖的区域。
这道题一看就是二维差分我的二维差分模板复制一下,发现样例都没过??
这个時候我开始怀疑我想法是不是错了看了题解发现也是二维差分,但是好像跟我的写法不太一样;再次怀疑是不是我的板子错了但是不呔可能啊,写过这种题目的;
然后发现我的模板是左上角和右下角这道题是左下角和右上角,一度怀疑这有问题;
最后的最后才发现這道题给的是点的坐标,而模板是小格子坐标只要左下角坐标加1就行;
总结:二维差分对于给的点是左上右下还是左下右上没有任何区別,但是要特别注意是点坐标还是格子坐标;