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

B. Binary Cafe(二进制的妙用)

题目:Problem - B - Codeforces

 总结:

对于该题最简单的方法为使用二进制的数表示状态

例如:

对于一个数7的二进制:111 

它的每一位都可表示两种状态我们可以理解为取或者不取

对于7这个数字它可以表示一种状态即在三个位置都取,它们的和为7

对于7(二进制是111)从0(二进制是000)加一来的

每一个数都表示一种状态 过程如下

0(二进制是000)

1(二进制是001)

2(二进制是010)

3(二进制是011)

4(二进制是100)

5(二进制是101)

6(二进制是110)

7(二进制是111)

所以7在二进制中也有另一种理解:

在1 2 4 8 16 32.·······等二进制数组中

子数组之和为7的子数组个数为7+1(这里的加一是空数组的情况)

代码献上(二进制妙用):

#include<iostream>using namespace std;int main() 
{int t; cin >> t;while (t--) {int n;                                 //硬币数量int k;                                 //甜品数量cin >> n >> k;k = min(k, 30);                       //在这里作限制的原因是对于2的30次方远超硬币的数量ncout << min(n + 1, 1 << k) << endl;  //前者为花完金币的情况  后者为甜品有限金币花不完}return 0;
}
http://www.lryc.cn/news/104090.html

相关文章:

  • SpringBoot单元测试
  • 刷题 41-45
  • Centos时间同步
  • Linux 查看磁盘空间
  • 我的会议(我的审批,会议签字附源码)
  • Python 装饰器该如何理解?
  • IDEA 模块不加载依旧是灰色 没有变成小蓝色的方块
  • 可以写进简历的kafka优化-----吞吐量提升一倍的方法
  • JavaScript中,for in 和for of的区别
  • 计算机毕设 深度学习手势识别 - yolo python opencv cnn 机器视觉
  • vue3 axios接口封装
  • 誉天程序员-2301-3-day08
  • Python爬虫(1)一次性搞定Selenium(新版)8种find_element元素定位方式
  • 前端(十一)——Vue vs. React:两大前端框架的深度对比与分析
  • 三分钟白话RocketMQ系列—— 核心概念
  • 递归竖栏菜单简单思路
  • 组件化、跨平台…未来前端框架将如何演进?
  • vue 修改端口号
  • hive的metastore问题汇总
  • 【phaser微信抖音小游戏开发003】游戏状态state场景规划
  • 字符串性能优化
  • 从零开始理解Linux中断架构(23)中断运行临界区和占先调度
  • (3)Gymnasium--CartPole的测试基于DQN
  • 利用sklearn 实现线性回归、非线性回归
  • Java课题笔记~ MyBatis入门
  • Activity的自启动模式
  • 53数组的扩展
  • Rust调试【三】
  • uniApp 对接安卓平板刷卡器, 读取串口数据
  • Go new 与 make