在线等大佬指点爱奇艺C++开发编程题思路

第一题是背包问题吗?第二题是回溯还是组合排列?正好碰到两道不擅长的题目gg,求指点。第一题是盒子问题,给定几个盒子的大小,大盒可以容量允许的尽量多的小盒子,问套完最少还剩几个盒子。第二题问选择任意多个不相邻的物体,备选项有N个,问有多少种选法。刚才看了一下讨论区,第二题据说是找规律斐波那契来解,求问AC的大佬们是怎么想到这个解题思路的。#爱奇艺#
全部评论
比如1 2 3 4 和1 2 3 4 5两种情况可以这样看如果不加5就是和1 2 3 4个数一样多,如果加5那么4就不能加,只能考虑前面三个数的情况,总的个数就是前三个和前四个情况总和,也就是斐波那契数列
点赞 回复 分享
发布于 2018-09-28 21:46
直接判断相等的数就好了。。
点赞 回复 分享
发布于 2018-09-29 07:10
盒子题: 运气AC #include <iostream> #include <map> using namespace std; int main( ) { int n, x; while(cin>>n ){ map<int, int> mp; for(int i=0; i< n; ++i) { cin>>x; mp[x]++; } int res=0,flag = true; while(1){ for(auto& a : mp){ if(a.second > 0) a.second--; } flag = true; for(auto& a : mp){ if(a.second != 0) flag = false; } ++res; if(flag) break; } cout<<res<<endl; } return 0; }
点赞 回复 分享
发布于 2018-09-28 22:18
其实就是求重复的数字个数的最大值
点赞 回复 分享
发布于 2018-09-28 22:18
我能说这个题思路对了,太简单么
点赞 回复 分享
发布于 2018-09-28 22:17
第一题是贪心。选相同大小的盒子中数量最多的。第二题用的dp dp方程刚好是斐波那契数列
点赞 回复 分享
发布于 2018-09-28 21:58
第二个问题不说了不能取连续的两个数嘛,就用迭代f()
点赞 回复 分享
发布于 2018-09-28 21:55
刚刚经过被人指教知道了
点赞 回复 分享
发布于 2018-09-28 21:42

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务