洛谷 P1705 爱与愁过火
题目背景
(本道题目隐藏了两首歌名,找找看哪~~~)
《爱与愁的故事第一弹·heartache》第三章。
爱与愁大神说这是ta的伤心指数,只不过现在好很多了,翻译只是看你无聊让你动动脑筋罢了(shit~~~)。虽然月落乌啼嘴上骂着:“我去年买了个表……纽曼表……”,但是结果还是请爱与愁大神去Pizza Hut吃了一顿。
题目描述
到了Pizza Hut,爱与愁大神由于不爽,所以存心想坑月落乌啼的钱,ta点了m样菜,每样菜ai元。月落乌啼预计只用n元,于是他让爱与愁大神重新从这m样菜中选r样。爱与愁大神还是想坑钱,于是ta打电话给你,让你编一个程序告诉ta有几种方案可以从m样菜中点取r样菜但是还能超过月落乌啼的预计n元。
输入输出格式
输入格式:
第1行:三个数 m,r,n。
第2行:m个数,每道菜需要的钱ai,两个数之间有空格。
输出格式:
只有一个整数,表示方案总数。
输入输出样例
说明
100%数据:m<=30,r<=m,m<=ai<=90 n<=2700
时限:前两个点1秒,中间两个点3秒,最后一个点6秒。
思路:动规
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,m,T,sum;
int num[],vis[];
void dfs(int tot,int s,int pre){
if(tot==m){
if(s>T) sum++;
return ;
}
for(int i=pre+;i<=n;i++)
if(!vis[i]){
vis[i]=;
dfs(tot+,s+num[i],i);
vis[i]=;
}
}
int main(){
scanf("%d%d%d",&n,&m,&T);
for(int i=;i<=n;i++)
scanf("%d",&num[i]);
dfs(,,);
cout<<sum;
}
40分暴力
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,m,T;
int sum,ans;
int num[];
int f[][300];
int main(){
scanf("%d%d%d",&n,&m,&T);
for(int i=;i<=n;i++)
scanf("%d",&num[i]),sum+=num[i];
f[][]=;
for(int i=;i<=n;i++)
for(int j=m;j>=;j--)
for(int k=num[i];k<=sum;k++)
f[j][k]+=f[j-][k-num[i]];
for(int i=T+;i<=sum;i++) ans+=f[m][i];
cout<<ans;
}
洛谷 P1705 爱与愁过火的更多相关文章
- 洛谷——P1614 爱与愁的心痛
题目背景 (本道题目隐藏了两首歌名,找找看哪~~~) <爱与愁的故事第一弹·heartache>第一章 <我为歌狂>当中伍思凯神曲<舞月光>居然没赢给萨顶顶,爱与愁 ...
- 洛谷——P1617 爱与愁的一千个伤心的理由
P1617 爱与愁的一千个伤心的理由 题目背景 (本道题目隐藏了两首歌名,找找看哪~~~) <爱与愁的故事第一弹·heartache>第二章. 经历了心痛后,爱与愁大神不行了. 题目描述 ...
- 洛谷 P1617 爱与愁的一千个伤心的理由
P1617 爱与愁的一千个伤心的理由 题目背景 (本道题目隐藏了两首歌名,找找看哪~~~) <爱与愁的故事第一弹·heartache>第二章. 经历了心痛后,爱与愁大神不行了. 题目描述 ...
- P1705 爱与愁过火(背包)
本来是个搜索题,但是自觉的成了背包! 多重用正序,01用逆序. 抽象出来一下,一个物体的体积为ai, 每次装入背包需要bi(在题目中为菜数量)分钟(这个题目只是bi为 1 而已)问在r分钟内,装比n大 ...
- 【kruscal】【最小生成树】【离线】洛谷 P2266 爱的距离
建图:每个点向它四周的点连边权为两点点权的差的绝对值的边. 由于有多个需要“施法”的点,所以相当于对每个这样的点,询问与它的距离在T以内的最长边的最小值,即多次询问. 最长边最小之类的,肯定是最小生成 ...
- P1614 爱与愁的心痛
洛谷——P1614 爱与愁的心痛 题目背景 (本道题目隐藏了两首歌名,找找看哪~~~) <爱与愁的故事第一弹·heartache>第一章 <我为歌狂>当中伍思凯神曲<舞月 ...
- 【洛谷P1352】没有上司的舞会
[洛谷P1352]没有上司的舞会 x舷售 锚」翅θ 但是 拙臃 蓄ⅶ榔 暄条熨卫 翘ヴ馇 表现无愧于雪月工作室的核心管理 爸惚扎掬 颇瓶 芟缆肝 貌痉了 洵┭笫装 嗝◇裴腋 褓劂埭 ...
- 洛谷P2891 Dining P1402 酒店之王【类二分图匹配】题解+代码
洛谷P2891 Dining P1402 酒店之王[类二分图匹配]题解+代码 酒店之王 题目描述 XX酒店的老板想成为酒店之王,本着这种希望,第一步要将酒店变得人性化.由于很多来住店的旅客有自己喜好的 ...
- 【题解】洛谷P2607【ZJOI2008】骑士
洛谷P2607:https://www.luogu.org/problemnew/show/P2607 一道毒瘤的环基树问题 第一次做环基树的题目 刚看题目的时候觉得不就是跟没有上司的舞会一样嘛 然后 ...
随机推荐
- mysql-幻读及其例子
第一步建表并插入5条记录: 接下来我们看下大部分mysql所说的幻读现象: 事务1(开启事务查询发现没有记录6准备插入): 事务2(开启事务,发现没有记录6插入,并提交事务): 事务1:查询发现 ...
- c++命名规范与代码风格
http://blog.sina.com.cn/s/blog_a3a8d0b1010100uw.html http://www.cnblogs.com/len3d/archive/2008/02/01 ...
- CSS W3SCHOOLS
https://www.w3schools.com/csS/css3_buttons.asp
- 515Nod 1126 求递推序列的第n项【矩阵快速幂】
有一个序列是这样定义的:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7. 给出A,B和N,求f(n)的值. Input 输 ...
- CDH5.14操作指南
1.Cdh 5.14介绍 2.版本发布概要 3.安装要求 4.Cloudera Manager介绍 5.Cloudera 安装 6.Cloudera 管理 7.Cloudera Navigator C ...
- RSA不对称加密
package sinRsa; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io ...
- Raspberry Pi - 调整你的SD卡分割区的大小
在使用Win32DiskImager为一张空白的SD卡刷入新的Rasbian系统后,卡上的可用剩余空间并不大, 本人有一张8G的SD卡,但是刷入4.1的Rasbian后,用df -h查看,根目录下的空 ...
- Linux GPT分区表16进制实例分析
Linux GPT分区表16进制实例分析 GPT分区表随着win10的普及,已经在越来越多的新电脑上开始使用了.前段时间的新闻有看到说Intel会在后面的新平台中完全取消CSM支持,这也大概相当于后面 ...
- vi-vim和linux常用快捷键
移动光标 上 k 下 j 左 h 右 l 移动光标到当前行行尾首 ^ 移动光标到当前行行尾 $ 移动到文件的第一行 gg 移动到文件的最后一行 G 移动到第1 ...
- spring data jpa实体类映射配置
@Entity:用来标志实体类,知名这是一个和数据库表映射的实体类 @Id注解指明这个属性映射为数据库的主键 @GeneratedValue注解默认使用主键生成方式为自增,hibernate会自动生成 ...