11 条题解
-
-3
J1A题解
40分思路
暴力解决
复杂度
时间复杂度: ,空间复杂度:
Code
#include <bits/stdc++.h> using namespace std; int i, j, k, n, T; double C; int main() { scanf("%d", &T); for (i = 1; i <= T; i++) { scanf("%d %d", &n, &k); for (j = 1; j <= n; j++) C = C / j + k; printf("%.1lf\n", C); } return 0; }
喜提TLE80分思路
还是暴力,只不过加一个最大值
复杂度
时间复杂度: ,空间复杂度:
Code
#include <bits/stdc++.h> using namespace std; int i, j, k, n, T; double C, c; int main() { scanf("%d", &T); for (i = 1; i <= T; i++) { scanf("%d %d", &n, &k); for (j = 1; j <= n; j++) c = C / j + k, C = max(C, c); printf("%.1lf\n", C); } return 0; }
又双叒叕敠敪喜提TLE100分思路
打一个表,发现如下规律:
|||||| |-----|-----|-----|-----|-----| ||||||整个序列 的峰值在 和 。
复杂度
时间复杂度: ,空间复杂度:
Code
#include <bits/stdc++.h> using namespace std; int i, k, n, T; int main() { scanf("%d", &T); for (i = 1; i <= T; i++) { scanf("%d %d", &n, &k); if (n == 1) printf("%d.0\n", k); else if (k & 1) printf("%d.5\n", k + k / 2); else printf("%d.0\n", k + k / 2); } return 0; }
终于AC了
信息
- ID
- 13
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 2
- 标签
- 递交数
- 1259
- 已通过
- 336
- 上传者