news 2026/8/13 18:06:23

109. 天才ACM(二分、倍增

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
109. 天才ACM(二分、倍增

题源
倍增比二分快了一个logn

#pragmaGCCoptimize(3)#include<bits/stdc++.h>#include<iostream>usingnamespacestd;#defineintlonglongintK,M,N,T;constintMAX_LEN=5e5+9;intarr[MAX_LEN];intbrr[MAX_LEN]={};template<typenameT>inlineTread(){T X=0;registerboolflag=1;registercharch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')flag=0;ch=getchar();}while(ch>='0'&&ch<='9'){X=(X<<1)+(X<<3)+ch-'0';ch=getchar();}if(flag)returnX;return~(X-1);}inlineboolcheck(intst,intmid){intpowSum=0;memcpy(brr+1,arr+st,mid*sizeof(int));// for (int i = st;i<=6;i++)cout<<arr[i]<<"\n";// for (int i = st;i<=6;i++)cout<<brr[i]<<"\n";sort(brr+1,brr+mid+1);for(inti=1;i<=M;i++){if(i<mid-i+1){powSum+=pow(brr[mid-i+1]-brr[i],2);// cout<<powSum<<"ps\n";}elsebreak;}// cout<<st<<" "<<mid<<" "<<powSum<<"--\n";if(powSum<=T)returntrue;returnfalse;}signedmain(){K=read<int>();while(K--){// scanf("%lld %lld %lld",&N,&M,&T);N=read<int>();M=read<int>();T=read<int>();for(inti=1;i<=N;i++){// scanf("%lld",&arr[i]);arr[i]=read<int>();}intdst=1,ans=0,end=1;intmulti=1;while(dst<=N){//段的起点小于等于nmulti=1;while(multi!=0){//无法倍增为止if(end+multi<=N&&check(dst,end+multi-dst+1)){//如果倍增结束点+multi<=n,并且检查起点到倍增后的结束点满足//则结束点更新,倍增增加end+=multi;multi<<=1;}else{multi>>=1;//否则减少}}ans++;dst=end+1;//更新起点为倍增后的下一个}printf("%lld\n",ans);}return0;}```
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 15:50:48

代码筑梦者:数字世界的隐秘建筑师

代码筑梦者&#xff1a;程序员的隐秘世界在数字时代的星河里&#xff0c;有这样一群人——他们的指尖在键盘上飞舞&#xff0c;用0和1编织着世界的另一重维度。程序员&#xff0c;这群现代社会的代码筑梦者&#xff0c;他们的工作早已超越了简单的“写代码”&#xff0c;而是成…

作者头像 李华
网站建设 2026/7/14 15:50:49

库存管理,把这4件事做好就够了

目录 第一件事&#xff1a;搞清楚你到底有什么 第二件事&#xff1a;想清楚什么时候买&#xff0c;买多少 第三件事&#xff1a;把东西放在该放的地方 第四件事&#xff1a;定期清理不动销的货 写在最后 之前和一些做企业的朋友聊天&#xff0c;很多人提到库存管理&#x…

作者头像 李华
网站建设 2026/7/14 15:50:51

PAT 乙级 1034

本题最关键就是要思路清晰的写函数&#xff0c;函数只是处理&#xff0c;分子和分母&#xff0c;把 分子/分母 写回正确的模式。还有要注意&#xff0c;所有的整数定义都要写 long long&#xff0c;scanf 要写 %lld&#xff0c;在最开始定义 a b 的时候也要这么写&#xff0c;因…

作者头像 李华
网站建设 2026/7/14 15:50:52

Dubbo 核心知识点速记

一、工程结构&#xff1a;为什么要拆三个模块整个项目拆成三个 Maven 子模块&#xff0c;由一个父 POM 聚合管理&#xff1a;dubbo-demo&#xff08;父工程&#xff0c;packagingpom&#xff09; ├── dubbo-api → 接口契约层 ├── dubbo-provider → 服务提供者…

作者头像 李华
网站建设 2026/7/14 15:51:03

C++毕业设计——基于 C+++TCP+Websocket的即时通信系统设计与实现(毕业论文+程序源码)——即时通信系统

基于 CTCPWebsocket的即时通信系统设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于 CTCPWebsocket的即时通信系统设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板…

作者头像 李华
网站建设 2026/7/14 15:50:53

C语言易错点整理

前言&#xff1a; 本文涵盖了博主在平常写C语言题目时经常犯的一些错误&#xff0c;在这里帮大家整理出来&#xff0c;一些易错点会帮大家标识出来&#xff0c;希望大家看完这篇文章后有所得&#xff0c;引以为戒~ 一、 题目&#xff1a; 解答&#xff1a; 首先在这个程序中…

作者头像 李华