HDU 4405 Aeroplane chess(확률 DP)

제목 링크: 클릭하여 링크 열기
제목: 긴 n의 축이 있는데 0~n이라고 표시되어 있다. 0부터 주사위를 던지기 시작하는데 주사위는 1~6이다. 몇 번 던지면 오른쪽으로 몇 걸음 간다. 그리고 일부 항로는 한 점에서 다른 점으로 바로 갈 수 있다.최종적으로 n의 기대에 도달하기를 바라다.
사고방식: 명백한 확률 DP.그러나 기대를 요구하려면 먼저 하나의 공식을 알아야 한다. dp[i]=sum(dp[j])+1(i+1<=j<=i+6), dp[i]는 i점에서 던지고 최종적으로 n까지의 기대를 나타낸다. 기대의 선형성에 따라 우리는 이렇게 기대를 구할 수 있다. +1은 다음 단계의 기대를 나타낸다. 모르는 것은 여기를 보면 된다. 클릭하여 링크를 열면 된다.
자세한 참고 코드:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define Max(a,b) ((a)>(b)?(a):(b))
#define Min(a,b) ((a)=0;i--) {
            if(vis[i] != -1) d[i] = d[vis[i]];
            else {
                for(int j=1;j<=6;j++) d[i] += d[i+j];
                d[i] = d[i] / 6.0 + 1;
            }
        }
        printf("%.4f
",d[0]); } return 0; }

좋은 웹페이지 즐겨찾기