A - I Scream
根据 奶脂率 和 乳脂率 判断是何种冰淇淋
int main() {ios_base::sync_with_stdio(false), cin.tie(0);int a, b;cin >> a >> b;a = a + b;if (a >= 15 && b >= 8) cout << 1;else if (a >= 10 && b >= 3)cout << 2;else if (a >= 3)cout << 3;elsecout << 4;return 0;}
B - Job Assignment
分开存储,循环判断。如果是同一个人完成任务则总时间累计
int main() {ios_base::sync_with_stdio(false), cin.tie(0);vector<int> a, b;int n, ans = 1e9 + 5;cin >> n;a.resize(n);b.resize(n);for (int i = 0; i < n; ++i) {cin >> a[i] >> b[i];}for (int i = 0; i < n; ++i)for (int j = 0; j < n; ++j) {if (i == j) ans = min(ans, a[i] + b[j]);elseans = min(ans, max(a[i], b[j]));}cout << ans;return 0;}
C - Squared Error
公式推导
%5E2%20%5Cnotag%20%5C%5C%0A%3D%7B%7D%26%20%20%5Cfrac1%7B2%7D(%E2%88%91%7Bi%20%3D%201%7D%5En%E2%88%91%7Bj%20%3D%201%7D%5E%7Bn%7D(Ai%20-%20A_j)%5E2)%20%20%26%20%5Ctext%7Bbecause%20(%24A_i%20-%20A_i)%5E2%20%3D%200%24%7D%20%20%5C%5C%0A%3D%7B%7D%26%20%20%5Cfrac1%7B2%7D(%E2%88%91%7Bi%20%3D%201%7D%5En%E2%88%91%7Bj%20%3D%201%7D%5E%7Bn%7D(A_i%5E2%20-%20A_j%5E2-2A_iA_j))%20%5C%5C%0A%3D%7B%7D%26%20%20%5Cfrac1%7B2%7D(2N%E2%88%91%7Bi%20%3D%201%7D%5EnAi%5E2%20-%202%E2%88%91%7Bj%20%3D%201%7D%5En(Ai%E2%88%91%7Bj%20%3D%201%7D%5EnAj))%20%5C%5C%0A%3D%7B%7D%26%20%20N%E2%88%91%7Bi%20%3D%201%7D%5EnAi%5E2%20-%20(%E2%88%91%7Bi%20%3D%201%7D%5EnAi%5E2)%2C%0A%5Cend%7Bgather%7D%0A#card=math&code=%5Cbegin%7Bgather%7D%0A%E2%88%91%7Bi%20%3D%202%7D%5En%E2%88%91%7Bj%20%3D%201%7D%5E%7Bi%20-%201%7D%28A_i%20-%20A_j%29%5E2%20%5Cnotag%20%5C%5C%0A%3D%7B%7D%26%20%20%5Cfrac1%7B2%7D%28%E2%88%91%7Bi%20%3D%201%7D%5En%E2%88%91%7Bj%20%3D%201%7D%5E%7Bn%7D%28A_i%20-%20A_j%29%5E2%29%20%20%26%20%5Ctext%7Bbecause%20%28%24A_i%20-%20A_i%29%5E2%20%3D%200%24%7D%20%20%5C%5C%0A%3D%7B%7D%26%20%20%5Cfrac1%7B2%7D%28%E2%88%91%7Bi%20%3D%201%7D%5En%E2%88%91%7Bj%20%3D%201%7D%5E%7Bn%7D%28A_i%5E2%20-%20A_j%5E2-2A_iA_j%29%29%20%5C%5C%0A%3D%7B%7D%26%20%20%5Cfrac1%7B2%7D%282N%E2%88%91%7Bi%20%3D%201%7D%5EnAi%5E2%20-%202%E2%88%91%7Bj%20%3D%201%7D%5En%28Ai%E2%88%91%7Bj%20%3D%201%7D%5EnAj%29%29%20%5C%5C%0A%3D%7B%7D%26%20%20N%E2%88%91%7Bi%20%3D%201%7D%5EnAi%5E2%20-%20%28%E2%88%91%7Bi%20%3D%201%7D%5EnA_i%5E2%29%2C%0A%5Cend%7Bgather%7D%0A)
注意用 long long ,溢出了WA了我3次….
using ll = long long;int main() {ios_base::sync_with_stdio(false), cin.tie(0);int n;cin >> n;vector<ll> a(n);ll sos = 0, sum = 0; // sos sum of squaresfor (ll &x : a) cin >> x;for (int i = 0; i < n; i++) {sos += a[i] * a[i];sum += a[i];}cout << n * sos - sum * sum << endl;return 0;}
D - Journey
按题意来即可,注意输出位数来保持精度
int main() {ios_base::sync_with_stdio(false), cin.tie(0);int n;cin >> n;double cnt = 0.0;for (int i = 1; i < n; ++i) {cnt += 1.0 * n / (n - i);}cout << setprecision(20) << cnt << "\n";return 0;}
E - Mex Min
熟悉的定义…
using ll = long long;ll n, m, a[5000005], s[5000005], mina, temp = 1;int main() {ios_base::sync_with_stdio(false), cin.tie(0);cin >> n >> m;for (int i = 1; i <= n; i++) {cin >> a[i];if (i <= m) s[a[i]]++;}for (int i = 0; i <= n; i++) {if (s[i] == 0) {mina = i;break;}}for (int i = m + 1; i <= n; i++) {s[a[temp]]--;s[a[temp + m]]++;if (a[temp] < mina && s[a[temp]] == 0) {// cout<<a[temp];mina = min(mina, a[temp]);}temp++;}cout << mina;return 0;}
F - Digits Paradise in Hexadecimal
不会,先记录下dalao们的解法
__builtin_popcount()用于计算一个 32 位无符号整数有多少个位为1
#include <bits/stdc++.h>using namespace std;#define rep(i, n) for (int i = 0; i < (n); i++)using ll = long long;constexpr int MOD = 1e9 + 7;long long dp[2][17];string s;int n, k, m, a, e;int main() {cin >> s >> k;for (char c : s) {a = '0' <= c && c <= '9' ? c - '0' : c - 'A' + 10;rep(i, 16) dp[e][i + 1] =(dp[e ^ 1][i] * (16 - i) + dp[e ^ 1][i + 1] * (i + 1)) % MOD;dp[e][1] += m ? 15 : a - 1;if (m) {int t = __builtin_popcount(m), b1 = t - __builtin_popcount(m >> a);dp[e][t + 1] += a - b1;dp[e][t] += b1;}m |= 1 << a;e ^= 1;}dp[e ^ 1][__builtin_popcount(m)] += 1;cout << dp[e ^ 1][k] % MOD << endl;}
