Codeforces Round #772 (Div. 2)

Dashboard - Codeforces Round #772 (Div. 2) - Codeforces

A:给一个数组,任意次操作,每次选择两个不同的整数i,j(1≤i<j≤n) ,将ai替换为x,将aj替换为y。为了不破坏数组,必须保持ai | aj=x | y。求数组和最小

题解:an的异或和

B:给一个数组,最小次操作,每次可以修改一个数,使得这个数组不存在ai>ai-1且ai>ai+1(an和a1默认符合条件)

题解:每次找到一个峰值(ai>ai-1且ai>ai+1)把ai+1改成max(ai-1,ai+1)

C:给一个数组。不超过n次操作,每次选择三个索引x、y、z(1≤x<y<z≤n) 用ay−az替换ax。操作后,|ax |需要小于10^18。使生成的数组不递减。

题解:把a1到an-2都an-1 - an 来替换,特殊处理本来就递减的数组

D:给一个元素不重复且都是正整数的数组a,数组S中的元素x满足下列以下特点之一:1、x=ai 2、x=2*y+1,其中y是S中的元素 3、x=4*y,其中y是S中的元素。求数组S中严格小于2^p的元素个数

题解:记f(p)为2^p内(严格小于)有多少个元素个数,f(p)-f(p-1)就是区间内的元素个数,其中有奇数偶数两种情况。

当a中只有1一个元素时,奇数2k+1,个数为f(p-1)-f(p-2),偶数4k个数f(p-2)-f(p-3),因此总个数为f(p-1)-f(p-3)

当a中还有其他元素时,会存在重合,因此找出区间内所有的a,记忆化搜索,递归找出是否可以由更小的数生成

E:有n辆车,位置各不相同,朝左或者朝右,如果两辆车无论速度如何,在所有时刻都不会共用坐标,我们称之为无关车。如果两辆车无论速度如何,在某个时刻必须共享同一个坐标,我们称之为“命中注定”。给定车与车之间相关还是无关,构造符合条件的方案(位置和朝向)

题解:无关的时候是背向的,相关的时候是相向的,不可能同向。

二染色,枚举每辆车,与它有关的染色(l和r)

拓扑排序定坐标

F:数轴上有n个点,每两个点之间的距离定义成(xi-xj)*(wi+wj),q次查询,li到ri之间的距离最小点对

题解:

当只有点ABE的时候,AB是有可能成为最小点对的

而只有点ABC或者ABD时,AB是不可能成为最小点对的

(即AB之间存在比AB较大点小的点时不符合条件)

从点A往后找,只能找后缀最小值,此时可以拿单调栈维护

二维数点,扫描线+树状数组

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值