2020年信奥赛C++提高组csp-s初赛真题及答案解析(完善程序第1题)
2020年信奥赛C提高组csp-s初赛真题及答案解析完善程序第1题第1题分数背包小 S 有 n 块蛋糕编号从 1 到 n。第 i块蛋糕的价值是w i w_iwi​体积是v i v_ivi​。他有一个大小为 B的盒子来装这些蛋糕也就是说装入盒子的蛋糕的体积总和不能超过 。他打算选择一些蛋糕装入盒子他希望盒子里装的蛋糕的价值之和尽量大。为了使盒子里的蛋糕价值之和更大他可以任意切割蛋糕。具体来说他可以选择一个 a(0a1)并将一块价值是 w体积为 v的蛋糕切割成两块其中一块的价值是 a×w体积是 a×v另一块的价值是(1−a)×w体积是 (1−a)×v。他可以重复无限次切割操作。现要求编程输出最大可能的价值以分数的形式输出。比如 n3,B8三块蛋糕的价值分别是 4,4,2体积分别是 5,3,2。那么最优的方案就是将体积为 5的蛋糕切成两份一份体积是 3价值是 2.4另一份体积是 2价值是 1.6然后把体积是 3 的那部分和后两块蛋糕打包进盒子。最优的价值之和是 8.4故程序输出42 5 \frac{42}{5}542​。输入的数据范围为1≤n≤10001≤B≤1051≤w i , v i w_i,v_iwi​,vi​≤100。提示将所有的蛋糕按照性价比w i v i \frac{w_i}{v_i}vi​wi​​可从大到小排序后进行贪心选择。试补全程序。#includecstdiousingnamespacestd;constintmaxn1005;intn,B,w[maxn],v[maxn];intgcd(intu,intv){if(v0)returnu;returngcd(v,u%v);}voidprint(intw,intv){intdgcd(w,v);ww/d;vv/d;if(v1)printf(%d\n,w);elseprintf(%d/%d\nw,v);}voidswap(intx,inty){inttx;xy;yt;}intmain(){scanf(%d %dn,B);for(inti1;in;i){scanf(%d %d,w[i],v[i]);}for(inti1;in;i)for(intj1;jn;j)if(①){swap(w[j],w[j1]);swap(v[j],v[j1]);}intcurV,curW;if(②){③}else{print(B*w[1],v[1]);return0;}for(inti2;in;i)if(curVv[i]B){curVv[i];curWw[i];}else{print(④);return0;}print(⑤);return0;}①处应填 A.w[j] / v[j] w[j1] / v[j1]B.w[j] / v[j] w[j 1] / v[j1]C.v[j] * w[j1] v[j1] * w[j]D.w[j] * v[j1] w[j1] * v[j]②处应填 A.w[1] BB.v[1] BC.w[1] BD.v[1] B③处应填 A.print(v[1],w[1]); return 0;B.curV 0; curW 0;C.print(w[1], v[1]); return 0;D.curV v[1]; curW w[1];④处应填 A.curW * v[i] curV * w[i], v[i]B.(curW - w[i]) * v[i] (B - curV) * w[i], v[i]C.curW v[i], w[i]D.curW * v[i] (B - curV) * w[i], v[i]⑤处应填 A.curW,curVB.curW, 1C.curV, curWD.curV, 1答案及题解①处应填 D因为需要按性价比从大到小排序比较时用交叉乘法避免浮点误差。②处应填 B判断第一个蛋糕的体积是否不超过背包容量若是则先完整取走。③处应填 D初始化当前已取体积和价值为第一个蛋糕的完整值。④处应填 D计算取部分蛋糕时的总价值分子分母为当前蛋糕的体积。⑤处应填 B所有蛋糕完整取完后输出总价值分母为1。专栏推荐信奥赛C提高组csp-s初赛复赛真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13125089.html各种学习资料助力大家一站式学习和提升#includebits/stdc.husingnamespacestd;intmain(){cout########## 一站式掌握信奥赛知识! ##########;cout############# 冲刺信奥赛拿奖! #############;cout###### 课程购买后永久学习不受限制! ######;return0;}1、csp信奥赛高频考点知识详解及案例实践CSP信奥赛C动态规划https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转CSP信奥赛C标准模板库STLhttps://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转信奥赛C提高组csp-s知识详解及案例实践https://blog.csdn.net/weixin_66461496/category_13113932.html2、csp信奥赛冲刺一等奖有效刷题题解CSP信奥赛C初赛及复赛高频考点真题解析持续更新https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转CSP信奥赛C一等奖通关刷题题单及题解持续更新https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转信奥赛C提高组csp-s初赛复赛真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13125089.html3、GESP C考级真题题解GESP(C 一级二级三级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转GESP(C 四级五级六级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转GESP(C 七级八级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13117178.html4、CSP信奥赛C竞赛拿奖视频课https://edu.csdn.net/course/detail/40437 点击跳转· 文末祝福 ·#includebits/stdc.husingnamespacestd;intmain(){cout跟着王老师一起学习信奥赛C;cout 成就更好的自己 ;cout csp信奥赛一等奖属于你! ;return0;}

