小陈现有2个任务A,B要完成,每个任务分别有若干步骤如下 一道网上没啥题解的难题(至少我是这么觉得的)

小陈现有2个任务A,B要完成,每个任务分别有若干步骤如下:A=a1->a2->a3,B=b1->b2->b3->b4->b5.在任何时
候,小陈只能专心做某个任务的一个步骤.但是如果愿意,他可以在做完手中任务的当前步骤后,切换至另一个任务,从上次此任务第一个未做的步骤继续.每个任务的步骤顺序不能打乱,例如……a2->b2->a3->b3……是合法的,而……a2->b3->a3->b2……是不合法的.小陈从B任务的b1步骤开始做,当恰做完某个任务的某个步骤后,就停工回家吃饭了.当他回来时,只记得自己已经完成了整个任务A,其他的都忘了.试计算小陈饭前已做的可能的任务步骤序列共有 种.

 

 

先选出了b1———a1———a2———a3

然后依次把b2,b2和b3,b2和b3和b4,...向里面插。并且满足bi的位置要<=bj (i<j)

 

那么我们先解决一个问题、有n个物体要放在m个位置上,并满足(pos[i]表示第i个物体放的位置)pos[1] <= pos[2]<=pos[3]<=pos[4] ....<=pos[n].

哈哈,那就简单了。就有了pos[1]<pos[2]+1<pos[3]+2.....<pos[n]+n-1;

那么答案就是在m+n-1个位置中选n个位置了;

就是C上面是n,下面是n+m-1;

haha;

 

那么小陈的题目就变成了(楼主比较懒,自己写去吧)。。。

posted @ 2017-10-12 11:10  cc123321  阅读(1891)  评论(0编辑  收藏  举报