二分
qcccc_
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #731 (Div. 3) F
F. Array Stabilization (GCD version) 本题大概题意是: 给你一个数组,每次变换为a[i]=gcd(a[i],a[i+1]),而且是一个环状的,即a[n]=gcd(a[n],a[0]),每次操作遍历一遍数组, 问经过多少次操作是得a[1]==a[2]==a[3]==....a[n]. 思路是: 第一次操作后a[1]=gcd(a[1],a[2]),a[2]=gcd(a[2],a[3]),a[3]=gcd(a[3],a[4])... 第二次操作后 a[1]=gcd(a[1],g原创 2021-07-15 15:09:18 · 123 阅读 · 0 评论 -
Codeforces Round #686 (Div. 3)F
题目链接 这一题看完的唯一想法就是RMQ其他别无想法,但是仔细一想,如果是1到n中只放一个点然后来查找的话,然后要查找是否存在一个点为分界线使得左边的最小值等于右边的嘴大值时是满足单调性的,因为越往右移动最小值也越小,最大值也越小所以是满足单调性的,这里是中间有两个点,所以我们可以固定左边界,然后二分再查找是否有满足题意的点。不过二分的边界情况有点难搞,仔细理一下就好了。 //#include<bits/stdc++.h> #include<iostream> #include<原创 2020-11-27 20:50:17 · 78 阅读 · 0 评论 -
P1404 平均数(二分)
P1404 平均数(二分) 这是一个很常见的二分题目可能题目正解不是二分是单调队列,而这题呢 我之前一直被几组数组卡到怀疑人生,01数规划嘛就是让a[i]-mid,然后加起来如果>=0那么就满足条件,然后我就想着长度为m的一定是最大的,但是数据教我做人,等下看代码就知道了。 #include<iostream> #include<stdio.h> #include<math.h> #include<string.h> #include<stri原创 2020-08-15 16:52:14 · 217 阅读 · 0 评论