2013年12月26日

USACO 1.5.4 Checker Challenge

摘要: 题意:经典的八皇后问题解法:采用朴素的每一次放置都与前面的所有行进行比较,在N =13的时候时间会爆掉《入门经典》上提供的方法很经典,vis数组的使用,具体见《入门经典》125页/*ID:lsswxr1PROG:checkerLANG:C++*/#include#include#include#includeusing namespace std;#define maxn 15ifstream fin("checker.in");ofstream fout("checker.out");int N, tot;int outputNums;int curP 阅读全文

posted @ 2013-12-26 23:46 小书包_Ray 阅读(249) 评论(0) 推荐(0) 编辑

USACO 1.5.3 Superprime Rib

摘要: 题意: 求出给定长度为N的数,使得满足这个数从右边开始一位一位的切掉,剩下的数全部是质数解法:一开始想按照顺序枚举,发现预处理质数的时间就已经很复杂了(最大长度为8,[0, 100000000]),果断搜爆了看了一下解法提示,一位一位的进行搜索,剪枝条件(第一位数只能是2,3,5,7)其余位数只能是(1,3,5,7,9)质数条件的限制,然后进行搜索即可,此时判断质数复杂度大为降低,比前一种思路减少了大量的运行时间,所以不能想得太简单,USACO的题目都是很有质量的/*ID: lsswxr1PROG: sprimeLANG: C++*/#include #include #include #in 阅读全文

posted @ 2013-12-26 22:05 小书包_Ray 阅读(170) 评论(0) 推荐(0) 编辑

USACO 1.5.2 ★Prime Palindromes

摘要: 题意:给定区间[a, b]求出区间里面的所有 回文质数解法: 最简单的做法是枚举所有的数字,判断两个条件,但在第9组数据的时候时间会爆 看了一下HINT,题目提示预先产生所有的回文数,将遍历所有数组的时间将为常数时间产生数组,HINT给出的回文数产生方法更为巧妙,采用这样的思路大幅降低了运行时间/*ID: lsswxr1PROG: pprimeLANG: C++*/#include #include #include #include #include #include #include #include #include #include #include #include #include 阅读全文

posted @ 2013-12-26 12:57 小书包_Ray 阅读(223) 评论(0) 推荐(0) 编辑

USACO 1.5.1 Number Triangles

摘要: 题意:经典数字三角形最大问题解法:基本动态规划 dp[i][j]表示以(i,j)结束的最大值, 转移方程:dp[i][j] = max{dp[i-1][j-1], dp[i-1][j]} + num[i][j], 结果为max dp[n - 1][j] 当然也可以设置dp[i][j]表示从(i, j)出发所能获得的最大值 dp[i][j] = max{dp[i+1][j], dp[i+1][j+1]} + num[i][j]USACO题目的复杂度有些跳跃/*ID: lsswxr1PROG: numtriLANG: C++*/#include #include #include #i... 阅读全文

posted @ 2013-12-26 11:01 小书包_Ray 阅读(230) 评论(0) 推荐(0) 编辑

导航