题解:采取分治思想解决1对1的匹配组合问题, 可选用双指针法解决 // 双指针:p1 p2 || p1负责前半部分的搜索,p2负责后半, 且让p1的更新与while循环挂钩#include<cstdio>usingnamespacestd;constintN=5e5+10;inta[N],n;longlongintans;intmain(){scanf("%i",&n);for(inti=1;i<=n;i++)scanf(" %i...
这样搞出来是最优解,判断有无解跑一遍 Manacher 即可。时间复杂度:O(n)。// Problem: G - Palindrome Construction // Contest: AtCoder - AtCoder Beginner Contest 349 // Author: Moyou // Copyright (c) 2024 Moyou All rights reserved. // Date: 2024-04-14 16:55:53 #include <algorithm> #...
AtCoder Beginner Contest 360 题解 (abcdeg) 头一次写题解。 A - A Healthy Breakfast r在m前面输出Yes,反之输出No。 统计两个位置比一下就行。 voidsolve(){strings;cin>>s;inta=0,b=0;for(inti=0;i<3;i++)if(s[i]=='R')a=i;elseif(s[i]=='M')b=i;if(a<b)yes;elseno;} B - ...
AtCoder Beginner Contest 240 题解 目录 A - Edge Checker 题目大意: B - Count Distinct Integers 题目大意; C - Jumping Takahashi 题目大意: 分析: D - Strange Balls 题目大意: 分析: E - Ranges on Tree 题目大意: 分析: F - Sum Sum Max...
AtCoder Beginner Contest 216 个人题解 AtCoder Beginner Contest 216 每篇一图 A题 Signed Difficulty 题目大意: 给出一个小数,根据小数部分改写 \(+,-\) 思路解析: 直接判断即可 AC代码: #include<bits/stdc++.h> using namespace std;
AtCoder Beginner Contest 042题解(ABCD) AtCoder Beginner Contest 042题解(ABCD) 传送门 A - Iroha and Haiku (ABC Edition) 签到题,直接判断是否是两个 5 5 5,一个 7 7 7。 #include<bits/stdc++.h> using namespace std;
题意: 给定一个二进制数,求出该二进制数的所有子项。 分析: 相当于每一个1取或者不取,因此我们可以dfs过,当然也有更简洁的做法。 代码: voiddfs(int u,int ans){if(u==-1){S.insert(ans);return;}if(n>>u&1){dfs(u-1,ans*2+1);dfs(u-1,ans*2);}elsedfs(u-1,ans*2);}signedmain(...
官方题解:https://atcoder.jp/contests/abc196/editorial 赛中过题情况 A. Difference Max 题意: , ,求 的最大值。 题解: #include<bits/stdc++.h>//code by cjj490168650usingnamespacestd;inta,b,c,d;intmain(){cin>>a>>b>>c>>d;cout<<b-c;return0;} ...
一开始看很懵比,感觉肯定是思维题,对着样例猜了个结论竟然就过了大数据。。。 思路:奇数只能 * 3,所以只考虑偶数.对于一个偶数,可以分解成2^n * a,显然a为奇数,那么如果这个偶数乘3为2^n * 3a,3a也显然为奇数,所以证得:任意一个偶数无论乘多少次3它能/2的次数仍然为n不变. ...