您当前的位置: 首页 >  算法

MangataTS

暂无认证

  • 0浏览

    0关注

    423博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

2021-2022年度第三届全国大学生算法设计与编程挑战赛(冬季赛)-正式赛 部分题解

MangataTS 发布时间:2022-03-27 14:49:25 ,浏览量:0

比赛链接

http://oj.saikr.com/contest/19

B.Error 思路

这道题其实我们贪心加上二分就能做了,首先我们贪心得把 b [ 1 ] b[1] b[1] 变得很小,然后构造 b [ i ] b[i] b[i] 的时候也是贪心的去构造,尽可能比 b [ i − 1 ] b[i-1] b[i−1]大1,如果不行的话就让 b [ i ] = b [ i ] − e p s b[i] = b[i] - eps b[i]=b[i]−eps ,然后我们对这个 e p s eps eps 的值进行二分查找就好了,详情请看代码

代码
#include
using namespace std;
//----------------自定义部分----------------
#define ll long long
#define mod 1000000007
#define endl "\n"
#define PII pair
#define INF 0x3f3f3f3f
#define int long long
int dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1};

ll ksm(ll a,ll b) {
	ll ans = 1;
	for(;b;b>>=1LL) {
		if(b & 1) ans = ans * a % mod;
		a = a * a % mod;
	}
	return ans;
}

ll lowbit(ll x){return -x & x;}

const int N = 2e6+10;
//----------------自定义部分----------------
int t,n,m,q,a[N],b[N];

bool check(int eps){
	for(int i = 1;i n;
	ll ans = k,cnt = 0;
	for(int i = 1;i             
关注
打赏
1665836431
查看更多评论
0.0945s