成县建设局网站,南京互联网公司,网站开发经理招聘,精准客户信息一条多少钱#x1f30f;博客主页#xff1a;PH_modest的博客主页 #x1f6a9;当前专栏#xff1a;cf闯关练习 #x1f48c;其他专栏#xff1a; #x1f534;每日一题 #x1f7e1; C跬步积累 #x1f7e2; C语言跬步积累 #x1f308;座右铭#xff1a;广积粮#xff0c;缓… 博客主页PH_modest的博客主页 当前专栏cf闯关练习 其他专栏 每日一题 C跬步积累 C语言跬步积累 座右铭广积粮缓称王 一.关卡1C. Make Good
传送门
1.Tutorial XOR运算就是按位异或相同为0不同为1 这个操作符有两个结论 X ⊕ X 0 X\oplus X 0 X⊕X0 0 ⊕ X X 0 \oplus XX 0⊕XX 本题从这两点入手题目中说最多添加3个数我们不妨大胆假设只需要两个数一个数将原数组中的数按位异或之后变成0再用一个数^0*2等于所有数之和这边只需要解个方程即可 2.Solution
//https://codeforces.com/problemset/problem/1270/C
//
//
#includebits/stdc.h
#define int long long
using namespace std;void solve()
{int n;cinn;int sum0;int tmp0;for(int i0;in;i){int x;cinx;sumx;tmp^x;}cout2\ntmp tmpsum\n;
}
signed main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t;cint;while(t--){solve();}return 0;
}二.关卡2B. Applejack and Storages
传送门
1.Tutorial 正方形由4个相同的边组成长方形由2组2个相同的边组成sum2表示两个一组的个数sum4表示4个一组的个数首先sum4 1是必须的然后还需要知道一点sum41的时候sum22原因参考下面这张图 所以我们得出结论 sum41sum24时输出“YES”否则输出“NO” 2.Solution
//https://codeforces.com/problemset/problem/1393/B
//
//
#includebits/stdc.h
#define int long long
using namespace std;void solve()
{mapint,intmp;int n;cinn;int sum40;int sum20;for(int i0;in;i){int a;cina;mp[a];if(mp[a]%40) sum4;if(mp[a]%20) sum2;}int q;cinq;while(q--){string a;cina;if(a[0]){int x;cinx;mp[x];if(mp[x]%40) sum4;if(mp[x]%20) sum2;}else{int x;cinx;if(mp[x]%40) sum4--;if(mp[x]%20) sum2--;mp[x]--;}if(sum41sum24) coutYES\n;else coutNO\n;}
}
signed main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);solve();return 0;
} 最后 闯关系列旨在养成刷题的习惯所以对代码的解释并不会特别详细但足够引导大家写出来选的题目都不会特别难但也不是特别简单比较考验大家的基础和应用能力我希望能够将这个系列一直写下去也希望大家能够和我一起坚持每天写代码。 之后每个星期都会不定期更新codeforces和atcoder上的题目想要学习算法的友友们千万别错过了有什么疑问欢迎大家在评论区留言或者私信博主 在这里送大家一句话广积粮缓称王