E. Klees SUPER DUPER LARGE Array!!!

原题链接

题解

发现随着 \(i\) 越大,绝对符号内的值越大,因此具有单调性,可以应用二分查找找离0最近的 \(i\)

而值可以用 等差数列求和公式 快速求出

code


#include<bits/stdc++.h>
using namespace std;
/*
mt19937_64 rnd(time(0));
#define double long double
#define lowbit(x) ((x)&(-x))
const int inf=1e18;
const int mod=1e9+7;const int N=4e5;
int qpow(int a,int n)
{int res=1;while(n){if(n&1) res=res*a%mod;a=a*a%mod;n>>=1;}return res;
}
int inv(int x)
{return qpow(x,mod-2);
}
int fa[2000005];
int finds(int now) { return now == fa[now] ? now :fa[now]=finds(fa[now]); }vector<int> G[200005];int dfn[200005],low[200005];
int cnt=0,num=0;
int in_st[200005]={0};
stack<int> st;
int belong[200005]={0};void scc(int now,int fa)
{dfn[now]=++cnt;low[now]=dfn[now];in_st[now]=1;st.push(now);for(auto next:G[now]){if(next==fa) continue;if(!dfn[next]){scc(next,now);low[now]=min(low[now],low[next]);}else if(in_st[next]){low[now]=min(low[now],dfn[next]);}}if(low[now]==dfn[now]){int x;num++;do{x=st.top();st.pop();in_st[x]=0;belong[x]=num;}while(x!=now);}
}
vector<int> prime;
bool mark[200005]={0};
void shai()
{for(int i=2;i<=200000;i++){if(!mark[i]) prime.push_back(i);for(auto it:prime){if(it*i>200000) break;mark[it*i]=1;if(it%i==0) break;}}
}
*/#define int long longint cal(int n,int k,int i)
{int add=(k+k+i-1)*i/2;int jian=(k+i+k+n-1)*(n-i)/2;return add-jian;
}void solve()
{int n,k;cin>>n>>k;int l=0,r=n+1;while(l+1<r){int mid=(l+r)/2;if(cal(n,k,mid)>=0) r=mid;else l=mid;}cout<<min(abs(cal(n,k,l)),abs(cal(n,k,r)))<<'\n';
}
signed main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int TT=1;cin>>TT;while(TT--) solve();return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/794398.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从STM32的定时器到Linux上的时间相关服务

难题:在baremetal上实现按钮点击、长按事件 起因是因为我想用stm32加几个按钮只做一个我自己的控制器,我可以通过按钮执行一些功能。 硬件是如何和CPU通信的呢?CPU上支出几个GPIO引脚,这些引脚可以配置为输入模式和输出模式,并且都有两种状态——高电平和低电平。硬件连接…

自定义界面扫码,满足应用个性化定制需求

二维码识别技术已经成为我们日常生活中不可或缺的一部分,广泛应用于支付、交通、餐饮、生活服务以及智能家居等领域。它不仅是移动应用的重要流量入口,更是连接线上线下世界的桥梁。 不同的App在扫码界面的设计上各展其特色,从页面元素到交互方式,都体现了开发者对用户体验…

zabbix 打通LDAP登录

` dn=dc=localdomain,dc=com 搜索属性=uid 绑定DN=cn=admin,dc=localdomain,dc=com`

tarjan—算法的神(一)

本篇包含 tarjan 求强连通分量、边双连通分量、割点 部分, tarjan 求点双连通分量、桥(割边)在下一篇。伟大的 Robert Tarjan 创造了众多被人们所熟知的算法及数据结构,最著名的如:(本文的)连通性相关的 tarjan 算法,Splay-Tree,Toptree,tarjan 求 lca 等等。 注:有…

gitlab代码恢复

gitlab代码恢复背景: 从gitlab的web端页面下载了代码。需要恢复到新的gitlab上。下面操作以vonebaas-c-fabric-explorer-front工程为例 已经下载好vonebaas-c-fabric-explorer-front工程的zip包:操作步骤 原来的git地址是:http://xxx.git.com:9002/ 新的git地址是:http://1…

Vidful.ai:免费在线AI视频生成器

免费在线AI视频生成器Vidful.ai,无需下载或复杂操作,轻松将文字和图片转换为高质量、电影级视频!免费在线AI视频生成器Vidful.ai,无需下载或复杂操作,轻松将文字和图片转换为高质量、电影级视频! 网址:https://vidful.ai/ 为什么选择Vidful.ai?免费在线平台:无需下载、…

“数据守护,商业共赢” — 华企盾招商会议圆满落幕

在数字化浪潮席卷全球的今天,数据安全已成为企业可持续发展的基石。为了共同探讨数据防护的新策略,推动行业生态的健康发展,我司于2024年9月6日成功举办了一场以“数据守护,商业共赢”为主题的招商会议。此次会议汇聚了来自各行各业的精英人士,共同探讨如何有效应对数据安…

【优技教育】Oracle 19c OCP 082题库(第16题)- 2024年修正版

【优技教育】Oracle 19c OCP 082题库(Q 16题)- 2024年修正版 考试科目:1Z0-082 考试题量:90 通过分数:60% 考试时间:150min 本文为(CUUG 原创)整理并解析,转发请注明出处,禁止抄袭及未经注明出处的转载。 原文地址:http://www.cuug.com/index.php?s=/home/article/deta…

Canvas绘制图片合成样式

效果图web * {margin: 0;padding: 0;}.container {position: relative;width: 328px;height: 328px;margin: 100px auto;}.container img {position: absolute;width: 328px;height: 328px;}#canvas {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);…

Axure的画图规范说明

Axure的画图规范说明自定义网页整体尺寸:1366x768;色值:# F8F9FD 顶部一级导航:1366x48;色值:# 1D8FFF 左右布局,左侧边导航:768x194;色值:# 191A23 侧边导航栏宽高:194x768 左侧一级菜单宽高:194x40/边距:16,字号:14,色值:#FFFFFF,图标:14x14,二级导航宽194w,…

解决vscode终端输出中文乱码问题图文教程

由于系统终端默认编码为GBK,所以需要修改为UTF-8 方法一 打开cmd输入chcp查看编码格式,查看以及修改如下图所示:方法二