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

CSPOJ:1561: 【提高】买木头

样例输入:

10 10000 8 20

样例输出:

201

代码:

#include <iostream>
#include <vector>
#include <algorithm>using namespace std;int main() {int n, m, l, s;cin >> n >> m >> l >> s;vector<pair<int, int>> v;v.push_back({l, s});for (int i = 1; i < n; ++i) {int a = v[i-1].first, b = v[i-1].second;int c = (a * 37011 + 10193) % 10000 + 1;int d = (b * 73011 + 24793) % 100 + 1;v.push_back({c, d});}int L = 1, R = 0;for (auto &p : v) R = max(R, p.first);int ans = 0;while (L <= R) {int M = (L + R) / 2;long long t = 0;for (auto &p : v) {t += (long long)(p.first / M) * p.second;if (t >= m) break;}if (t >= m) {ans = M;L = M + 1;} else {R = M - 1;}}cout << ans << endl;return 0;
}

流程图:

┌───开始───┐│
┌─────▼─────┐
│ 输入n,m,l,s │
└─────┬─────┘│
┌─────▼─────┐
│ v初始化:加(l,s) │
└─────┬─────┘│
┌─────▼─────┐
│ 循环生成v剩余元素 │
│(i=1到n-1) │
└─────┬─────┘│
┌─────▼─────┐
│ 设L=1,R=v中最大first值 │
└─────┬─────┘│
┌─────▼─────┐       ┌───────────┐
│ L <= R?   ├─是────┤ M=(L+R)/2 │
└─────┬─────┘       └─────┬─────┘│                   ││           ┌───────▼───────┐│           │ 计算t=Σ(p.first/M * p.second) ││           └───────┬───────┘│                   ││           ┌───────┴───────┐│           │ t >= m?       ││           └───┬─────┬─────┘│               │     │
┌─────┴─────┐   ┌─────▼─────┐   ┌─────▼─────┐
│ 结束循环  │   │ ans=M     │   │ R=M-1     │
│ 输出ans   │   │ L=M+1     │   │           │
└───────────┘   └───────────┘   └───────────┘

制作不易点个赞吧

谢谢!

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

相关文章:

  • 请求报文和响应报文(详细讲解)
  • nomachine的安装和使用
  • 零基础学习jQuery第三天
  • 用 Python 绘制企业年度财务可视化报告 —— 从 Excel 到 9 种图表全覆盖
  • DDIA第五章:分布式数据复制中的一致性与冲突处理
  • 第5节 大模型分布式推理通信优化与硬件协同
  • 在Debian上安装MySQL
  • Excel 实战:基因表达矩阵前处理中测序符号的快速剥离方法
  • golang 基础案例_02
  • 设计模式笔记_结构型_享元模式
  • 深入解析Prompt缓存机制:原理、优化与最佳实践
  • Agent在供应链管理中的应用:库存优化与需求预测
  • Python FastAPI + React + Nginx 阿里云WINDOWS ECS部署实战:从标准流程到踩坑解决全记录
  • typecho博客设置浏览器标签页图标icon
  • 【工控】线扫相机小结 第六篇
  • uncalled4
  • 麒麟系统使用-PATH设置
  • 【接口自动化】-7- 热加载和日志封装
  • 实战:用 PyTorch 复现一个 3 层全连接网络,训练 MNIST,达到 95%+ 准确率
  • 软件测试关于搜索方面的测试用例
  • DeepCompare文件深度对比软件:权限管理与安全功能全面解析
  • Android Audio实战——获取活跃音频类型(十五)
  • 安全合规4--下一代防火墙组网
  • 企业内外网物理隔离时文件怎么传输更安全
  • ChatML vs Harmony:深度解析OpenAI全新对话结构格式的变化
  • Linux 流编辑器 sed 详解
  • C#使用EPPlus读写Excel
  • Elasticsearch Node.js 客户端的安装
  • 【Node.js从 0 到 1:入门实战与项目驱动】1.3 Node.js 的应用场景(附案例与代码实现)
  • Flutter Dialog、BottomSheet