07 2021 档案
摘要:板子题: https://www.luogu.com.cn/problem/UVA11174 分析 整个图形成了一片森林,我们记一棵树(根节点记为 )的排序方案数为 。 我们记 以下的子节点(即它们的父节点为 )为 \(c_1,
阅读全文
摘要:A 发现长度为 的一定是最好的。 #pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #define endl '\n' #define debug(x) cerr << #x << ": " <<
阅读全文
摘要:这题细节还挺多的。 分析 拿到题目先拿样例找一下性质。 对于最初的局面,发现如果有一个位置出现 X ,那么它的左边两个或者右边两个位置只要存在 X ,那么先手必然胜利。 如果不存在上面的情况,我们就可以枚举一下先手决策的位置,看看所得到的状态能不能让后手必输。 这时候我们想到用 sg 函数来刻画这一
阅读全文
摘要:C 签到题,看看最多加多少条边这个图还是树。 int main(){ int a, b; cin>>a>>b; int res=a*b; if(res&1) puts("NO"); else puts("YES"); return 0; } D 签到题 模拟 int main(){ int T; c
阅读全文
摘要:补一波牛客多校的题解~ A 这题我的想法是记忆化搜索,如果当前状态能够转移到必败态,那么当前状态就是必胜态。 直接枚举的话复杂度是 ,所以我打了个表,将所有必败态存了下来。 下面是 generator ,因为打表程序已经被我丢掉了所以就贴截图了(悲 然后这是 AC 代码
阅读全文
摘要:传送门:https://atcoder.jp/contests/abc171/submissions/me A #include<bits/stdc++.h> using namespace std; int main(){ char t; cin>>t; putchar(islower(t)? '
阅读全文
摘要:我怎么又是这个点写题解 这套题还是挺简单的(确信 传送门:https://atcoder.jp/contests/abc170 A #include<bits/stdc++.h> using namespace std; int main(){ int res; for(int i=1; i<=5;
阅读全文
摘要:A #include<bits/stdc++.h> using namespace std; int main(){ int a, b; cin>>a>>b; cout<<a*b<<endl; return 0; } B 为了避免溢出就用 py 写了 import sys n=int(input()
阅读全文
摘要:传送门:https://atcoder.jp/contests/abc168/tasks A #include<bits/stdc++.h> using namespace std; int main(){ int a; cin>>a; int t=a%10; if(t==2 || t==4 ||
阅读全文
摘要:半夜写的的题解(www A 也可以 pop_back(b) 来判断 #include<bits/stdc++.h> using namespace std; int main(){ string a, b; cin>>a>>b; for(char i='a'; i<='z'; i++){ if(a+
阅读全文
摘要:传送门:https://atcoder.jp/contests/abc165/tasks A #include<bits/stdc++.h> using namespace std; int main(){ int k, a, b; cin>>k>>a>>b; for(int i=a; i<=b;
阅读全文
摘要:传送门:https://atcoder.jp/contests/abc166 前三题看代码 🕵️♂️ A #include<bits/stdc++.h> using namespace std; int main(){ string t; cin>>t; if(t=="ABC") puts("A
阅读全文
摘要:绝赞自闭 China Round A 模拟。 无解的情况是前后总和不等。 然后当 时就向后填, 时就把后面的搬过来,这样操作就能保证 了。 #pragma GCC optimize("O3") #include<bits/stdc++.h> usin
阅读全文
摘要:感觉这种位置指针跳来跳去的题好难写对,记录一下套路。 传送门:https://www.luogu.com.cn/problem/UVA10382 思路比较简单:处理一下每个装置的有效左右区间(显然半径刚好能够到达的点是临界),然后从左到右贪心地选取装置:具体来说就是维护一个前缀的控制区域(只需维护最
阅读全文
摘要:传送门 题意 给定一个连通的无向图让你进行加边操作,要求每一对点之间都至少有两条相互分离的路径,求最小的加边数。 两条路径相互分离,是指两条路径没有一条重合的道路。 分析 这意味着,从一个点到另一个点,不能够存在一条边满足:如果不经过这条边,这个点就到不了另一个点。 换句话说,就是不能存在一条边,使
阅读全文
摘要:传送门:https://vjudge.net/problem/UVALive-4287 分析 强连通分量(SCC) + 有向无环图(DAG) 的性质 由 SCC 性质知,一个 CC 内的点可以相互到达(也就是里面的定理已经可以相互证明了),所以我们使用 SCC 将问题转化为给定一个 DAG,求使 D
阅读全文
摘要:传送门:https://atcoder.jp/contests/abc164 这次的前三题没有一点思考的必要啊( F题看起来就不可做,日后看看吧 A #include<bits/stdc++.h> using namespace std; int main(){ int s, w; cin>>s>>
阅读全文
摘要:传送门:这里 这场好难,枯了。 A 分类讨论 #include<bits/stdc++.h> using namespace std; int main(){ int a[3]; for(int i=0; i<3; i++) cin>>a[i]; sort(a, a+3); if(a[0]==a[1
阅读全文
摘要:这场还是很有区分度的(逃 A 贪心,从小到大模拟合并的过程。 #pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #define endl '\n' #define debug(x) cerr << #x <
阅读全文