经典热身赛用原题
题目概览
A - The introduction of NEU
解题思路

From 东北大学章程网 , Archived
代码参考
Show code
A.phpview rawB - Random Permutation
解题思路
2020 年 ICPC 澳门站的 L, 答案是
\[ \frac{(n!)^2}{n^n} \]
代码参考
Show code
B.pyview raw1 2 3 4
| import math
n = int(input()) print((math.factorial(n) ** 2) / (n ** n))
|
C - The Great Wall
解题思路
2020 年 ICPC 银川站的 B
代码参考
Show code
C.cppview raw1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| #include <bits/stdc++.h> using namespace std; const int N = 10000 + 7; int a[N], dp[2][N][10]; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; for (int i = 1; i <= n; ++i) cin >> a[i]; for (int i = 0; i <= n; ++i) for (int j = 0; j <= 3; ++j) dp[0][i][j] = dp[1][i][j] = -(1000000000 + 7); int Now = 0, Last = 1; dp[Now][0][3] = 0; for (int i = 1; i <= n; ++i) { swap(Now, Last); for (int j = 1; j <= i; ++j) { dp[Now][j][0] = max(dp[Last][j - 1][3], dp[Last][j][0]); dp[Now][j][1] = max({dp[Last][j][1], dp[Last][j][0] - a[i], dp[Last][j - 1][3] - a[i]}); dp[Now][j][2] = max({dp[Last][j][2], dp[Last][j][0] + a[i], dp[Last][j - 1][3] + a[i]}); dp[Now][j][3] = max({dp[Last][j][3], dp[Last][j - 1][3], dp[Last][j][1] + a[i], dp[Last][j][2] - a[i]}); } } for (int i = 1; i <= n; ++i) cout << dp[Now][i][3] << '\n'; }
|
D - A Bite of Teyvat
解题思路
参见 题解 - 2021 ICPC 亚洲区域赛 (沈阳) 的 A