ccf-CSP 202209
何以包邮?
题目描述
新学期伊始,适逢顿顿书城有购书满 x 元包邮的活动,小 P 同学欣然前往准备买些参考书。
一番浏览后,小 P 初步筛选出 n 本书加入购物车中,其中第 i 本(1≤i≤n)的价格为 ai 元。
考虑到预算有限,在最终付款前小 P 决定再从购物车中删去几本书(也可以不删),使得剩余图书的价格总和 m 在满足包邮条件(m≥x)的前提下最小。
试帮助小 P 计算,最终选购哪些书可以在凑够 x 元包邮的前提下花费最小?
输入格式
从标准输入读入数据。
输入的第一行包含空格分隔的两个正整数 n 和 x,分别表示购物车中图书数量和包邮条件。
接下来输入 n 行,其中第 i 行(1≤i≤n)仅包含一个正整数 ai,表示购物车中第 i 本书的价格。输入数据保证 n 本书的价格总和不小于 x。
输出格式
输出到标准输出。
仅输出一个正整数,表示在满足包邮条件下的最小花费。
样例1输入
4 100
20
90
60
60
Data
样例1输出
110
Data
样例1解释
购买前两本书(20+90)即可包邮且花费最小。
样例2输入
3 30
15
40
30
Data
样例2输出
30
Data
样例2解释
仅购买第三本书恰好可以满足包邮条件。
样例3输入
2 90
50
50
Data
样例3输出
100
Data
样例3解释
必须全部购买才能包邮。
子任务
70% 的测试数据满足:n≤15;
全部的测试数据满足:n≤30,每本书的价格 ai≤104 且 x≤a1+a2+⋯+an。
提示
对于 70% 的测试数据,直接枚举所有可能的情况即可。
题解:
0-1背包问题,使用动态规划一维滚动数组解决。
0-1背包:选择的物品总体积<=背包容量,求价值最大
dp[j]:背包容量为j时,可以装的物品最大价值
此题: 选择的书总价值>=邮费x,求价值最小
dp[j]:邮费限制为j时,可以选择的书的最多价值
dp代码:
#include <bits/stdc++.h>
#define M 10000000
using namespace std;
int main()
{int x,n,p[M],dp[M],sum=0;cin>>n>>x;for(int i=1;i<=n;i++){cin>>p[i];sum+=p[i];}for(int i=1;i<=n;i++){for(int j=sum;j>=p[i];j--){dp[j]=max(dp[j],dp[j-p[i]]+p[i]);}}for(int i=x;i<=sum;i++)if(dp[i]>=x) {cout<<i<<endl; break;}return 0;
}
ccf-CSP 202209相关推荐
- CCF CSP 202209
第一题 如此编码 #include<stdio.h> #include<string.h> #include<algorithm>int a[10000]; lon ...
- 第27次CCF CSP(202209) T3非常详细题解 防疫大数据(C++)
-->原题链接 思路: 大模拟最重要的是理清思路,针对该题的几块内容来说. 对于地区:用map来存,用pair表示某个地区是风险区的连续的开始和结束时间.维护起来 ...
- CCF CSP 201609-2 火车购票
题目链接:http://118.190.20.162/view.page?gpid=T46 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排 ...
- 计算机能力挑战赛_蓝桥杯、PAT、CCF CSP、团体程序设计天梯赛、传智杯、计算机能力挑战赛、软考等大学生编程比赛/考试介绍...
介绍7个适合普通大学生参加的编程比赛/考试(注:有的比赛如蓝桥杯有多种赛别,本文仅介绍其中的程序设计/编程比赛). 编程入门书籍推荐<算法笔记>,内容详细易懂,对新手非常友好,描述语言为C ...
- 以CCF CSP认证为抓手,积极探索软件基础能力递进式培养体系
原文链接:以CCF CSP认证为抓手,积极探索软件基础能力递进式培养体系 发布单位:学会 发布时间:2017-01-20 16:16 作者:陆建峰 余立功 摘要:为提升计算机专业类学生 ...
- ccf csp寻宝!大冒险!(C语言)
ccf csp寻宝!大冒险! 题目背景 暑假要到了.可惜由于种种原因,小 P 原本的出游计划取消.失望的小 P 只能留在西西艾弗岛上度过一个略显单调的假期--直到-- 某天,小 P 获得了一张神秘的藏 ...
- 【CCF CSP】【Python】【201903-1】小中大
[CCF CSP][Python][201903-1] 小中大 题目要求 代码实现 主要方法 提交验证 题目要求 代码实现 1.初始版(又名完全原创版.欠优化版.无法体现"人生苦短,我用PY ...
- 参加CCF CSP认证者须知
发布单位:中国计算机学会 发布时间:2014-11-11 15:06 凡有意参加CCF CSP认证者,请在cspro.org网站上注册.报名.缴费.打印准考证,参加认证后可以在网站查询 ...
- CCF CSP 行车路线 java 201712_4
CCF CSP 行车路线 java 201712_4 问题描述 小明和小芳出去乡村玩,小明负责开车,小芳来导航. 小芳将可能的道路分为大道和小道.大道比较好走,每走1公里小明会增加1的疲劳度.小道不好 ...
- CCF CSP认证考试在线评测系统
关于CCF CSP认证考试在线评测系统 CCF CSP认证考试简介 CCF是中国计算机学会的简称.CCF计算机软件能力认证(简称CCF CSP认证考试)是CCF于2014年推出,是CCF计算机职业资格 ...
最新文章
- 数据集获取加速神器来了!
- 制药行业验证过程中的偏差如何处理?
- 干货丨11位机器学习大牛最爱算法全解
- 树莓派4b控制机械手臂_Raspberry Pi
- UDP(首部)和TCP(首部、三次握手、四次挥手、可靠传输、滑动窗口、流量控制、拥塞控制(慢开始、拥塞避免、快重传、快恢复))
- appium判断元素是否存在_Python+selenium自动化之判定元素是否存在
- Git(12)-stash, reflog
- 【英语学习】【Level 07】U07 Stories of my Life L3 Campus memories
- python选股源代码_【一点资讯】Python实现行业轮动量化选股【附完整源码】 www.yidianzixun.com...
- VMware 虚拟机如何连接网络,且远程可连接
- php云人才伪静态,骑士cms(骑士人才系统)伪静态设置方法
- 【企业网络】我在51cto技术门诊的提问以及专家的解答汇总
- SSM(Spring+SpringMVC+Mybatis) 整合
- While(true)无限循环
- 产品调研,如何避免「浮于表面」?
- 【Cheatsheet】Java的常用代码(以及eclipse技巧)
- 【学习笔记】编译Linux内核(下)---KConfig、Makefile详解以及ARM平台Linux内核的编译
- 直播平台录播系统架构
- MAC OS 上好用的文本编辑器除了Sublime Text和BBEdit还有这些好用的推荐一下。
- Linux获取系统UUID