涨rating啦。。
不过话说为什么有这么多数据结构题啊,难道是中国人出的?
A - Dice Rolling
傻逼题,可以用一个三加一堆二或者用一堆二,那就直接。。
#include #include #include #include #include #include
B - Letters Rearranging
统计一下如果全部相同输出-1,否则排个序就好了。
#include #include #include #include #include #include
C - Mishka and the Last Exam
大概就是让前面的尽量小,让后面的尽量大,那就直接扫就好了。
#include #include #include #include #include #include
D - Beautiful Graph
二分图染个色就好了。。
#include #include #include #include #include #include
G - Multidimensional Queries
大概就是有n个k维空间上的点,每次修改一个点或查找区间内选两个点的曼哈顿距离最大值。
首先如果k==2,那就可以转切比雪夫距离。
考虑转切比雪夫的时候,把原来的坐标\((x,y)\)变成了\((x+y,x-y)\),这么做的原因就是x与y的大小关系相同或不同。那么如果扩展到k维,那就是k个坐标的大小关系相同或不同。比如三维的情况:\((x,y,z)\)转成\((x+y+z,x+y-z,x-y+z,x-y-z)\)。那么k维的就可以转成\(2^{k-1}\)维,那就直接开这些线段树就好了。
时空复杂度:\(O(2^{k-1}n\log n)\)
#include #include #include #include #include #include