USACO Section 1.5

原创 2016年05月31日 17:32:15

USACO Section 1.5
Number Triangles

/*
    ID: beihai2013
    TASK: numtri
    LANG: C++
*/
/*简单DP*/
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1000 + 5;
int g[MAXN][MAXN], n;
int main()
{
    freopen("numtri.in", "r", stdin);
    freopen("numtri.out", "w", stdout);
    while(scanf("%d", &n) != EOF) {
        for(int i = 1 ; i <= n ; i++) {
            for(int j = 1 ; j <= i ; j++)
                scanf("%d", &g[i][j]);
        }
        for(int i = 1 ; i <= n ; i++) {
            for(int j = 1 ; j <= i ; j++) {
                g[i][j] += max(g[i - 1][j], g[i - 1][j - 1]);
            }
        }
        int res = 0;
        for(int i = 1 ; i <= n ; i++) res = max(res, g[n][i]);
        printf("%d\n", res);
    }
    return 0;
}

Prime Parlindrome

/*
    ID: beihai2013
    TASK: pprime
    LANG: C++
*/
/*
    先列出所有回文串,然后判断是否为素数
*/
#include <bits/stdc++.h>
using namespace std;
int l, r;
bool prime(int u)
{
    for(int i = 2 ; i <= sqrt(1.0 * u) ; i++) if(u % i == 0) return false;
    return true;
}
void dfs(int u, int cnt, int dep, int mark)
{
    if(cnt == dep) {
        int orgu = u;
        int tu = u; if(mark == 0) tu /= 10;
        while(tu) {
            u = u * 10 + tu % 10;
            tu /= 10;
        }
        if(u < l || u > r) return;
        if(prime(u)) {
            printf("%d\n", u);
//            printf("u = %d, orgu = %d, dep = %d, mark = %d\n", u, orgu, dep, mark);
//            system("pause");
        }
    }
    else {
        for(int i = 0 ; i < 10 ; i++) dfs(u * 10 + i, cnt + 1, dep, mark);
    }
}
void solve(int dep)
{
    for(int i = 0 ; i < 2 ; i++) {
        for(int j = 1 ; j < 10 ; j++) dfs(j, 1, dep, i);
    }
}
int main()
{
    freopen("pprime.in", "r", stdin);
    freopen("pprime.out", "w", stdout);
    while(scanf("%d%d", &l, &r) != EOF) {
        for(int len = 1 ; len <= 5 ; len++) {
            solve(len);
        }
    }
    return 0;
}

Superprime Rib

/*
    ID: beihai2013
    TASK: sprime
    LANG: C++
*/
/*
    暴力dfs,每一步判一下是否为质数
*/
#include <bits/stdc++.h>
using namespace std;
bool prime(int u)
{
    if(u == 1) return false;
    for(int i = 2 ; i <= sqrt(1.0 * u) ; i++) if(u % i == 0) return false;
    return true;
}
void dfs(int u, int cnt, int dep)
{
    if(u != 0 && !prime(u)) return;
    if(cnt == dep) {
        printf("%d\n", u);
        return;
    }
    for(int i = 1 ; i < 10 ; i++) {
        dfs(u * 10 + i, cnt + 1, dep);
    }
}
int main()
{
    freopen("sprime.in", "r", stdin);
    freopen("sprime.out", "w", stdout);
    int n;
    while(scanf("%d", &n) != EOF) {
        dfs(0, 0, n);
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

[USACO 1.5] Summary of Section 1.5

和二进制关系不大的单元。 numtri:DP pprime:回文串+判素数 sprime:DFS+判素数 checker:N皇后(位运算) 想法是很重要的! ...
  • zane295384295
  • zane295384295
  • 2011年12月13日 22:12
  • 82

USACO Section 1.5 题解

以后编程的时间越来越少罗,上高中要努力罗。这个只能当业余活动,没办法谁叫我没能力上省队啊,有能力的话我都不管文化科了。加油吧,考上个好大学,以后就可以好好研究、编程罗。不过比赛还是要去打打酱油的,看看...
  • xy_jm
  • xy_jm
  • 2011年08月28日 10:32
  • 314

[USACO Training] Section 1.5

本章的主题是二进制、简单动态规划和枚举。TEXT讲了二进制和位运算。题目有一道数字三角形,和两道有关素数的枚举。...
  • ruoruo_cheng
  • ruoruo_cheng
  • 2016年08月10日 14:23
  • 126

USACO Section 1.5

第一章最后一部分了,后面的大概要开始变得更难了。 Nunber Triangles 经典的 dp 题, 可以用记忆化搜索也可以用递推, 我用的是记忆化搜索。 #include usi...
  • dont_say_sorry
  • dont_say_sorry
  • 2015年09月17日 12:13
  • 129

[USACO Training] Section 1.4

这一章的主题是枚举。 搜索 时间 空间 何时使用 DFS O(c^k) O(k) 必须搜索整棵树,知道解所在的层数,或者不需要层次最浅的解 BFS O(c^d) O(c^d) 知道解所在的层次很...
  • ruoruo_cheng
  • ruoruo_cheng
  • 2016年08月10日 11:50
  • 256

USACO1.5.2 Prime Palindromes (pprime)

水题。先找出所有的回文数再判断是不是质数。/* ID:shijiey1 PROG:pprime LANG:C++ */ #include #include #include #include ...
  • u011265346
  • u011265346
  • 2014年12月10日 08:31
  • 442

USACO Section 1.5 Superprime Rib

/* ID: lucien23 PROG: sprime LANG: C++ */ #include #include #include #include using namespace std; ...
  • LucienDuan
  • LucienDuan
  • 2014年03月18日 21:55
  • 844

C++——USACO Section 1.5 题解

Number Triangles Consider the number triangle shown below. Write a program that calculates the hi...
  • McDonnell_Douglas
  • McDonnell_Douglas
  • 2017年08月23日 16:52
  • 57

USACO Section 1.5 Prime Palindromes

题意: 输入a和b  求 a和b之间所有既是素数同时又有回文性质的数  从小到大输出 思路: 如果枚举a到b之间所有的数再判断素数和回文那么复杂度会比O(n)还大  本题O(n)都会跪 ...
  • u013351160
  • u013351160
  • 2014年01月19日 14:07
  • 546

USACO Section 1.5 Checker Challenge

题意: N皇后问题  输出  字典序最小的3种解法 和 解的数量 思路: dfs去放皇后判断和前面的皇后是否冲突 题目时间卡的超级很近!!  简单的搜索一定跪  能剪的地方要拼命剪枝!...
  • u013351160
  • u013351160
  • 2014年01月19日 16:32
  • 571
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:USACO Section 1.5
举报原因:
原因补充:

(最多只允许输入30个字)