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

牛客周赛 Round 99 EF

目录

E-小宇_牛客周赛 Round 99

F-汉堡猪猪分糖果_牛客周赛 Round 99



 

思路:我们先预处理找出一定需要改变的x有多少个(即出现次数大于等于2的x,或者a[i]<i),然后从后往前遍历,如果当前这个数不能小于前一个数且不在预处理的x中,则将其加入到x中,最后输出x的种类就行了。

Code:

void solve()
{int n;cin>>n;map<int,int> mp;set<int> s;vector<int> v(n+1);for(int i=1;i<=n;i++){cin>>v[i];mp[v[i]]++;if(v[i]<i) s.insert(v[i]);if(mp[v[i]]>=2) s.insert(v[i]); }int mn=1e18;for(int i=n;i>=1;i--){if(s.find(v[i])!=s.end())mn=i;else{if(v[i]<mn)mn=v[i];else{mn=i;s.insert(v[i]);}}}cout<<s.size()<<endl;
}

F-汉堡猪猪分糖果_牛客周赛 Round 99

 

思路:要使每个小朋友的按位与最大,我们可以从高位向低位贪心,如果(1<<i)*m<=n则说明第i个二进制位在m个小朋友上都为1,反之,第i个二进制位在m个小朋友上并不都为1,我们需要计算出最多有多少个1在第i位上,如果((1<<i)-1)*m<n,那么多出的糖果n-((1<<i)-1)*m(向上取整)就要位于第i位。

Code:

void solve()
{int n,m;cin>>n>>m;int ans=0;for(int i=30;i>=0;i--){int x=(1ll<<i);if(m*x<=n){n-=m*x;ans|=x;}else{int t=x-1;if(t*m<n){int k=(n-t*m-1)/x+1;n-=k*x;}}}cout<<ans<<endl;
}

http://www.dtcms.com/a/268847.html

相关文章:

  • 【PTA数据结构 | C语言版】求两个正整数的最大公约数
  • Camera相机人脸识别系列专题分析之十六:人脸特征检测FFD算法之libcvface_api.so数据结构详细注释解析
  • 芯谷科技--高性能双通道音频功率放大器D7050
  • LabVIEW与FPGA超声探伤
  • 单细胞数据格式转换:rds 与 h5ad互转
  • 倒排索引(Inverted Index)深度解析
  • uniapp跳转页面时如何带对象参数
  • 后端微服务基础架构Spring Cloud
  • UI前端与数字孪生融合新领域:智慧旅游的可视化导览系统
  • kong网关基于header分流灰度发布
  • Linux手动安装MySQL(基于CentOS 7 X86)
  • HCI接口协议:主机与控制器通信的标准桥梁(面试深度解析)
  • Ubunt20.04搭建GitLab服务器,并借助cpolar实现公网访问
  • Taro+Vue3实现微信小程序富文本编辑器组件开发指南
  • RoboRefer:面向机器人视觉-语言模型推理的空间参考
  • 数学建模从入门到国奖——备赛规划优秀论文学习方法
  • 在 Windows 系统上配置 [go-zero](https://go-zero.dev) 开发环境教程
  • React-React.memo-props比较机制
  • 基于YOLOv11的车辆检测系统项目教程(Python源码+Flask Web界面+数据集)
  • AI智能体长期记忆系统架构设计与落地实践:从理论到生产部署
  • [论文阅读] 人工智能 | 读懂Meta-Fair:让LLM摆脱偏见的自动化测试新方法
  • Mac 电脑无法读取硬盘的解决方案
  • Redisson详细教程 - 从入门到精通
  • zookeeper介绍
  • PostgreSQL性能优化实践指南:从原理到实战
  • 大语言模型(LLM)课程学习(Curriculum Learning)、数据课程(data curriculum)指南:从原理到实践
  • 知识竞赛答题pk小程序用户操作手册
  • Linux内核ext4 extent:解决大文件存储难题的关键
  • MybatisPlus(一)扩展功能
  • MS51224 一款 16 位、3MSPS、双通道、同步采样模数转换器(ADC)