zoukankan      html  css  js  c++  java
  • CF24D Broken robot | DP 高斯消元

    题目链接

    直接$dp$会有后效性,用高斯消元解决。

    因为在这道题中列出的增广矩阵很有特点,所以用$O(M)$的时间复杂度就可以解出来。

    注意$m=1$时的情况。

    #include<iostream>
    #include<cstdio>
        using namespace std;
        double f[1005][1005],g[1005][1005];
    int main()
    {
        int n=0,m=0,x=0,y=0;
        scanf("%d%d%d%d",&n,&m,&x,&y);
        n-=x-1,x=1;
        for(int i=1;i<=m;i++) f[n][i]=0;
        for(int i=n-1;i>=1;i--)
        {
            if(m==1)
            {
                f[i][m]=2*((double)1/2*f[i+1][m]+1);
                continue;
            }
            for(int j=1;j<=m;j++)
                if(j==1)
                {
                    g[j][j]=(double)2/3;
                    g[j][j+1]=(double)-1/3;
                    g[j][m+1]=(double)1/3*f[i+1][j]+1;
                }
                else if(j==m)
                {
                    g[j][j]=(double)2/3;
                    g[j][j-1]=(double)-1/3;
                    g[j][m+1]=(double)1/3*f[i+1][j]+1;
                }
                else
                {
                    g[j][j]=(double)3/4;
                    g[j][j-1]=(double)-1/4;
                    g[j][j+1]=(double)-1/4;
                    g[j][m+1]=(double)1/4*f[i+1][j]+1;
                }
            for(int j=1;j<=m-1;j++)
            {
                double x=-g[j+1][j]/g[j][j];
                g[j][j]*=x;
                if(j!=1) g[j][j-1]*=x;
                g[j][j+1]*=x,g[j][m+1]*=x;
                g[j+1][j]+=g[j][j];
                g[j+1][j+1]+=g[j][j+1];
                g[j+1][m+1]+=g[j][m+1];
            }
            f[i][m]=g[m][m+1]/g[m][m];
            for(int j=m-1;j>=1;j--)
                f[i][j]=(g[j][m+1]-g[j][j+1]*f[i][j+1])/g[j][j];
        }
        printf("%.4f",f[x][y]);
        return 0;
    }   
    CF24D
  • 相关阅读:
    2.2 与球体相交-几何解
    2.1 与球体的交点 -代数解
    2 必要的光线追踪算法=>光线球体的相交和映射
    3.1 Matrix Properties
    chapter 3:Matriices
    4.8 渲染方程
    webstorm 皮肤(Sublime text)设置
    数字键盘(纯js)
    ios中设置readonly还会有光标?
    JS重要的坑
  • 原文地址:https://www.cnblogs.com/wozaixuexi/p/11241533.html
Copyright © 2011-2022 走看看