- 博客(3)
- 收藏
- 关注
原创 Codeforces Round #828 (Div. 3) C - E1
记下颜色为c的下标为数组a,再记下颜色为g的下标为数组b,遍历a数组,对于每一个a[i],upper_bound b数组中第一个大于a[i]的b[j],如果搜索结果是b.size,说明没有,则最大等待时间为n-a[i]+b[0],否则为b[j] - a[i].每次询问给四个数a,b,c,d,问是否有两个数a
2022-10-20 17:20:36
284
原创 Codeforces Round #827 (Div. 4) D - F
创建一个sum数组,让sum数组作为数组a的前缀和,再创建一个b数组,b[i] = max(b[i - 1],a[i]),代表要上到台阶i所需要的腿长,对于每一个x,二分搜索b中第一个比x大的数b[i],则sum[i]就是答案。给你一个长度为n的数组,ai代表i台阶比i- 1台阶高了多少,最开始在地上,有q次提问,每次提问都有输入一个数x,表示腿长(自己能到达的高度),对于每次询问都输出能到达的最高高度。给一个长度为n的数组,问其中是否有两个元素互质,输出满足元素的下表和的最大值,没有则输出-1。
2022-10-17 17:08:24
577
原创 Codeforces Round #825 (Div. 2) A题
i++)//只进行变换数字的操作,不进行排序。if(p)//如果a,b对应相等,直接输出0,continue后面的步骤。//排序后再进行a,b对应位置的比较,把不一样的换掉。题目的大致意思是给你两个01串a,b,通过两种操作让a等于b。我们可以对两种方式分别计算一遍所需的步数,最后取min输出。1.从a中选择任意一位,把0变成1或者把1变成0。2.对a进行重新排序(以任意顺序)问让a等于b的最小操作次数是多少。1.只把0变成1,把1变成0。2.在一的基础上变换位置。
2022-10-11 14:38:20
209
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人