CSUST ACMore Evening training 2024.3.19

CSUST ACMore Evening training 2024.3.19 Problem1 我们可以推一下这个式子就可以发现题目要我们求啥,目要去掉俩个数后算术平均数相等,那我们就选俩个去掉假设为 $a_x, a_y$ $\frac{Sum}{n} = \frac{Sum - a_x-a_y}{n - 2}$ $得到: 2 \times Sum = (a_x + a_y) \times n $ 我们会发现如果 $2 \times Sum \equiv 0 (\bmod n)$ 才可能存在有解,然后就是需要存在 $(a_x+a_y) = \frac{2\times Sum}{n}$ ,令 $w = \frac{2\times Sum}{n}$,假设 $x < y$ 要求的就是对...

2024-03-19 · 2 分钟 · shift

Codeforces Round 929 (Div. 3)

A. Turtle Puzzle: Rearrange and Negate 因为可以任意排列这个数组,并将一段区间内的数乘 $-1$,我们可以排序后把所有负数变为正数,即可 $code:$ void solve() { int n; std::cin >> n; int ans = 0; for(int i = 0, x; i < n; i ++ ) { std::cin >> x; ans += std::abs(x); } std::cout << ans << '\n'; } B. Turtle Math: Fast Three Task 分类讨论,$\sum_{i=1}^na_i\mod 3$ 等于 $0$ 的话不需要操作,等于 $1$ 就看有...

2024-02-28 · 3 分钟 · shift

牛客周赛Round32

A.小红的 01 背包 能装多少装多少就行 $code:$ void solve() { int v, x, y; std::cin >> v >> x >> y; std::cout << v / x * y << '\n'; } B.小红的 dfs 枚举每一行,然后对于第一行为 $dfs$ 的情况, 只存在第一列也为 $dfs$ 满足,其他行同理枚举一遍即可 void solve() { char g[3][3]; for(int i = 0; i < 3; i ++) { for(int j = 0; j < 3; j ++ ) { std::cin >> g[i][j]; } } int ans = 9, v = 0; if(g[0][0] != 'd') v ++; if(g[0][1] != 'f') v ++; if(g[0][2] !=...

2024-02-12 · 3 分钟 · shift

Educational Codeforces Round 161 (Rated for Div. 2) A-E

A. Tricky Template 我们对每个位置 $i$ 来看,只要 $a_i == c_i \ or \ b_i == c_i$​ ,那么就会使其不成立, 如果是整个字符串呢,那么就是,那么就需要每个位置都成立才能使其不成立,于是遍历判断一下即可 $code:$ void solve() { int n; std::cin >> n; std::string a, b, c; std::cin >> a >> b >> c; int ok = 0; for(int i = 0; i < n; i ++ ) { if(a[i] != c[i] && b[i] != c[i]) { ok = 1; } } std::cout << (ok ? "YES" : "NO")...

2024-02-06 · 2 分钟 · shift

牛客周赛Round31

牛客周赛Round31 A.小红小紫替换 判断即可 $code:$ void solve() { std::string s; std::cin >> s; std::cout << (s == "kou" ? "yukari" : s) << '\n'; } B.小红的因子数 看到数据范围为 $1e13$,$\sqrt{1e13} \approx 3e6$ 所以直接枚举根号以内的素因子即可 复杂度 $O(\sqrt{n})$ $code:$ void solve() { i64 x; std::cin >> x; int ans = 0; for(int i = 2; i <= x / i; i ++ ) { if(x % i == 0) { while(x % i == 0) { x /=...

2024-02-05 · 3 分钟 · shift

组合数学

组合数学 排列与组合 1.帕斯卡公式 $$ 对于所有满足 1\le k \le n-1的整数 n 和 k,有 \newline \tbinom{n}{k} = \tbinom{n - 1}{k} + \tbinom{n - 1}{k - 1} $$ 2.定理 $$ 1. 设多重集合S,有k种类型对象,每一种类型的有限出现次数时n_1,n_2,…,n_k,设S的大小为 n, S的排列数为 \newline \frac{n!}{n_1!n_2!…n_k!} \newline 2.设S为有k种类型的多重集合,每种元...

2024-02-04 · 1 分钟 · shift

Blog

hello $$ \frac{a_i^{j}}{n} $$

2022-05-05 · 1 分钟 · shift