当前位置: 首页 > news >正文

【最少刷题数——二分】

1.最少刷题数 - 蓝桥云课 (lanqiao.cn)

题目

代码

#include <bits/stdc++.h>
using namespace std;
const int N = 15e4+10;
int a[N];
int le[N], e[N]; //le表示less or equal e表示equal
int n;
bool check(int i, int x)
{return n - le[x] <= le[x] - (e[x] + (a[i] != x ? 1 : 0)); //若a[i] + mid = x,则e[x]要增加1
}
int main()
{cin >> n;for(int i = 1; i <= n; i++)cin >> a[i], e[a[i]]++;le[0] = e[0];for(int i = 1; i <= 1e5; i++){le[i] = e[i];le[i] += le[i-1];}for(int i = 1; i <= n; i++){int l = 0, r = 1e5;while(l < r){int mid = l + r >> 1;if(check(i, a[i] + mid)) r = mid;else l = mid+1;}cout << l << ' ';}
}


http://www.mrgr.cn/news/71926.html

相关文章:

  • 时间操作[计算时间差]免费API接口教程
  • cryptography与zlib系列:数据压缩与解压
  • Springboot集成ElasticSearch实现minio文件内容全文检索
  • 亚信安全与飞书达成深度合作
  • 机器学习系列----关联分析
  • Windows 10使用智能卡SmartCard返回scard_e_no_service错误
  • Java Review - 线程池原理源码解析
  • Ubuntu linux 命令总结
  • 如何理解DDoS安全防护在企业安全防护中的作用
  • 聊聊Flink:Flink的运行时架构
  • 几何合理的分片段感知的3D分子生成 FragGen - 评测
  • WebStorm 如何调试 Vue 项目
  • C++基础(12.红黑树实现)
  • [运维][Nginx]Nginx学习(2/5)-Nginx高级
  • 241112
  • 【Linux】————信号
  • java数据结构与算法:栈
  • 用户,组管理命令
  • 高情商的人都在用的处事细节和技巧
  • 人工智能助手是否让程序员技能退化?
  • Java多线程进阶(锁策略)
  • python 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作
  • 政务数据治理专栏开搞!
  • 时间空间频域融合的Corssformer时间序列预测项目
  • Fortran安装(vscode+gcc+Python)
  • Django Form