P2750 贰五语言Two Five USACO5.5 记忆化搜索

Posted lqsukida

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P2750 贰五语言Two Five USACO5.5 记忆化搜索相关的知识,希望对你有一定的参考价值。

正解:记搜+逼近

解题报告:

神仙题预警,,,

我真滴觉得还是挺难的了,,,先存下还没完成的代码QAQ

咕咕咕

下午写趴QAQ

技术分享图片
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define rp(i,x,y) for(register ll i=x;i<=y;++i)

ll f[6][6][6][6][6];

inline ll read()
{
    register char ch=getchar();register ll x=0;register bool y=1;
    while(ch!=- && (ch>9 || ch<0))ch=getchar();
    if(ch==-)ch=getchar(),y=0;
    while(ch>=0 && ch<=9)x=(x<<1)+(x<<3)+(ch^0),ch=getchar();
    return y?x:-x;
}
inline void dfs(ll x,ll y,ll z,ll p,ll q)
{
    if(f[x][y][z][p][q])return f[x][y][z][p][q];
    if(x<5)f[x][y][z][p][q]+=dfs(x+1,y,z,p,q);
    if(y<5 && y<x)f[x][y][z][p][q]+=dfs(x,y+1,z,p,q);
    if(z<5 && z<y)f[x][y][z][p][q]+=dfs(x,y,z+1,p,q);
    if(p<5 && p<z)f[x][y][z][p][q]+=dfs(x,y,z,p+1,q);
    if(q<5 && q<p)f[x][y][z][p][q]+=dfs(x,y,z,p,q+1);
    return f[x][y][z][p][1];
}
inline void wk1()
{
    string s;cin>>s;
    tybj;
}
inline void wk2()
{
    ll k=read();
    rp(i,1,25)
    {
        csbj;
    }
}

int main()
{
    f[5][5][5][5][4]=1;
    dfs(1,0,0,0,0);
    char ch;cin>>ch;if(ch==W)wk1();else wk2();
    return 0;
}
//欧克预处理我get了
//然而逼近我好像依然不是很会实现QAQ
//等下写趴!over!
View Code

 

以上是关于P2750 贰五语言Two Five USACO5.5 记忆化搜索的主要内容,如果未能解决你的问题,请参考以下文章

USACO 5.5.3Two Five

HDU 3131 One…Two…Five! (暴力搜索)

python_数据类型——

markdown列表中的缩进

C语言-数字翻译器

Erlang 二进制拆分