
usaco
文章平均质量分 69
寒笑f
这个作者很懒,什么都没留下…
展开
-
usaco: Sorting a Three-Valued Sequence
把原序列按 non-decreasing排序,然后把排序后的数组和原序列一一比较,找出本该排1的位置放了2的、3的,本该放2的位置放了1的、3的…… 由于一次exchange可以把1和2对换,1和3对换,2和3对换,所以做这些交换,然后剩下的就是三个都不同的了,这样每一组都至少经过两次交换才能恢复(比如312经两次交换才可以变成123)。看代码更清楚,很简单的思路,很简短的代码。原创 2012-03-14 21:48:33 · 582 阅读 · 0 评论 -
usaco preface
题目很简单,这种题做起来也不会错,不过做法很搓,代码很长。 /* ID: stormdp1 LANG: C++ TASK: preface */ #include #include #include using namespace std; int i, v, x; int l, c, d; int m; void Cal(int n) { if(n / 1000 > 0)原创 2012-03-21 23:08:05 · 447 阅读 · 0 评论 -
usaco runround
一个纯粹的模拟题。 /* ID: stormdp1 LANG: C++ TASK: runround */ #include #include #include using namespace std; bool judge[10]; int digit[20]; long long n; int len; bool isOk() { memset(judge, false,原创 2012-03-22 15:33:38 · 489 阅读 · 0 评论 -
usaco: Money Systems
res(i, j)表示用前 j 种组合出 i 。那么:res(i, j) = res(i - coin[i], j - 1) + res(i, j - 1),即结果有两种情况:取第 j 种钱和不取第 j 种钱。 /* ID: LANG: C++ TASK: money */ #include #include #include #include #include #define I原创 2012-04-10 13:37:30 · 565 阅读 · 0 评论 -
usaco: Zero Sum
直接枚举搜索就可以了。感觉usaco上的难度安排有很多不合理的地方,有些题很简单,有些题又很难。 以后做这种题得细心了,虽然一次过了,但改了很久。 /* ID: LANG: C++ TASK: zerosum */ #include #include #include #include #include #define IN "zerosum.in" #define OUT "z原创 2012-04-09 21:17:28 · 539 阅读 · 0 评论 -
usaco:Cow Pedigrees
dp原理: (1)dp[i][j] 表示 i 个节点建 (2)dp[i][j] = E(dp[k][j - 1] * dp[i - k - 1][j - 1])(1 (3)注意(2)中k每次加2,因为左右子树的节点数都是奇数。 /* ID: LANG: C++ TASK: nocows */ #include #include #include #include #inc原创 2012-04-09 21:56:34 · 611 阅读 · 0 评论 -
usaco: Longest Prefix
把长的一个string输入之后,枚举每一个位置,看有没有一个primitive能和当前位置i匹配(匹配是指该位和该位置之前的所有位都能匹配出去)。和当前位置匹配的条件是:当前位置之前的length个元素和primitive中的每一位对应相等,并且i - length的位置已经匹配出去了(这样才能把长度加起来)。 似乎是dp吧,我不认识…… /* ID: LANG: C++ TASK: pre原创 2012-04-10 19:55:24 · 459 阅读 · 0 评论 -
USACO: controlling companie
类似于floyd的算法,不过在做完一遍之后,会引起下一次的改变(最后一组数组就是这样的,在这儿wa了),所以可能会做很多遍。设置一个flag,当某一遍没有引起改变时结束。 /* ID: LANG: C++ TASK: concom */ #include #include #include #include #include #define IN "concom.in" #de原创 2012-04-10 21:17:11 · 427 阅读 · 0 评论