当智加科技的无人驾驶车队首次进行横跨美洲的生鲜运输时,工程师阳阳注视着一桶桶的黄油陷入了沉思。他突发奇想,要这一切都是标准化包装物件,那么其尺寸不仅节约控件、提升干线物流运输效率,同时也让简化车辆的动力学、运动学建模,帮助自动驾驶算法更精准、灵敏地操控车辆(但愿如此)。 如果现有两种包装物品的包装运输箱,尺寸分别是长宽 1米×1米 和 1米×2米。 假定用这两种箱子排成一片 m列n行 (m米×n米) 的阵列,不限两种箱子的使用数量(注意:1米×2米 箱子不能旋转方向使用,即不能作为 2米×1米 的箱子跨列摆放在阵列中); 【本题编程】在此基础上,若我们限制箱子阵列必须存在交错排列,以确保货物在运输过程中稳定,则有多少种不同的排列方式? 注意:对于一个 m米×n米 的阵列,交错排列的定义是:不存在行方向上的某一个位置 k米处 (1<k<n) 可以沿着箱子之间的缝隙将阵列完全 分离成 m米×k米 和 m米×(n-k)米 两个阵列。-笔试面试资料

这是qklbishe.com第7865 篇笔试面试资料
提供答案分析,通过本文《当智加科技的无人驾驶车队首次进行横跨美洲的生鲜运输时,工程师阳阳注视着一桶桶的黄油陷入了沉思。他突发奇想,要这一切都是标准化包装物件,那么其尺寸不仅节约控件、提升干线物流运输效率,同时也让简化车辆的动力学、运动学建模,帮助自动驾驶算法更精准、灵敏地操控车辆(但愿如此)。
如果现有两种包装物品的包装运输箱,尺寸分别是长宽 1米×1米 和 1米×2米。 假定用这两种箱子排成一片 m列n行 (m米×n米) 的阵列,不限两种箱子的使用数量(注意:1米×2米 箱子不能旋转方向使用,即不能作为 2米×1米 的箱子跨列摆放在阵列中); 【本题编程】在此基础上,若我们限制箱子阵列必须存在交错排列,以确保货物在运输过程中稳定,则有多少种不同的排列方式?
注意:对于一个 m米×n米 的阵列,交错排列的定义是:不存在行方向上的某一个位置 k米处 (1<k<n) 可以沿着箱子之间的缝隙将阵列完全
分离成 m米×k米 和 m米×(n-k)米 两个阵列。-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

当智加科技的无人驾驶车队首次进行横跨美洲的生鲜运输时,工程师阳阳注视着一桶桶的黄油陷入了沉思。他突发奇想,要这一切都是标准化包装物件,那么其尺寸不仅节约控件、提升干线物流运输效率,同时也让简化车辆的动力学、运动学建模,帮助自动驾驶算法更精准、灵敏地操控车辆(但愿如此)。
如果现有两种包装物品的包装运输箱,尺寸分别是长宽 1米×1米 和 1米×2米。

  • 假定用这两种箱子排成一片 m列n行 (m米×n米) 的阵列,不限两种箱子的使用数量(注意:1米×2米 箱子不能旋转方向使用,即不能作为 2米×1米 的箱子跨列摆放在阵列中);

  • 【本题编程】在此基础上,若我们限制箱子阵列必须存在交错排列,以确保货物在运输过程中稳定,则有多少种不同的排列方式?
    注意:对于一个 m米×n米 的阵列,交错排列的定义是:不存在行方向上的某一个位置 k米处 (1<k<n) 可以沿着箱子之间的缝隙将阵列完全
    分离成 m米×k米 和 m米×(n-k)米 两个阵列。

