9.1k 12 分钟

# A. Everybody Likes Good Arrays! 水题。 奇乘奇,偶乘偶的奇偶性都不变。数一下有多少段即可。 #include <bits/stdc++.h>using namespace std;const int N = 110;int T, n;int a[N];inline void solve(){ cin >> n; for(int i = 1; i <= n; ++i) cin >> a[i]; int ans = 0; for(int i = 2; i <= n;...
16k 22 分钟

# A. Garland 简单分讨。 考虑一段 0 的两端奇偶性不同,那么不管怎么放代价只会加 1. 所以只考虑连段奇偶性相同的。 如果数字数量足够填满当前段,那么没有代价,否则代价是 2(自己手模一下)。 所以把两端奇偶性相同的空段按长度从小到大排序,能填满就填满即可。 还有一些奇奇怪怪的小细节,自己写代码的时候慢慢调吧。 #include <bits/stdc++.h>#define pb push_backusing namespace std;const int N = 110;int n, ans;int a[N], vis[N];int pos,...
9.9k 13 分钟

推式子 + 矩阵乘法,并查集启发式合并动态维护直径,单调性优化 dp

5.1k 7 分钟

# 中国剩余定理 (CRT) 中国剩余定理是用来解决如下问题的: {x≡a1 (modm1)x≡a2 (modm2)... x≡an (modmn)\begin{cases} x\equiv a_1\ \pmod{m_1}&\\ x\equiv a_2\ \pmod{m_2}&\\ ...\ &\\ x\equiv a_n\ \pmod{m_n} \end{cases} ⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧​x≡a1​ (modm1​)x≡a2​ (modm2​)... x≡an​ (modmn​)​​ 注意:模数必须互质。 #...
3.8k 5 分钟

# 置换 定义 有限集合到自身的双射(即一一对应)称为置换。集合 S={a1,a2,⋯ ,an}S = \left\{a_1, a_2, \cdots ,a_n \right\}S={a1​,a2​,⋯,an​} 的置换可以表示为: f=(a1,a2,⋯ ,anap1,ap2,⋯ ,apn)f = \begin{pmatrix}a_1, a_2, \cdots , a_n\\ a_{p_1}, a_{p_2}, \cdots ,a_{p_n}\end{pmatrix} f=(a1​,a2​,⋯,an​ap1​​,ap2​​,⋯,apn​​​) p1,p2,⋯ ,pnp_1, p_2,...