12 2024 档案
摘要:A - Full House 2 容易发现,答案为Yes\(\iff\)输入中恰好出现了\(2\)种不同的数,可以用set等数据结构来计算不同元素的个数。 点击查看代码 #include<bits/stdc++.h> using namespace std; set<int> se; signed
阅读全文
摘要:P1333 瑞瑞的木棍 我们将颜色看作节点,每个木棍左右的两个颜色之间连接无向边。 可以用并查集维护连通性,每添加一条边\((u,v)\)就合并\(u,v\)所在集合,最终所有节点都在一个集合中\(\iff\)该图联通。 在回顾下无向图存在欧拉通路的判定条件,满足其一即可: 无向图是欧拉图\(\if
阅读全文
摘要:UVA10129 单词 Play on Words 将各字母看做节点,单词的首字母向尾字母连一条有向边。最终如果该图存在欧拉通路,则答案合法。 回顾一下欧拉通路的判定: 有向图是欧拉图\(\iff\)非零度节点弱连通,每个节点出入度相等 有向图是半欧拉图\(\iff\)非零度节点弱连通,恰有一个节点
阅读全文
摘要:A - Equally 显然分组情况一定是\(1+1+1\)或\(1+2\),直接判定即可。 点击查看代码 #include<bits/stdc++.h> using namespace std; int a,b,c; signed main(){ cin>>a>>b>>c; if((a+b==c)
阅读全文
摘要:A - aaaadaa 按题意模拟即可。 点击查看代码 #include<bits/stdc++.h> using namespace std; int n; char c1,c2; string s; signed main(){ cin>>n>>c1>>c2>>s; for(int i:s){
阅读全文
摘要:Index 链形均分纸牌 每次仅可交换\(1\)张 每次可交换多张 环形均分纸牌 每次仅可交换\(1\)张 每次可交换多张 拓展性很强的贪心问题。或许能推广到树之类的结构上,或者拓展到方案计数问题之类,不过目前还没想好啦。 链形均分纸牌 每次仅可交换\(1\)张 最基础的例题是这样的: 有\(n\)
阅读全文
摘要:A - Humidifier 1 照题意模拟即可,时间复杂度\(O(n)\)。 点击查看代码 #include<bits/stdc++.h> #define int long long #define N 110 using namespace std; int n,t[N],v[N],sum; s
阅读全文
摘要:编辑字符串(edit) 初见感觉像贪心,但在不好写+不会证的情况下放弃了,然后想到DP又设不出状态。 实际上……就是贪心哦? 下文称\(s_1,s_2\)分别为\(a,b\)。 不难发现一个不存在锁定位置的区间,其内元素是可以任意交换的。 所以我们可以按照锁定位置,将两个字符串划分成若干个区间(被锁
阅读全文