牛客网(选择困难症)+ 长沙理工大学第十二届ACM大赛 L 选择困难症 (DFS)
发布日期:2021-06-29 14:25:24
浏览次数:2
分类:技术文章
本文共 915 字,大约阅读时间需要 3 分钟。
题目大意
小L有严重的选择困难症。 早上起床后,需要花很长时间决定今天穿什么出门。 假设一共有k类物品需要搭配选择,每类物品的个数为Ai,每个物品有一个喜欢值Vj,代表小L对这件物品的喜欢程度。 小L想知道,有多少种方案,使得选出来的总喜欢值>M 需要注意,每类物品,至多选择1件,可以不选。
题解
dfs k层 当sum值大于 m 的时候直接加上后边所有的情况 跳出 因为存在每层都有一个不选择的情况 需要额外添加一个价值为 0 的点 最后我们需要回溯一下
对于我们选择的那一行,我们有两种选择,要么选要么不选,选的话要是sum值大于m 就走上面的 不选的话如果sum值也大于m 那么也是一种方案 所以我们每次在sum大于m时初始化当前方案数为1
方法当然是参考大佬的,但它们的这种思维我现在水平只能理解成这样,如果有更好的解释 请提出来交流
#include#define mst(a,b) memset(a,b,sizeof(a))using namespace std;typedef long long ll;const int maxn=1e2+10;ll a[maxn][maxn]={ 0};ll n,m,cnt,ans;int num[maxn];void dfs(int t,int sum){ if(t>n){ return; } if(sum>ans){ ll res=1; for(int i=t;i >n>>ans){ cnt=0; mst(a,0); for(int i=0;i >num[i]; for(int j=0;j >a[i][j]; } } dfs(0,0); cout< <
学如逆水行舟,不进则退
转载地址:https://chocolate.blog.csdn.net/article/details/100567874 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月04日 14时47分16秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
欢迎使用CSDN-markdown编辑器
2019-04-29
a标签中href调用js的几种方法
2019-04-29
jstl标签详解
2019-04-29
Eclipse中使用SVN的使用
2019-04-29
JSON.parse和eval的区别
2019-04-29
JQuery中$.ajax()方法参数详解
2019-04-29
正则表达式的数字实例
2019-04-29
OGNL表达式struts2标签“%,#,$”的区别
2019-04-29
struts2中<s:if>标签的使用
2019-04-29
js 刷新页面window.location.reload();
2019-04-29
【转】EasyUI 验证
2019-04-29
java开发时内存溢出问题
2019-04-29
【easyui】combobox 关于省市联动
2019-04-29
设置csdn皮肤方法,更改自己喜欢的老版皮肤
2019-04-29
Eclipse中无法查看JDK源码,解决方法
2019-04-29
Git操作常用口令
2019-04-29
IDEA去除掉虚线,波浪线,和下划线实线的方法
2019-04-29