原比赛链接复盘:ABC签到,手速太慢了。D捣鼓了好久才想起来从更小的值域出发去做。E简单二分答案。然后就time out了。D题搞错方向浪费太久时间了。F思维题,考虑到初值、字符集,然后是$\text{rearranged}$的,情况就很简单。G简单位性质,拐一个弯就能想到了。 题解D.Coprime题意简述给定正整数数组$a$,长度$2e5$,值域$1\le a_i \le 1000$
转载
2024-09-05 19:01:28
105阅读
E 给n个点,每个点的关联点位置为i-a[i],i+a[i];要检查位置是否在范围内,关联一次花费为1,找出每个点关联到与他的值的奇偶性相反的点的最小花费。最初思路:第一感觉是dfs,但是要找最小花费,也就是最小路径,仔细观察发现,每个点的关联点是固定的,并且存在无法被关联的点,而且要想奇偶性相反,一定需要通过一个变点,就是改变奇偶性的点,并且一个点要想达成目标,只需要在找的过程中通过一个变点就够
转载
2024-09-14 22:09:30
217阅读
题目链接:https://codeforces.com/problemset/problem/1439/B解题思路:很容易想到和拓扑排序类似的思路,删点判断答案。关键在于如何判断度数为k-1的完全图,这个地方只需要再每次删点之前判断一下就好了//#define LOCAL
#include <bits/stdc++.h>
using namespace std;
#define ll
转载
2024-04-03 08:27:04
453阅读
Problem - A - CodeforcesYou are given nn integers a1,a2,…,an. Find the maximum value of max(al,al+1,…,ar)⋅min(al,al+1,…,ar)over all pairs (l,r)of integers for which 1≤l&l
转载
2024-06-30 10:55:02
60阅读
A、题意:一个士兵要买香蕉,第1个香蕉价格是k,第二个香蕉价格是2k,以此类推,现在士兵有钱n要买w个香蕉,问他需要像朋友借多少钱才能买到香蕉解:ans=max((1+w)*w/2*k-n, 0);1 /*
2 * Problem:
3 * Author: SHJWUDP
4 * Created Time: 2015/6/24 星期三 13:24:16
5 * File N
转载
2024-05-15 12:51:24
217阅读
目录前言插件名称如何下载如何使用登录方法如何比赛和提交自测提交排名如何更好地使用模板的更改方法一 修改template.cpp文件方法二 设置默认模板文件光标的定位注意事项演示 前言插件虽是五星好评,但下载量目前仍不是很高。 很多小伙伴使用插件出现了BUG,故此文仅供参考,感兴趣的小朋友可以尝试尝试,具体选择还应根据自己的比赛习惯。插件名称Codeforces Bot如何下载直接在vscode中
转载
2024-02-23 20:56:52
258阅读
883D题面题目大意:给你一个长度为n的字符串,上面有牛(“P”),草(“*”)和空地(“.”)。现在你给每一头牛规定一个方向,它会一直往前吃草,直到走到边界。每一份草只会被吃1次,要求输出最多吃多少草,以及在此基础下吃完最后一份草的最小时间。n<=1000000。做法:很明显两头牛就可以吃完所有草,于是暴力处理0,1头牛的情况。然后由于具有单调性,考虑二分答案后贪心(时限3s不虚)。接下来
转载
2024-08-06 20:56:16
116阅读
A - Split it!检查 \(k=0\) 或者长 \(k\) 的前缀和长 \(k\) 的后缀的反串是否相同。注意如果 \(2k=n\) 要特判。复杂度 \(O(n+k)\)。B - Max and Mex模拟一下过程就会发现:要么 \(\max\) 和 \(\operatorname{max}\) 永远不会变,要么就会一直加 \(1\)。所以答案只有可能是 \(n,n+1,n+k\) 中的一
转载
2021-03-11 08:31:03
313阅读
2评论
一、解题思路1.A. Technical Support——1754A题目分析:题目给定了一串字符串,字符串包含了两种字符一个为‘Q’表示问题,另一个字符'A'表示回答问题,题目要求输出是否对于每个问题,都做出了解答,若是输出YES,否则输出NO。注意:对于一个问题可以有多个回答,一个问题可以被延后回答。思路:遍历字符串统计问题和回答是否匹配,若当前字符为‘Q’则统计次数加一,代表需要回答的问题加
div3复健现场。
A直接倒推回去即可,左边右边依次向中间扫,依次扫到的就是原序列。Code用时:3minB看最前面能连"2020"的前面多少,最后面能连"2020"的后边多少,如果相加大于4即为答案。Code用时:4minC最优操作为从9到1依次使用。模拟即可。Code用时:3minD答案实际上是求划分成若干段,这些段的和都一一相等,且分段最多。那么他
转载
2024-03-12 16:52:27
109阅读
比赛链接:http://codeforces.com/contest/854A. Fraction解法:按照题意模拟即可。#include <bits/stdc++.h>using namespace std;int main(){ int n; cin >> n; for(int i=n/2; i>=1; i--){ if(__gcd
原创
2022-04-19 10:20:25
32阅读
A题 关注到本题的数据量不大但是数据很大,可以使用暴力+哈希的方法 将关闭的餐厅放到map遍历 #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<cmath> #include<map> #
转载
2020-01-20 11:42:00
91阅读
A题 只需要找到A中后面跟的最长的p串是几个即可 #include<iostream> #include<cstring> #include<string> #include<map> #include<vector> #include<cstdio> using namespace std; in
转载
2020-01-12 21:28:00
90阅读
Codeforces 题解
转载
2021-03-10 14:52:00
106阅读
2评论
A题 对于两个分别求解到每一位的时间,看看是否有相等的 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> pll; const int N=2e5+10; const in
转载
2021-03-18 10:46:00
91阅读
2评论
A题 先除再计算即可 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> pll; typedef pair<int,int> plll; const int N=3e5+1
转载
2020-12-25 22:16:00
110阅读
2评论
A题 枚举每一位,如果是偶数就加上i #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> pll; const int N=2e5+10; int main(){ ios::
转载
2020-12-24 19:13:00
49阅读
2评论
A题 循环构造bac即可,因为题目是小于等于,我看成了等于所以构造的复杂了点 #include<bits/stdc++.h> using namespace std; const int N=1e5+10; int main(){ ios::sync_with_stdio(false); int t
转载
2021-01-19 10:50:00
70阅读
2评论
A题 排序输出答案即可 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> pll; const int N=4e5+10; const int inf=1e9; int a
转载
2020-12-22 18:47:00
59阅读
2评论
A题 通过平移线段可以发现其实就是缺少的那一块的大小 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> pll; const int N=5e5+10; int main(
转载
2020-12-21 22:21:00
64阅读
2评论