当智加科技的无人驾驶车队首次进行横跨美洲的生鲜运输时,工程师阳阳注视着一桶桶的黄油陷入了沉思。他突发奇想,要这一切都是标准化包装物件,那么其尺寸不仅节约控件、提升干线物流运输效率,同时也让简化车辆的动力学、运动学建模,帮助自动驾驶算法更精准、灵敏地操控车辆(但愿如此)。   如果现有两种包装物品的包装运输箱,尺寸分别是长宽 1米×1米 和 1米×2米。           假定用这两种箱子排成一片 m列n行 (m米×n米) 的阵列,不限两种箱子的使用数量(注意:1米×2米 箱子不能旋转方向使用,即不能作为 2米×1米 的箱子跨列摆放在阵列中);              【本题编程】在此基础上,若我们限制箱子阵列必须存在交错排列,以确保货物在运输过程中稳定,则有多少种不同的排列方式?   注意:对于一个 m米×n米 的阵列,交错排列的定义是:不存在行方向上的某一个位置 k米处 (1&lt;k&lt;n) 可以沿着箱子之间的缝隙将阵列完全   分离成 m米×k米 和 m米×(n-k)米 两个阵列。 寒冰-侠客
此题目为高精,c++不提供高精….所以以下代码都无法完全通过。
我们知道只有一行箱子的排列方案是斐波那契数列f[n]。
f[0]=f[1]=1; for(i=2;i<=n;i++)     f[i]=f[i-1]+f[i-2];

如果是m行n列矩阵的时候方案数是dp[n]=f[n]^m
for(i=1;i<=n;i++) {   dp[i]=1;   for(j=1;j<=m;j++)     dp[i]*=f[i]; }

再加上不存在缝隙这个条件,可以用总方案数-存在缝隙方案数。

此处用dp2[n]表示这个方案数
那么存在缝隙的方案怎么算?例如n=5,那么缝隙会把整个n分割成多个部分
例如5=1+4,表示一个1*m的矩阵和4*m的矩阵,两矩阵中间有一个缝隙,并且这两个矩阵都不存在缝隙。
这样求缝隙就转换为一个dfs求n的所有和排列的方法。
#include <bits/stdc++.h>//ASI typedef long long ll; using namespace std; ll n,m,tt,f[105],dp[105],dp2[105],sum=0,a[15]; void dfs(int all,int t) {     int i;     if(all==tt)     {         ll s=1;         for(i=1;i<t;i++)             s*=dp2[a[i]];         sum+=s;     }     for(i=1;i<tt;i++)     {         if((all+i)>n)             return ;         a[t]=i;         dfs(all+i,t+1);     } } int main() {     int i,j;     cin>>m>>n;     f[0]=f[1]=1;     for(i=2;i<=n;i++)         f[i]=f[i-1]+f[i-2];     for(i=1;i<=n;i++)     {         dp[i]=1;         for(j=1;j<=m;j++)             dp[i]*=f[i];     }     dp2[1]=1;     for(i=2;i<=n;i++)     {         tt=i;         sum=0;         dfs(0,1);         dp2[i]=dp[i]-sum;     }     cout<<dp2[n];     return 0; } 

今天 16:03:04 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 当智加科技的无人驾驶车队首次进行横跨美洲的生鲜运输时,工程师阳阳注视着一桶桶的黄油陷入了沉思。他突发奇想,要这一切都是标准化包装物件,那么其尺寸不仅节约控件、提升干线物流运输效率,同时也让简化车辆的动力学、运动学建模,帮助自动驾驶算法更精准、灵敏地操控车辆(但愿如此)。 如果现有两种包装物品的包装运输箱,尺寸分别是长宽 1米×1米 和 1米×2米。 假定用这两种箱子排成一片 m列n行 (m米×n米) 的阵列,不限两种箱子的使用数量(注意:1米×2米 箱子不能旋转方向使用,即不能作为 2米×1米 的箱子跨列摆放在阵列中); 【本题编程】在此基础上,若我们限制箱子阵列必须存在交错排列,以确保货物在运输过程中稳定,则有多少种不同的排列方式? 注意:对于一个 m米×n米 的阵列,交错排列的定义是:不存在行方向上的某一个位置 k米处 (1<k<n) 可以沿着箱子之间的缝隙将阵列完全 分离成 m米×k米 和 m米×(n-k)米 两个阵列。-笔试面试资料

提供最优质的资源集合

立即查看 了解详情