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

Codeforces Round 1095 (Div. 2) 补题

C. Mental Monumental (Easy Version)

自己的思路:打表发现一个数的余数可以是 [ 0 , (x-1)/2 ] U {x},维护一个suf数组去二分答案,但是发现无法兼顾两种贡献方式,遂没写出来

两种贡献:
1.x

2.[0,(x-1)/2]

正解:在二分ck中维护一个suf以及st数组,将两种贡献方式分开,一个数如果x在0到mid,那么就留一个当x,剩下的充当第二种贡献,如果大于x,那么直接扔去当第二种一个都不需要给x自己留

留一个x本质是一种贪心:肯定越大的数越不好凑越稀有,那么x按第一种贡献肯定比第二种要优

上代码!:

#include<bits/stdc++.h> #define int long long #define fi first #define se second #define endl '\n' using namespace std; const int mod=1e9+7; typedef pair<int,int>pii; const int N=3e5; int dx[4]={1,-1,0,0}; int dy[4]={0,0,1,-1}; int num[N],inv[N];//阶乘以及阶乘的逆元 //ans=num[a]*inv[a-b]%mod*inv[b]%mod; int kmi(int a,int b){ int res=1; while(b){ if(b&1)res=res*a%mod; b>>=1; a=a*a%mod; } return res; } void init(){ num[0]=1,inv[0]=1; for(int i=1;i<=2e5;i++){//预处理出2e5内的阶乘以及其逆元 num[i]=num[i-1]*i%mod; inv[i]=kmi(num[i],mod-2); } } void solve(){ int n;cin>>n; vector<int>cnt(n+10),a(n+10); for(int i=1;i<=n;i++){ cin>>a[i]; } auto ck=[&](int mid)->bool{ vector<int>st(n+10),suf(n+10); for(int i=1;i<=n;i++){ if(a[i]<=mid&&!st[a[i]]) st[a[i]]=1; else suf[min(mid,max(0LL,(a[i]-1)/2))]++; } int need=0; for(int i=n-1;i>=0;i--) suf[i]+=suf[i+1]; for(int i=mid;i>=0;i--){ if(st[i]) continue; need++; if(need>suf[i]) return 0; } return 1; }; int l=0,r=n-1; int ans=0; while(l<=r){ int mid=l+r>>1; if(ck(mid)) l=mid+1,ans=mid; else r=mid-1; } cout<<ans+1; } signed main(){ ios_base::sync_with_stdio(false); cin.tie(0),cout.tie(0); int T=1;cin>>T; while(T--){ solve(); cout<<endl; } return 0; }
http://www.jsqmd.com/news/728045/

相关文章:

  • Laravel + AI不是插件堆砌!揭秘头部SaaS团队正在封测的3层AI抽象架构(含GitHub私仓链接)
  • 抖音批量下载器:免费开源工具助你一键保存心仪视频
  • 8X 杀入8 系豪华车,极氪爆款矩阵是怎样炼成的?
  • EMC 三要素:干扰源-耦合路径-敏感设备,所有问题的根源
  • 工业容器集群部署生死线:Docker 27必须禁用的5个默认参数,否则3个月内必发生产事故
  • 2026年|2026届毕业生必备:论文AI检测率过高?3大避坑指南+1个工具解决! - 降AI实验室
  • 别再手动调格式了!Origin 2023 主题和模板功能,让你的科研绘图效率翻倍
  • 河北刀片刺丝厂家实力排行:资质与交付能力对比 - 奔跑123
  • 新概念英语第二册55_Not a gold mine
  • Betaflight 2025.12:如何通过全新飞行控制算法提升穿越机稳定性
  • 揭秘Docker 27医疗合规认证“隐藏开关”:如何绕过传统QMS流程,用自动化策略通过ISO 13485:2025容器专项审核?
  • 临街房怎么封阳台?一份业主必看的隔音兼保温三河门窗推荐
  • SuperBizAgent 系统架构设计
  • 5分钟解决RTranslator模型下载难题:告别数小时等待的终极方案
  • 关于AI时代下的Agent工具应该如何测试----以SuperBizAgent项目为例
  • STM32CubeMX串口通信保姆级教程:从阻塞到DMA,三种模式一次搞定(附避坑指南)
  • 如何安全卸载ExplorerPatcher:3步解决Windows系统定制工具清理难题
  • Unity DOTS
  • 通过 curl 命令快速测试 taotoken 接口连通性与模型响应
  • 保姆级教程:用ADB给海信VIDDA电视(如LED55N3000U)卸载预装软件,彻底释放存储空间
  • 【hermes agent】配置model为百度千帆
  • 2026年3月国内靠谱的偏心螺杆阀供应商推荐分析,良好耐腐蚀性适应恶劣环境 - 品牌推荐师
  • 【独家逆向分析】Docker 27 runtime-security模块源码级解读(含eBPF LSM策略注入实战)
  • GmSSL项目:国密算法工具箱从入门到实战
  • 高效能技术人的时间管理:深度工作与Context Switching的平衡
  • 通过用量看板直观观测不同模型的Token消耗与成本分布
  • Unity Mod Manager完整教程:3分钟掌握Unity游戏模组管理终极方案
  • 应对大模型api服务波动的容灾与路由策略实践
  • 有效反馈:如何给予和接受代码评审中的批评?
  • 终极跨平台键鼠共享方案:Lan Mouse让你用一套键鼠控制多台电脑