• 【USACO1.6】解题报告


    前言:

    这章的三道题目中有两道是可以用DFSDFS做的,另外一道要用到一些数论。(或者大打表?)
    USACOUSACO的第一章算是刷完了。这一张总体来说不算太难,主要都是一些简单的模拟,贪心或者DFSDFS和一些最基础的数论。算是巩固了一下吧。
    USACO:http://train.usaco.org


    USACO1.6.2.Number Triangles

    思路:

    太经典啦这道题。
    相信初学DP的OIerOIer都做过吧。。。
    当然深搜也是可以过的。
    f[i][j]f[i][j]表示搜到第ii行第jj列的最大和,由于只能从左上或上方转移,所以就有:
    f[i][j]=max(f[i1][j1],f[i1][j])+f[i][j]f[i][j]=max(f[i-1][j-1],f[i-1][j])+f[i][j]
    (一开始f[i][j]f[i][j]储存的是第ii行第jj列的数字)
    答案就是max(f[n][i])max(f[n][i])

    代码:

    #include <cstdio>
    #include <algorithm>
    #define N 1010
    using namespace std;
    
    int f[N][N],n,ans;
    
    int main()
    {
        scanf("%d",&n);
        for (int i=1;i<=n;i++)
         for (int j=1;j<=i;j++)
         {
         	scanf("%d",&f[i][j]);
            f[i][j]+=max(f[i-1][j-1],f[i-1][j]);
         }
        for (int i=1;i<=n;i++)
         ans=max(ans,f[n][i]);
        printf("%d\n",ans);
        return 0;
    }
    

    USACO1.6.3.Prime Palindromes

    题解


    USACO1.6.4.Superprime Rib

    思路:

    由于质数末尾不能是除22以外的偶数,所以每个位置只要枚举是1,2,3,5,7,91,2,3,5,7,9中的哪一个就可以了。
    对于每一位,筛一次质数即可。

    代码:

    /*
    ID:ssl_zyc2
    TASK:sprime
    LANG:C++
    */
    
    #include <cstdio>
    #include <cmath>
    using namespace std;
    
    const int f[]={0,1,2,3,5,7,9};
    int n,a[11];
    
    bool prime(int m)  //筛质数
    {
        int t=0;
        for (int i=1;i<=m;i++) t=t*10+a[i];
        if (t==1) return 0;
        for (int i=2;i<=sqrt(t);i++)
         if (!(t%i)) return 0;
        return 1;
    }
    
    void dfs(int x)
    {
        if (x>n)
        {
            for (int i=1;i<=n;i++)
             printf("%d",a[i]);
            printf("\n");
            return;
        }
        for (int i=1;i<=6;i++)
        {
            a[x]=f[i];
            if (prime(x)) dfs(x+1);
            a[x]=0;
        }
    }
    
    int main()
    {
        scanf("%d",&n);
        dfs(1);
        return 0;
    }
    
  • 相关阅读:
    servlet和springMVC框架
    JavaWeb登录、注销、退出、记住用户名和密码-session
    一个实现用户登录注销的小程序,求大神帮忙解救 ...
    log4j:WARN Please initialize the log4j system properly解决办法
    接上一篇
    Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds...
    classpath
    跳转页面代码
    程序猿学习路线
    Calendar
  • 原文地址:https://www.cnblogs.com/hello-tomorrow/p/11998523.html
Copyright © 2020-2023  润新知