提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、题目
  • 二、思路
  • 总结

前言

dfs类型训练


一、题目

链接:https://ac.nowcoder.com/acm/problem/13594
来源:牛客网

小L有严重的选择困难症。 早上起床后,需要花很长时间决定今天穿什么出门。
假设一共有k类物品需要搭配选择,每类物品的个数为Ai,每个物品有一个喜欢值Vj,代表小L对这件物品的喜欢程度。
小L想知道,有多少种方案,使得选出来的总喜欢值>M 需要注意,每类物品,至多选择1件,可以不选。

二、思路

此题其实不难,主要是你要明白他所讲话转化成代码.
1.==至多选择1件,可以不选。==这句很关键----对应的就是你可以选择多类也可以选择一类,那么你在创建数组时候要留一个位置给0
2.当你选择前面的类别物品时候,突然就大于了m,那么后面就不用一一考虑,可以物品个数相乘来处理后面.
3.创建dfs函数有固定的的三个步骤:

  1. 停止条件—就是当step运行完的时候
  2. 满足条件进行操作------就是第二点
  3. 往后递归方式----step+1 , 和增加

代码如下(示例):

#include<iostream>
using namespace std;
int a[1000][1000];//物品矩阵
int size[10];//类别个数
long long ans;
int k,m;
typedef long long ll;
void dfs(int step,int sum)
{if(sum>m)//满足条件进行操作------就是第二点{ll res=1;for(int i=step;i<k;i++){res*=(size[i]+1);}ans+=res;return ;}if(step==k)return ;//停止条件for(int i=0;i<=size[step];i++){dfs(step+1,sum+a[step][i]);//往后递归方式----step+1   , 和增加}
}
int main()
{while(cin>>k>>m){ans=0;for(int i=0;i<k;i++){cin>>size[i];for(int j=1;j<=size[i];j++)cin>>a[i][j];//输入}dfs(0,0); cout<<ans<<endl;} return 0;}

总结

提示:注意一下数据类型,当遇到乘时候尽量用long long,否则交oj时候回WR.但是你的思路却没有问题这样的事情出现

大家好,我是大一小菜鸡,又菜瘾还大!!!

选择困难症--dfs相关推荐

  1. 2017西安交大ACM小学期 选择困难症[折半枚举+二分查找]

    选择困难症 发布时间: 2017年7月4日 12:44   最后更新: 2017年7月4日 12:45   时间限制: 5000ms   内存限制: 128M 描述 GG有严重的选择困难症. 早上起床 ...

  2. NC13594-选择困难症(dfs)

    题号:NC13594 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 131072K,其他语言262144K 64bit IO Format: %lld 题目描述 小L有严重的选择困难 ...

  3. 选择困难症__牛客网

    小L有严重的选择困难症. 早上起床后,需要花很长时间决定今天穿什么出门. 假设一共有k类物品需要搭配选择,每类物品的个数为Ai,每个物品有一个喜欢值Vj,代表小L对这件物品的喜欢程度. 小L想知道,有 ...

  4. 选择困难症[NC13594]折半搜索+二分

    选择困难症[NC13594]折半搜索+二分 题目描述 小L有严重的选择困难症. 早上起床后,需要花很长时间决定今天穿什么出门. 假设一共有k类物品需要搭配选择,每类物品的个数为Ai,每个物品有一个喜欢 ...

  5. 我整理了HMOV四大5G旗舰的参数,可依然没能拯救我的选择困难症

    伊瓢 茕茕 发自 凹非寺 量子位 报道 | 公众号 QbitAI 报道了那么多发布会,依然无法选出要换的第一部5G手机. 这不,随着华为P40系列发布,目前国产四大金刚HMOV,都推出了年度5G旗舰. ...

  6. 解决选择困难症,有哪些常用的营销手段?

    文丨公关之家 作者:不承权舆 生活中总是面临各种各样大大小小的选择,不管是重大抉择还是一些无关紧要的事情,大多数人会陷入"选哪一个"的困境,由于存在这种普遍的共鸣个或是为了调侃这一 ...

  7. 专治选择困难症——bandit算法

    选择是一个技术活 著名鸡汤学家沃.滋基硕德曾说过:选择比努力重要. 我们会遇到很多选择的场景.上哪个大学,学什么专业,去哪家公司,中午吃什么,等等.这些事情,都让选择困难症的我们头很大.那么,有办法能 ...

  8. 长沙理工大学第十二届ACM大赛-重现赛 L - 选择困难症

    题目描述 小L有严重的选择困难症. 早上起床后,需要花很长时间决定今天穿什么出门. 假设一共有k类物品需要搭配选择,每类物品的个数为Ai,每个物品有一个喜欢值Vj,代表小L对这件物品的喜欢程度. 小L ...

  9. Js实现轮盘抽奖功能,一招帮你解决选择困难症

    不知道今天自己该吃什么,一招帮你解决选择困难症. 通过html+css+js实现一个轮盘抽奖功能.我们可以将平时吃的饭菜输入到代码中,每到纠结的时候只需点开抽一次就可以了. 实现步骤 html代码: ...

最新文章

  1. 熔断的意义和适用场景,你真的清楚吗?
  2. CSS 巧用 :before和:after
  3. 二十、Pyecharts数据可视化
  4. malloc和free实现的原理
  5. 牛客 -- leetcode -- max-points-on-a-line
  6. 技术分享 | 基于EOS的Dapp开发
  7. 在myql sqlserver 快速找到带有关键字的表
  8. Linux下安装与使用本地的perl模块
  9. IOS:static和extern的使用
  10. 浅谈Cglib、Jdk以及ProxyFactory实现动态代理上的区别
  11. 网络技术与技术革命周末随想
  12. MBTI职业倾向测验
  13. 部署无鱼工时系统,超详细教程,并成功部署
  14. CAS5.3自定义密码(LADP)认证(三)
  15. 双摄像头测距的OpenCV实现
  16. 几何画板绘制三棱锥的教程
  17. Java网络编程:TCP,UDP,sock编程
  18. Could not compile initialization script ‘C:\Users\***\AppData\Local\Temp\wrapper_init1.gradle‘.
  19. 页面性能优化,如何减少回流
  20. VASP INCAR 笔记

热门文章

  1. linux进程(一)——什么是进程?
  2. 论文分享 MetaBalance: High-Performance Neural Networks for Class-Imbalanced Data
  3. 中石油测井板块市场现状分析
  4. 干货收藏|百万UP主都在用的创作小帮手
  5. android设置wifi区域码,Android P - WiFi 国家码设置流程
  6. Pytorch搭建CNN进行图像分类
  7. 前端架构设计第一课 CI环境npm/Yarn
  8. PostgreSQL 和 MySQL 之间的性能差异
  9. 一文教你把 Hexo 博客搭建在云端
  10. WPS中编辑Word删除内容之后保存退出了如何恢复?