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

CF1267J Just Arrange the Icons

题目大意
多测。
给你个应用程序,每一个应用程序都有一个类别,类别可以相同。

你可以自己定义的数量,分别表示屏幕的数量和每个屏幕的容量,你需要把每个应用都放到屏幕上,要求每个屏幕只能放一种程序并且数量要么等于,要么等于
## 贪心思路
定义数组表示应用类型为的数量。首先注意到最大只能是,不然就算把最大的单独放到屏幕里也无法满足要求,基于次我们发现了一个时间复杂度是的算法。

先枚举,在枚举所有的,检测一下能否满足要求,即所有的能否通过屏幕容量为这一条件成立。
证明
我们发现交上去过了,这是为什么呢,我们来证明一下。首先这个代码的时间复杂度是的,其中是不同的的种类数,那最坏情况就是所有都相等,这样可以使前半部分最大,也就是,也就是的了。
代码

#include<bits/stdc++.h> using namespace std; #define int long long const int N=2e6+5; int T,n,a[N],b[N]; struct node{ int x,id; }; node c[N]; bool flag[N]; bool f(int n,int s){ if(s==1) return true; int mi=(n+s-1)/s; int mx=n/(s-1); return mi<=mx; } int ff(int n,int s){ if(s==1) return n; return (n+s-1)/s; // 最少屏幕数就是ceil(n/s) } signed main(){ scanf("%lld",&T); while(T--){ int t=0; int mi=LLONG_MAX; scanf("%lld",&n); for(int i=1;i<=n;i++){ scanf("%lld",&a[i]); if(flag[a[i]]==0){ flag[a[i]]=1; c[++t].id=a[i]; b[a[i]]=t; c[t].x=1; }else{ c[b[a[i]]].x++; } } for(int j=1;j<=t;j++){ mi=min(mi,c[j].x); } int res=LLONG_MAX; for(int s=1;s<=mi+1;s++){ int ans=0; bool flag2=true; for(int j=1;j<=t;j++){ if(f(c[j].x,s)==true){ ans+=ff(c[j].x,s); }else{ flag2=false; break; } } if(flag2==true) res=min(res,ans); } printf("%lld\n",res); for(int j=1;j<=t;j++){ flag[c[j].id]=0; b[c[j].id]=0; c[j]={0,0}; } } return 0; }
http://www.jsqmd.com/news/580582/

相关文章:

  • Claude-Code藏了个电子宠物系统-5分钟教你养一只传奇闪光龙
  • nRF5 SDK 添加自定义服务(LBS)后,nRF Connect 中无法自动显示服务,需要手动 Refresh services才能看到
  • MySQL实现双机热备
  • Android Studio中文语言包深度适配指南:从问题诊断到生态构建
  • 回收盒马鲜生卡的最佳时机和技巧:省时省力全过程揭秘 - 团团收购物卡回收
  • 运行FAST_LIO
  • “隐形”的可靠性:沃虎波峰焊工艺指导如何确保连接器在量产中的万无一失
  • Qwen-Image-2512-SDNQ开源大模型:SVR低秩微调技术落地解析
  • JDK中intBitsToFloat的具体实现
  • 天硕TOPSSD解读商业航天爆发下:星载存储如何支撑中国星网与千帆计划
  • 数据立方体的核心用法
  • OpenClaw开发助手:千问3.5-9B辅助代码调试与日志分析
  • openclaw实战:基于快马平台生成工业自动化分拣系统模拟应用
  • 2026年市场有实力的铝型材围栏生产厂家联系方式,工业铝型材/铝型材连接件/流水线铝型材,铝型材围栏直销厂家哪个好 - 品牌推荐师
  • 首发定档!2026中国航空维修制造及航材供应链展览会将于10 月在上海举办!
  • Windows下OpenClaw安装避坑:千问3.5-9B接口配置详解
  • Apache Doris与Apache Kylin聚合结果高效存储原理
  • 终极指南:三分钟上手Logisim-evolution数字电路设计与仿真
  • VibeCoding的原理
  • 万象视界灵坛快速部署:GitHub Actions自动构建+阿里云ACR镜像同步流程
  • B站视频转文字终极方案:智能语音识别工具如何让你效率提升300%
  • 5大维度解析:M3U8视频下载工具的技术突破与实战应用
  • MelonLoader Cpp2IL下载故障深度诊断与解决方案
  • Pixel Epic实战案例:用像素终端为乡村振兴项目生成可落地的实施建议报告
  • Hunyuan-MT-7B多场景实践:像素语言传送门在独立游戏开发、字幕生成、文档本地化中的三重应用
  • Zotero GPT插件:3步打造智能文献处理系统,效率提升300%的学术研究解决方案
  • 2026执业药师备考:深度拆解6款APP的押题逻辑! - 孤篇横绝
  • 2026 年十大网站建设公司哪家好?口碑网站建设公司推荐
  • 运维成功转行网安:2026行情解析+专属学习路径+核心优势盘点
  • PyTorch 2.8镜像实际作品:使用FlashAttention-2加速的13B模型推理日志