相关新闻

LeagueAkari战绩查询:告别繁琐操作,让数据分析更高效

LeagueAkari战绩查询:告别繁琐操作,让数据分析更高效

LeagueAkari战绩查询:告别繁琐操作,让数据分析更高效 【免费下载链接】LeagueAkari ✨兴趣使然的,功能全面的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/LeagueAkari …

2026/7/3 5:20:48 阅读更多 →
如何解决Unity插件加载难题:BepInEx框架全场景配置指南

如何解决Unity插件加载难题:BepInEx框架全场景配置指南

如何解决Unity插件加载难题:BepInEx框架全场景配置指南 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx 在Unity游戏开发中,插件加载失败、运行时不兼容和跨…

2026/7/4 14:39:11 阅读更多 →
Requirements Analysis

Requirements Analysis

Requirements Analysis 需求分析 甲乙丙 ABC

2026/7/4 16:37:14 阅读更多 →

最新新闻

抖店AI标题优化怎么用标题违规和低质标题怎么改

抖店AI标题优化怎么用标题违规和低质标题怎么改

抖店AI标题优化怎么用?标题违规和低质标题怎么改 抖店商品标题写不好,会影响审核、搜索理解和买家点击。很多商家从 1688 搬标题时,原标题里带批发词、品牌词、极限词、无关热词,直接上架容易违规,也不一定适合抖店买家…

2026/7/5 4:29:15 阅读更多 →
如何3分钟完成通达信缠论插件部署:终极自动化分析指南

如何3分钟完成通达信缠论插件部署:终极自动化分析指南

如何3分钟完成通达信缠论插件部署:终极自动化分析指南 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 还在为复杂的缠论分析而烦恼吗?面对繁琐的笔段划分和中枢识别,传…

2026/7/5 4:27:15 阅读更多 →
接口自动化测试项目框架详解

接口自动化测试项目框架详解

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 在选择接口测试自动化框架时,需要根据团队的技术栈和项目需求来综合考虑。对于测试团队来说,使用Python相关的测试框架更为便捷。无论选…

2026/7/5 4:25:15 阅读更多 →
单片机IWIP 原子云实验

单片机IWIP 原子云实验

单片机 :STM32F407 开发板:DMF407电机开发板 平台:keil V5.31HSE 为8MHZ HSI为16MHZ主函数int main(void) {HAL_Init(); /* 初始化HAL库 */sys_stm32_clock_init(336, 8, 2, 7); /* 设置时钟,168Mhz */delay_init…

2026/7/5 4:25:15 阅读更多 →
Nano Banana部署Gemini 2.5 Flash:ARM+NPU边缘多模态推理实战指南

Nano Banana部署Gemini 2.5 Flash:ARM+NPU边缘多模态推理实战指南

1. 项目概述:这不是一个“升级包”,而是一套可落地的嵌入式AI推理工作流 你手头有一块 Nano Banana 开发板——它不是树莓派,也不是 Jetson Nano,而是基于全志 H616 芯片、带双千兆网口、4GB LPDDR4、支持 PCIe 2.0 x1 的国产小钢…

2026/7/5 4:23:15 阅读更多 →
3分钟掌握Crontab UI:告别命令行恐惧的Linux定时任务可视化管理神器

3分钟掌握Crontab UI:告别命令行恐惧的Linux定时任务可视化管理神器

3分钟掌握Crontab UI:告别命令行恐惧的Linux定时任务可视化管理神器 【免费下载链接】crontab-ui Easy and safe way to manage your crontab file 项目地址: https://gitcode.com/gh_mirrors/cr/crontab-ui 还在为复杂的crontab语法而烦恼吗?Cro…

2026/7/5 4:19:14 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