思路 注意重复字符串可以重叠!!!比如 \(aba\) 重复两次就可以是 \(ababa\) 。 代码 #include <iostream> #include <cstdio> #include <cstring> using namespace std; const int N = 1000010; int test_case = 1; int n; string s; int ne[N]; int main () { while (cin >>
A. 2-3 Moves 题意:从0,每次 +2 -2 +3 - 3选一个,问多少次能到 n 由于对称性,先让 n = abs(n) 0只用0次,1只用1次 t = n / 3; 如果n % 3 == 1 ,说明t - 1 次 + 3 ,再来一次 +2 ,就可以了 如果 n % 3 == 0,说明t 次 +3 就可以了 如果n % 3 == 2,说明 t 次 +3 ,一次+2就可以额 void solve()
比赛链接: https://atcoder.jp/contests/abc266 C - Convex Quadrilateral 题意: 平面图上有一个四边形,按照逆时针顺序给定四个点的坐标,判断四边形是不是凸的。 思路: 求两条临边的向量积是不是 > 0 即可。 代码: #include <bits/stdc++.h> using namespace std; int main(){ ios::sy
https://ac.nowcoder.com/acm/contest/39100 A-阿宁的柠檬 题目描述 阿宁喜欢吃柠檬。已知每个柠檬酸度可能是 1到 a,甜度可能是 0 到 b。 现在阿宁有 n 个柠檬,她要全部吃掉,会获得一定的快乐值。快乐值为每个柠檬的酸度和甜度总和。 阿宁最小的快乐值和最大的快乐值可能是多少?
https://codeforces.ml/contest/1721/problem/C 从n往前走 因为对于ai 他的最大值就是他对应下面的b数组 当一个数ai的最小值和最大值都只能取这个数的时候 那么后续的数也一定不能匹配这个数 所以弄个指针j在b数组 ai只能在bi里面通过二分找最小值 然后 到达bj这个点 void solve(
比赛链接: https://codeforces.com/contest/1721 D. Maximum AND 题意: 给定两个序列 \(a\) 和 \(b\),可以调整 \(b\) 中元素的位置,得到序列 \(c\),满足 \(c_i = a_i\) xor \(b_i\),问 \(c_1 \& c_2 \& ... \& c_n\) 最大是多少。 思路: 要让某一位上是 1,那么就要使得序列 \(c\) 中每一
A. Traveling Salesman Problem 题意:空间中 在坐标轴上给几个点,问最后,从原点出发经过所有点,再返回原点所经过的最远距离 分析: 找到 最大的 x ,最小的 x ,最大的 y ,最小的 y ,然后根据 曼哈顿距离,计算一个大正方形的边长就可以了 为什么不能先把所有点初始化成无穷大? 因为如果只有一个
C题应该是最好的一道题 A 阿宁的柠檬 分析: 酸度是[1,a] 甜度是[0,b]总共有n个柠檬,问最小快乐值和最大快乐值 最小就是 n 最大就是 n * (a + b) void solve() { cin>>a>>b>>n; cout<<1ll * 1 * n + 1ll * 0 * n<<' '<<a * n + b * n<<endl; } B 阿宁与猫
Pandaemonium Asphodelos: The First Circle (Savage)(数据结构) Problem 有一行长度为\(n\)个格子,一开始每个格子的颜色都是\(0\),并且权值都也是\(0\),现在有\(q\)次操作,每次操作有\(4\)种类型 1 x c:把与第\(x\)格子和距离最近第\(x\)格子最近的\(2c\)个格子染上一种新的颜色 2 x
2A,C题wa2不知道为什么。B题少判一个条件:左上角 A : 题意有点不懂,到最后才知道是有多少种数,就输出这个种数-1即可 int n,m; void solve() { // cin>>n>>m; char s[4]; cin>>s[0]>>s[1]>>s[2]>>s[3]; set<int> q; fo(i,0,3) { q.insert(s[i]);
AtCoder Beginner Contest 266 https://atcoder.jp/contests/abc266 EF 待补 A - Middle Letter 输出字符串最中间的那个字母 #include <bits/stdc++.h> using namespace std; int main () { string s; cin >> s; cout << s[(s.size()+1)/2-1]; } B - Modul
A:洞穴 不是很懂,但是跑了一遍kruskal就过了 //-------------------------代码---------------------------- //#define int ll const int N = 200; int n,m; int dist[N][N]; struct node { int a,b,w; bool operator<(const node & x) const { return w < x.w
2A,来晚 + 中间有事,第三题没写,但是写第三题的时候也感觉犯迷糊,读懂题意就好了 A AcWing 4606. 奇偶判断 题意:判断末位是偶数还是奇数 跳过 B AcWing 4607. 字母补全 题意:一段包含问号的字符序列,可以将问号改为任何字符,使一段长度为26的区间包括['A','Z']之间的所有字符 挨个遍历
前言 题目传送门! 更好的阅读体验? 赛时锁题后看别人代码,怎么都和我想法不一样?幸好没有被 hack。 思路 以下把 L 字形的覆盖网格,直接称为 L。 贪心思考,我们想让每次 L 覆盖的 \(1\) 的数量少一些。 手玩一遍样例,我们发现:第一次 L 可能会覆盖多几个 \(1\),之后每次必定可以只覆盖一个
牛客小白月赛56 A-F https://ac.nowcoder.com/acm/contest/39100 一场简单的比赛就足以验证我是多么的弱智。。。 A- 阿宁的柠檬 求最大最小,签到。 注意会爆 \(int\) #include <bits/stdc++.h> #define int long long using namespace std; signed main () { int a, b, n;
A:一组长度为n 的排列,问交换多少次,能让前m个数变成[1,m]中的数 输出前 m 个数中有多少个比 m 大的就可以了 //-------------------------代码---------------------------- //#define int ll const int N = 1e5+10; int n,m; void solve() { cin>>n>>m; int ans = 0;
AtCoder Beginner Contest 265 https://atcoder.jp/contests/abc265 A - Apple 有两种购买策略:\(x\) 元买一个苹果 or \(y\) 元买三个苹果,问买 \(n\) 个苹果最少要花多少钱 #include <bits/stdc++.h> using namespace std; int main () { int x, y, n; cin >> x >> y >
比赛链接: https://ac.nowcoder.com/acm/contest/33195 F.Shannon Switching Game? 题意: 给定一个无向图,初始有一张纸牌在点 \(s\),两个玩家 \(Join Player\) 和 \(Cut Palyer\) 轮流行动,\(Cut Palyer\) 先动。 \(Cut Palyer\) 每次可以移除一条和纸牌所在点相邻的边,\(Join Player\)
前言 题目传送门! 更好的阅读体验? 这是一道简单的字符串练手题。 思路 每次暴力计数,是否为元音。最后判断是否满足题意即可。 重点是字符串读入问题。 由于字符串读入部分含有空格,因此使用 getline(cin, str) 读入,其中 \(\texttt{str}\) 是字符串。 我们把 getline(cin, s) 称为整
广搜,挨个遍历,记录起点和终点,下一个的起点等于终点+1 #include<bits/stdc++.h>using namespace std;int xx[4]={0,0,1,-1},yy[4]={1,-1,0,0};int kt,s=0,kts,ktts;char c;int i,j,n,a[1200][1200],x1,x2,y2,ktt,x[1100000],y[1100000];int main(){ cin>>n; for(i=1;i<=n;i++){ for
Codeforces Round #772 (Div. 2) VP A B C 3min 12min 52min +4 排名:rk3893 基准分:\(\color{ForestGreen}{1362}\) 从天选到天崩 A \(\color{Gray}{800}\) CF1635A Min Or Sum 简要分析可知,其实答案就是对于所有数取或运算和(具体懒得管) 时间复杂度:\(O(n)\) int
链接:https://ac.nowcoder.com/acm/problem/204871 来源:牛客网 题目描述 已知有 nnn 个节点,有 n−1n-1n−1 条边,形成一个树的结构。 给定一个根节点 kkk,每个节点都有一个权值,节点i的权值为 viv_ivi。 给 mmm 个操作,操作有两种类型: 1
https://codeforces.ml/contest/1720 A:思维 fst了。。分数,分子分母改变多少次,变一样 题意:给a / b,c / d两个分数,问分子父母各乘多少次可以得到相同的数 思路很简单,将所有数的分母变成一样,比较分子就可以了 特判:if(a == 0&& c == 0) {cout<<0<<endl;rt;} else if(a == 0 || c == 0)
零、写在前面 比赛地址 本人比较菜,在这场接近提高组的模拟赛中获得了 \(30 + 100 + 30 + 50 = 210\) 的 烂 分 事实上只要把暴力打足成绩一般就不会差 但后来本人在 ZYF 神犇的指导下侥幸 AK 了 言归正传,接下来就是本场比赛的解题思路了 坐稳扶好 壹、碑文 这是本场比赛最难
//常规时间复杂度为 n*m // #include<bits/stdc++.h> // using namespace std; // int main() { // int n, m; // cin >> n >> m; // vector nums; // for (int i = 0; i < n; i++) { // int temp; // cin >> temp; //