摘要: 题意:一个数组,重新打乱后前缀异或和递增。问这样的排列。 将所有元素按照二进制最高位分组。每次选当前前缀和sum的二进制最低的0位,再从分组中挑一个作为答案。先放首1在较低位的再放首1在较高位的总是可行的。首1都在同一位的先放哪个都是一样的。 阅读全文
posted @ 2018-09-27 20:11 degvx 阅读(149) 评论(0) 推荐(0)
摘要: 题意:x轴-100和+100的有敌人飞船,纵坐标由输入数据给出,我方有2飞船在x轴0,y坐标待定。0时刻时敌人同时向我方2飞船发出光线,光线会穿透飞船打到敌人自己,问2飞船放在哪敌人损失最大? 假如-100有飞船a,+100有飞船b,那么在两者y坐标和/2的位置放飞船,就炸掉2个。数据是60*60最 阅读全文
posted @ 2018-09-27 13:42 degvx 阅读(240) 评论(0) 推荐(0)
摘要: 题意:n个人要运动ll长,有个bus带其中几个人,问最短时间 最后所有人在同一时间到终点是用时最少的。由于搭bus相当于加速,每个人的加速时间应该一样。先计算bus走过的路程route。看第一个人被搭t分钟(也就是所有人以后都搭t分钟),剩余的人走t分钟,route+=v2*t。bus到了v2*t的 阅读全文
posted @ 2018-09-23 10:45 degvx 阅读(243) 评论(0) 推荐(0)
摘要: 题意:开始有个数k,有个数组和几个运算符。遍历数组的过程中花费一个运算符和数组当前元素运算。运算符必须按顺序花费,并且最后要花费完。问得到最大结果。 用maxv[x][y]记录到第x个元素,用完了第y个运算符时的最大值,minv[x][y]为最小。那么maxv[x][y]要么第y个运算符在x-1之前 阅读全文
posted @ 2018-09-21 19:31 degvx 阅读(163) 评论(0) 推荐(0)
摘要: 一开始忽略了欧拉定理指数部分是modphi(n-1)没有memset,减法后面没加0; 阅读全文
posted @ 2018-09-21 15:52 degvx 阅读(97) 评论(0) 推荐(0)
摘要: 题意:有n个区间[ai,bi],然后有n个人落在[ci,di],每个人能用ki次。问一种方式站满n个区间。 两种区间都用先x后y的升序排序。对于当前的区间[ai,bi],将ci值小于当前ai的全部放入multiset。再lower_bound查第一个>=bi的就是答案。 阅读全文
posted @ 2018-09-21 15:37 degvx 阅读(120) 评论(0) 推荐(0)
摘要: 题意:一个圆环上有树,猴子上下其中一棵树,再沿着换跑,再上下另一棵树。给出一个区间,问最大的运动距离是。 给出区间大小dst,和数高数组arr。 设区间[x,y],a[x]=2*arr[x]+dst[1]+dst[2]+......dst[x]。b[x]=2*arr[x]-dst[1]-dst[2] 阅读全文
posted @ 2018-09-20 21:33 degvx 阅读(201) 评论(0) 推荐(0)
摘要: 题意:给出数组arr和一个空数组dst。从arr中取出一个元素到dst为一次操作。问每次操作后dst数组中gcd等于1的组合数。由于数据都小于10^6,先将10^6以下的数分解质因数。具体来说从2开始,将2的倍数全部加2因子(用的vector),3的倍数加3因子。4不是质数,它的倍数不加因子。 还要 阅读全文
posted @ 2018-09-19 15:30 degvx 阅读(151) 评论(0) 推荐(0)
摘要: 题意:直角边为n的网格巧克力,一格为一块,选择斜边上一点,从左或上吃,直到吃到空气,称为一次操作。给出几个操作,问各能吃几块。如果x是当前要吃的横坐标,在已经吃过的中找x1>=x的第一个x1,即lower_bound()。如果x1==x,结果就是0;否则假设x是往上吃,x1也是往上吃,因为x和x1间 阅读全文
posted @ 2018-09-19 09:18 degvx 阅读(146) 评论(0) 推荐(0)
摘要: 题意:有n个点,找到一个顺序走遍这n个点,并且曼哈顿距离不超过25e8。 由于给的点坐标都在0-1e6之间。将x轴分成1000*1000,即1000长度为1块。将落在同一块的按y排序,编号为奇的块和偶的块一个升序,一个降序。有3个量值得关注。一是同一块中x的变化量,其实是不超过1000*n1,n1是 阅读全文
posted @ 2018-09-18 20:52 degvx 阅读(147) 评论(0) 推荐(0)