HDU - 2842】的更多相关文章

职务地址:HDU 2842 这个游戏是一个九连环的游戏. 如果当前要卸下前n个环.由于要满足前n-2个都卸下,所以要先把前n-2个卸下.须要f(n-2)次.然后把第n个卸下须要1次,然后这时候要卸下第n-1个.然后此时前n-2个都已经被卸下了.这时候把前n-2个都卸下与都装上所需的次数是一样的.由于卸下与装上的规则是一样的. 所以又须要f(n-2)次.这时候前n-1个都在上面,卸下前n-1个须要f(n-1)次. 所以.总共须要2*f(n-2)+f(n-1)+1次. 然后构造例如以下矩阵. 1,2…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2842 题目大意:棒子上套环.第i个环能拿下的条件是:第i-1个环在棒子上,前i-2个环不在棒子上.每个环可以取下或放上,cost=1.求最小cost.MOD 200907. 解题思路: 递推公式 题目意思非常无聊,感觉是YY的. 设$dp[i]$为取第i个环时的总cost. $dp[1]=1$,$dp[2]=2$,前两个环取下是没有条件要求的. 从i=3开始,由于条件对最后的环限制最大,所以从最后一…
ZOJ 3182 Nine Interlinks 题目大意:把一些带标号的环套到棍子上,标号为1的可以所以操作,标号i的根子在棍子上时,只有它标号比它小的换都不在棍子上,才能把标号为i+1的环,放在棍子上或者取下,问n个环全部放在棍子上需要的最少步骤? 一个简单的递推题,可是我硬生生想复杂了还把队友带偏了,真是惭愧,还好源源的一发强大的思路,简简单单就过了,源源太强了,tql,orz.我们以4个环全放上棍子为例,我们要先把第3个环放上,然后又把前两个环都取下,然后才能放上第4个环,再又把前两个环…
点击打开hdu2842 思路: 矩阵快速幂 分析: 1 题目的意思是给定n个环,和一些规则要把所有的环全部拆下最少需要的步数 2 题目规定如果要拆第n个环,那么第n-1个要挂着,n-2环要被拆下.那么我们设f(n)表示拆下前n个环的最少的步骤 那么考虑第n个环的情况,第n-1个环必须要挂着,n-2环要拆下,那么这一步就要f(n-2),拆下第n个需要1步.然后只剩下第n-1个环,由于n-1环需要第n-2环挂着,所以我们需要把前n-2个环挂上去,所以需要f(n-2),剩下n-1个需要拆下需要f(n-…
Chinese Rings Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 623    Accepted Submission(s): 370 Problem Description Dumbear likes to play the Chinese Rings (Baguenaudier). It’s a game played wi…
Chinese Rings 转载自:点这里 [题目链接]Chinese Rings [题目类型]常数矩阵 &题意: 一种中国环,解开第k个环需要先解开全部的前(k-2)个环,并留有第(k-1)环.问解开n环最少需要几步. &题解: 题目规定如果要拆第n个环,那么第n-1个要挂着,所有前n-2个环都要被拆下.那么我们设f(n)表示拆下前n个环的最少的步骤. 那么考虑第n个环的情况,第n-1个环必须要挂着,n-2环要拆下,那么这一步就要f(n-2),拆下第n个需要1步.然后只剩下第n-1个环,…
要拆第n个环要求保留第n-1拆除前n-2 对于n,先拆掉n-2再去掉n再放回n-2,然后规模降为n-1 f(n)=2f(n-2)+f(n-1)+1 inline ll mod(ll a){return a%MOD;} struct Matrix{ ll mt[5][5],r,c; void init(int rr,int cc,bool flag=0){ r=rr;c=cc; memset(mt,0,sizeof mt); if(flag) rep(i,1,r) mt[i][i]=1; } Ma…
题意:一个中国环的游戏,规则是一个木棒上有n个环.第一个环是能够任意放上或拆下的,剩下的环x假设想放上或拆下必须前一个环x-1是放上的且前x-2个环所有是拆下的,问n个环最少多少次操作能够所有拆掉. 题解:须要进行递推,首先第一步肯定是要拆第n个环保证操作次数最少,由于后面的环是否存在对前面的环不造成影响,而先拆前面的假设要拆后面的环还是要把前面的放上,f(n)表示拆掉前n个环须要的最少操作次数,先拆第n个要拆前n-2个再拆第n个.花费f(n-2)+1,然后这时是00-0010.要拆第n-1个须…
链接:传送门 题意:解 N 连环最少步数 % 200907 思路:对于 N 连环来说,解 N 连环首先得先解 N-2 连环然后接着解第 N 个环,然后再将前面 N-2 个环放到棍子上,然后 N 连环问题变成了 N-1 连环问题,然后将递推关系式化成矩阵形式然后用矩阵快速幂解决就ok了 递推关系式:Fn = Fn-1 + 2 * Fn-2 + 1 /************************************************************************* >…
分析: 后面的环能不能取下来与前面的环有关,前面的环不被后面的环所影响.所以先取最后面的环 设状态F(n)表示n个环全部取下来的最少步数 先取第n个环,就得使1~n-2个环属于被取下来的状态,第n-1个环属于未被取下来的状态.那么F(n) = F(n-2) + 1 + ... (这里的1表示取下第n个需要一步) 即F(n)可以为F(n-2) + 1与某些数的和.取下n后,1~n-2为取下的状态,n-1为未被取下的状态.如果我们想取下n-1,那么n-2要为未被取下来的状态且1~n-3为被取下的状态…