51 条题解
-
-1src250 LV 10 @ 2009-04-22 17:16:15
USACO第六阶段原题,竟然通过率如此高!大牛真多!
-
-12008-12-20 17:13:45@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms压八位 的 高精……
ps:看楼下空间里的题解 看 了 1个多 小时…… 5555…… -
-12008-11-07 19:55:30@
反正自己也推不出,权当练高精了- -
-
-12008-10-21 19:52:25@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
-12008-10-19 22:26:36@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-Accepted 有效得分:100 有效耗时:0ms
递推+高精度=AC
-
-12008-09-29 21:00:03@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
-12008-09-12 14:29:00@
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 9ms
├ 测试数据 05:答案正确... 150ms
├ 测试数据 06:答案正确... 462ms
├ 测试数据 07:答案正确... 447ms
├ 测试数据 08:答案正确... 509ms
├ 测试数据 09:答案正确... 478ms
├ 测试数据 10:答案正确... 478ms
时间太恶心了... -
-12008-09-01 20:35:45@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
玩拼图来着。 -
-12008-08-31 22:49:23@
楼下 那个递推怎么想出来的?牛啊
-
-12008-09-08 18:39:23@
我的解法:
n≥5时,有如下的递推关系:
f(n)=2f(n-1)+2f(n-2)-2f(n-3)+f(n-4)初值:
f(1)=0,f(2)=2,f(3)=4,f(4)=12从第5项开始向后推即可。
想解出f(n)也不难把。
-
-12008-08-30 20:28:00@
Accepted 有效得分:100 有效耗时:0ms
Yeah..总算是过了
-
-12008-08-30 17:50:11@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 72ms
├ 测试数据 07:答案正确... 56ms
├ 测试数据 08:答案正确... 41ms
├ 测试数据 09:答案正确... 56ms
├ 测试数据 10:答案正确... 41ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:266ms
爽。。。。太难想了,太痛苦了,题解看了半天。。。。 -
-12008-08-30 09:24:26@
占位
枚举0分 -
-12008-08-30 07:04:18@
USACO 6.1 postal vans
-
-12008-08-29 13:35:06@
地下室
-
-12008-08-30 00:40:02@
USACO Chapter 6.1 原题
-
-12008-08-28 21:53:48@
原来是比赛的题。
-
-22016-11-06 18:39:29@
比原题简单,,,可是我没有思路。。
-
-22016-07-28 11:42:17@
对于这种题,我只想说,Python大法好
python
a = [0, 0, 2, 4, 12]
n = int(raw_input())
if (n <= 4):
print a[n]
else:
for i in range(5, n + 1):
a.append(2 * a[i - 1] + 2 * a[i - 2] - 2 * a[i - 3] + a[i - 4])
print a[n]
-
-22016-07-16 15:51:30@
是不是写麻烦了求大神指导
```c++
#include <iostream>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;
void jia(int *a, int *b, int *c) {
int l = max(a[0], b[0]);
for(int i = b[0]; i < l; i ++)
b[i] = 0;
for(int i = 1; i < l; i++) {
c[i] += a[i] + b[i];
c[i + 1] += c[i] / 10;
c[i] %= 10;
}
if(c[l] == 0)
c[0] = max(l, c[0]);
else
c[0] = max(l + 1, c[0]);
}
void jia1(int *a, int *b, int *c) {
int l = max(a[0], b[0]);
for(int i = 1; i < l; i++) {
cout << a[i] << " " << b[i] << " " << c[i] << endl;
c[i] += a[i] + b[i];
c[i + 1] += c[i] / 10;
c[i] %= 10;
cout << c[i] << endl;
}
if(c[l] == 0)
c[0] = max(l, c[0]);
else
c[0] = max(l + 1, c[0]);
}
void jian(int *a, int *b, int *c) {
int l = max(a[0], b[0]);
for(int i = 1; i < l; i++) {
c[i] += (a[i] - b[i]);
while(c[i] < 0)
c[i] += 10, c[i + 1]--;
}
if(c[l - 1] == 0)
c[0] = max(l - 1, c[0]);
else
c[0] = max(l, c[0]);
}
void cheng(int *a, int b, int *c) {
int l = a[0];
for(int i = 1; i < l; i++) {
c[i] += (a[i] * b) % 10;
c[i + 1] += (a[i] * b) / 10;
}
if(c[l] == 0)
c[0] = max(l, c[0]);
else
c[0] = max(l + 1, c[0]);
}
void print(int *p) {
for(int i = p[0] - 1; i > 0; i--)
cout << p[i];
cout << endl;
}
int temp[1001], temp1[1001], temp2[1001];
int f[1001][1001];
int main() {
f[1][1] = 0, f[1][0] = 2, f[2][1] = 2, f[2][0] = 2, f[3][1] = 4, f[4][1] = 2, f[4][2] = 1, f[3][0] = 2, f[4][0] = 3;
int n;
cin >> n;
if(n <= 4)
cout << f[n][1] << endl;
else {
for(int i = 5; i <= n; i++) {
memset(temp, 0, sizeof temp);
memset(temp1, 0, sizeof temp1);
cheng(f[i - 1], 2, temp);
jia(f[i], temp, temp1);
for(int j = 0; j < temp1[0]; j++)
f[i][j] = temp1[j];memset(temp, 0, sizeof temp);
memset(temp1, 0, sizeof temp1);
cheng(f[i - 2], 2, temp);
jia(f[i], temp, temp1);
for(int j = 0; j < temp1[0]; j++)
f[i][j] = temp1[j], temp2[j] = temp1[j];memset(temp1, 0, sizeof temp1);
jia(f[i], f[i - 4], temp1);
for(int j = 0; j < temp1[0]; j++)
f[i][j] = temp1[j];memset(temp, 0, sizeof temp);
cheng(f[i - 3], 2, temp);
memset(temp1, 0, sizeof temp1);
jian(f[i], temp, temp1);
for(int j = 0; j < temp1[0]; j++)
f[i][j] = temp1[j];
}
print(f[n]);
}
system("pause");
return 0;
}
```