摘要:
CF1097C Yuhao and a Parenthesis stl 乱搞做法,感觉比正解更直接。 每个字符串内部能匹配的尽可能匹配。 匹配完成后,检验剩余序列是否只含有 ( 或只含有 ) 或为空,如果符合条件,插入待选序列。 在待选序列中尽可能匹配。 code 用一个 set<pair<stri 阅读全文
摘要:
G. Subset with Zero Sum 很妙。 一开始冲着背包去想的,显然不行。 考虑他条件给的这个 \(i − n \le a_i \le i − 1\) 化简一下得到 \[1 \le i - a_i \le n \]题目要去求 \[\sum \limits_{i \in S} a_i = 阅读全文
摘要:
考虑在 \(n\) 个节点的树中,树根作为 \(lca\) 对答案的贡献,显然就是在左子树的叶子中选出一个非空集的方案乘上右子树的方案。 \[w(n, id) = id \cdot (2 ^ {L\_Leaf} - 1) \cdot (2 ^ {R\_Leaf} - 1) \]进而得到一个 \(O( 阅读全文
摘要:
A. 2023 正常签到。 void solve() { int n, k, ok = 1; cin >> n >> k; int t = 2023; while(n --) { int x; cin >> x; if(t % x) ok = 0; t /= x; } cout << (ok ? " 阅读全文
摘要:
A 直接模拟,注意细节 #include<bits/stdc++.h> #define ll long long using namespace std; ll p[15] = {1}; void solve() { ll x; cin >> x; int len = 0; while(x / p[ 阅读全文
摘要:
A 构造题,分两种情况考虑 上下都行,左右选一个 左右都行,上下选一个 void solve() { int n; cin >> n; vector<pair<int, int> > a(n); for(auto &t : a) cin >> t.x >> t.y; sort(a.begin(), 阅读全文
摘要:
这套题感觉质量很高,思维含量大概div.2? A.Battle \[x \equiv r(\bmod P) \]\[P \mid x - r \]因此只有第一次操作是有效的。 void solve() { int n, m, p; cin >> n >> m >> p; m -= m % p; if 阅读全文
摘要:
A. Least Product 存在 \(a[i] = 0\),\(min = 0\),不需要任何操作。 负数个数为偶数(包括0),\(min = 0\),把任意一个改为 \(0\)。 负数个数为奇数,\(min = \prod a[i]\),不需要任何操作。 void solve() { int 阅读全文
摘要:
总结 人生第一次掉rating 各种降智操作 A 水题 B 逆天操作 WA了3发 第三次交的时候以为过了,等到切完E发现怎么B还没过( #include<bits/stdc++.h> using namespace std; map<string, int> f; int main() { f["A 阅读全文
摘要:
题目描述 给你下列7种形状,问恰好填满 \(n*2\) 的方格有多少种方案(每种形状可任意旋转) 后三种形状纯粹是出题人的恶趣味,d用没有 做法一:暴力 不会 做法二:递推 定义: f[i] 为填满 \(i*2\) 的方格的方案数 g[i] 为填满 \(i*2\) 的方格 不能被腰斩 的方案数 解释 阅读全文