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

分糖果C++

题目:

 


样例解释:

 

样例1解释

拿 k=20 块糖放入篮子里。

篮子里现在糖果数 20≥n=7,因此所有小朋友获得一块糖;

篮子里现在糖果数变成 13≥n=7,因此所有小朋友获得一块糖;

篮子里现在糖果数变成 6<n=7,因此这 6 块糖是作为你搬糖果的奖励

容易发现,你获得的作为你搬糖果的奖励的糖果数量不可能超过 6 块(不然,篮子里的糖果数量最后仍然不少于 n,需要继续每个小朋友拿一块),因此答案是 6。

样例2解释

容易发现,当你拿的糖数量 k 满足 14=L≤k≤R=18 时,所有小朋友获得一块糖后,剩下的 k−10 块糖总是作为你搬糖果的奖励的糖果数量,因此拿 k=18 块是最优解,答案是 8。


思路:

70分思路:

暴力枚举 [l,r][l,r] 中的每一个整数并统计答案。

 

100分思路:

取余运算的两个简单性质:

(大概是小学知识吧)

  1. nn 对任何正整数取余的结果都在 [0,n−1][0,n−1]范围内

  2. 若 x mod n=yxmodn=y,则 (x+n) mod n=y(x+n)modn=y

因此我们能知道:

若 r−l+1≥nr−l+1≥n,则 [0,n−1][0,n−1] 中的每个正整数都能在 [l,r][l,r]中的正整数对 nn 取余的结果中找到,此时答案为 n−1n−1

若 r−l+1<nr−l+1<n,则再分类讨论:

若 l mod n≤r mod nlmodn≤rmodn,如下图

此时能取到的数的范围为上图的红色部分,这时答案为 r mod nrmodn

注意: 这里的分类是 l mod n≤r mod n l mod n≤r mod n,而非 l  mod  n<r  mod n l mod n<r mod n

若 l  mod  n>r  mod n lmod n>r mod n,如下图

此时能取到的数的范围为上图的红色部分,这时答案为 n−1


代码:

#include<iostream>
#include<cstdio>
using namespace std;int n,l,r;int main(){cin>>n>>l>>r;if(l/n==r/n) cout<<r%n;else cout<<n-1;return 0;
}

总结:

此题解题关键为分类讨论,必须贯彻不重不漏的原则,否则有可能出错 

 

 

http://www.lryc.cn/news/450209.html

相关文章:

  • Spring中如何为静态变量注入值
  • HTML5实现唐朝服饰网站模板源码
  • ESXI识别USB设备
  • 视频美颜SDK与直播美颜工具API是什么?计算机视觉技术详解
  • not exist 解决一对多 场景 条件过滤问题
  • 解决$‘r‘ command not found或者文件夹显示’tvsf 33‘$‘r‘
  • linux:详解nohup命令
  • 负载箱:充电桩测试利器
  • Ubuntu 开机自启动 .py / .sh 脚本,可通过脚本启动 roslaunch/roscore等
  • RabbitMQ 消息队列:生产者与消费者实现详解
  • vue3项目中组件切换不起作用
  • YOLOv11改进策略【损失函数篇】| Slide Loss,解决简单样本和困难样本之间的不平衡问题
  • 动静态库(Linux)
  • 51单片机和ARM单片机的区别
  • [Day 81] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • flac格式怎么转mp3?关于flac转为MP3的方法介绍
  • 【笔记】KaiOS 系统框架和应用结构(APP界面逻辑)
  • java项目实现钉钉异常告警实时监控
  • Spring Boot应用:电子商务平台开发
  • 怎么在Vue3项目中引入Vant组件库并使用?
  • springboot中有哪些方式可以解决跨域问题
  • Temporal Dynamic Quantization for Diffusion Models阅读
  • 828华为云征文|华为云Flexus X实例性能实测:速度与稳定性的完美结合
  • 【PyTorch】图像分割
  • 如何快速建立自己的异地互联的远程视频监控系统,通过web浏览器可以直接查看公网上的监控视频(上)
  • 实验2思科网院项目2.7.2-packet-tracer---configure-single-area-ospfv2---实践练习
  • Nginx实战经验分享:从小白到专家的成长历程!
  • 从画质设置看游戏引擎(其一)
  • #git 问题failed to resolve head as a valid ref
  • YOLOv11,地瓜RDK X5开发板,TROS端到端140FPS!