Codeforces

Codeforces Round 864 (Div. 2) E. Li Hua and Array

Codeforces Round 864 (Div. 2E. Li Hua and Array)(暴力修改线段树+lca和数论的结合) Example input 5 4 8 1 6 3 7 2 1 5 2 3 4 1 1 3 2 3 4 output 10 2 1 Solution 首先你得知道什 ......
Codeforces Array Round 864 Div

Codeforces Round 865 (Div. 2)

Codeforces Round 865 (Div. 2) A. Ian Visits Mary void solve(){ int x=read(),y=read(); if(__gcd(y,x)!=1){ cout<<2<<endl; cout<<1<<" "<<y-1<<endl; cout< ......
Codeforces Round 865 Div

Codeforces Round 863 (Div. 3)

题解报告 基本的一些理解和问题都在注释中 A:Insert Digit 找到第一个小于输入数字的数的位置塞进去就好了,可以细推,但是粗略想想也能知道 #include <bits/stdc++.h> using namespace std; int main(void) { ios::sync_wi ......
Codeforces Round 863 Div

Codeforces Round 864 (Div. 2) C和D

比赛地址 C. Li Hua and Chess 题意:给出一个棋盘长宽n,m,有一颗棋子在棋盘上,向八个方向走一步的路程代价都为1,现在进行最多3次询问,问能否确认棋子的位置 Solution 第一次做交互题,想很好想,先询问(1,1),得到x,再询问(1+x,1+x),得到y,最后询问(1+x, ......
Codeforces Round 864 Div

Codeforces Round 860 (Div. 2)

Codeforces Round 860 (Div. 2) Date: 04/08/2023 Link: Codeforces Round 860 (Div. 2) A|Showstopper Brief: 两组数 ${a_i}$ 和 ${b_i}$,长度都为 $n$. $\forall i$ , ......
Codeforces Round 860 Div

Codeforces Round 864 (Div. 2)

评价:A~E 感觉出的挺一般,~~特别是 D 怎么放这种暴力题,场上我还没调出来~~,F 没看。但是 Orz rui_er。 A 在一个点周围放障碍即可。 B 求出最少需要的操作次数 $p$,若 $p > k$ 就无解,否则若 $n$ 为偶数只能任选一个格子翻偶数次,即有解当且仅当 $2 \mid ......
Codeforces Round 864 Div

Codeforces 847 Div3 题解A-G

Codeforces 847 Div3 题解A-G 好久不打了,这几周忙着写各种作业,然后发现代码力跟不上了。今天复健一下吧。反正也是比较碎片的时间,马上新的作业就会被布置下来,n久没打了就来看下。所以这次先捡div3复键一下,之后暑假等实习了到时候得认真上上div2,不然秋招g咯。 A. Poly ......
题解 Codeforces Div3 847 A-G

Codeforces Round 864 (Div. 2)

Codeforces Round 864 (Div. 2) 赛前就留了3个cpp,结果就做出来3个。 不得不说lihua确实呃呃。 A 题面的描述方法以及给出的样例好有迷惑性啊, 其实答案根本不会超过4,把某一个格子周边全部围起来就行了。也就是下面最后2个花括号里面的内容。 int main() { ......
Codeforces Round 864 Div

Codeforces Round 864 (Div. 2) 中文题解

Codeforces Round 864 (Div. 2) 中文题解 A. 李华与迷宫 在 $(x_1,y_1)$ 或 $(x_2,y_2)$ 周围放障碍,更优的那个就是答案。换句话说,定义: $$ f(x,y)= \begin{cases} 2,&(x,y)\text{在角上}\ 3,&(x,y) ......
题解 Codeforces Round 864 Div

Codeforces Round 864 (Div. 2) 中文题面

Codeforces Round 864 (Div. 2) 中文题面 A. 李华与迷宫 有一个大小为 $n\times m$ 的矩形迷宫。称两个格子相邻,当且仅当它们有一条公共边。定义一条路径为若干相邻空格子的序列。 每个格子初始为空。李华可以在若干个格子中放置障碍物。他希望知道最少需要放置多少个障 ......
Codeforces Round 864 Div

Edu Round 板刷计划 4. Educational Codeforces Round 4 题解

Change Log: 2023.04.06 开坑. A - The Text Splitting 弱智题. 枚举分出来多少个长度为 $p$ 的串,则能计算出长度为 $q$ 的串有多少个,若合法则直接输出即可. 无解输出 -1. Sample submission. B - HDD is Outda ......
板刷 题解 Round Educational Codeforces

codeforces 1804D Accommodation

https://codeforces.com/problemset/problem/1804/D 解题思路 每个楼层是独立的,考虑怎么解决一层就可以了。 求最大值就是尽量避免1和1合并,也就是尽量在不存在连续1的子序列中进行合并,如果还有需要合并的就只能用1和1合并。求最小值就是尽量合并1和1。由于 ......
Accommodation codeforces 1804D 1804

Educational Codeforces Round 146 (Rated for Div. 2)

A. Coins #include <bits/stdc++.h> using namespace std; #define int long long int read() { int x = 0, f = 1, ch = getchar(); while ((ch < '0' || ch > ' ......
Educational Codeforces Round Rated 146

Codeforces Round 857 (Div. 2) A - Likes

Codeforces Round 857 (Div. 2) A - Likes 题意 有 $n$ 个人给你点赞或取消赞,其中 $x$ 表示 $x$ 号人给你点赞, $-x$ 表示 $x$ 号人给你取消赞。在 $n$ 个单位时间中的每一时刻,都会有一个人进行一次操作。请你安排一种顺序,使得你获得的总点 ......
Codeforces Round Likes 857 Div

Codeforces Round 863 (Div. 3)

Codeforces Round 863 (Div. 3) CF传送门 Solution A. Insert Digit 找到第一个比 $d$ 小的数位,插到它前面即可。 B. Conveyor Belts 关键在于:给出坐标 $(x,y)$,如何确定该点在第几层? 首先把坐标换算成以中心为原点的坐 ......
Codeforces Round 863 Div

Educational Codeforces Round 124 (Rated for Div. 2)

题目链接 C 核心思路 其实还是得根据样例,首先我们先自己分析出来。现根据边地数目来分析。 我们其实不难发现四个端点必须得连上边。 边数为2.那么只有两条竖线。方案数是一种 边数为3,那么就一条竖线还有就是一把叉这里交换位置就是两条了。还有就是平行四边形和一条斜线,也是可以交换位置的。这里就有四种。 ......
Educational Codeforces Round Rated 124

codeforces 1793D Moscow Gorillas

https://codeforces.com/contest/1793/problem/D 解题思路 依次找出 MEX = 1..n+1的序列数量就能得解。 MEX = n+1 只有全序列这一种情况。 MEX = 1时,找出两个序列中1的位置,较小位置左边的元素构成的子序列,较大位置右边的元素构成的 ......
codeforces Gorillas Moscow 1793D 1793

codeforces 1783D Different Arrays

https://codeforces.com/contest/1783/problem/D 解题思路 比较直白的动态规划问题。记 f[i][j] 表示前 i 个元素组成以 j 结尾的序列可能的数量。那么,当第 i+1 个元素加入序列的时候有两种选择:加上第 i 个元素;减去第 i 个元素。 于是可以 ......
codeforces Different Arrays 1783D 1783

Codeforces Round 863 (Div. 3)(4.5)

Codeforces Round 863 (Div. 3) A - Insert Digit 思路:插到第一个小于它的位置前 #include<bits/stdc++.h> using namespace std; typedef pair<int,int>PII; const int N=1e5+ ......
Codeforces Round 863 4.5 Div

Codeforces Round 642 (Div3)

K-periodic Garland 给定一个长度位$n$的$01$串,每次操作可以将$1$变为$0$或者将$0$变为$1$,现在你需要通过操作使得所有$1$之间的距离为$k$,求最少的操作次数,注意全为$0$也算 $1<=n<=1e6,1<=k<=n$ 题解:$dp$ / 贪心 : 最大子段和思想 ......
Codeforces Round Div3 642 Div

Codeforces Round 642 (Div3)

K-periodic Garland 给定一个长度位$n$的$01$串,每次操作可以将$1$变为$0$或者将$0$变为$1$,现在你需要通过操作使得所有$1$之间的距离为$k$,求最少的操作次数,注意全为$0$也算 $1<=n<=1e6,1<=k<=n$ $dp$ / 贪心 : 最大子段和思想 方法 ......
Codeforces Round Div3 642 Div

codeforces 1795E Explosions?

https://codeforces.com/problemset/problem/1795/E 解题思路 问题的核心是要构造有一个先严格递增,然后严格递减的子序列。不在这个序列中的怪物单独击杀。先递增后递减可以看作是两个对称的问题,所以把递增序列的构造考虑清楚就可以了。 假设已经知道将1~i-1构 ......
codeforces Explosions 1795E 1795

codeforces 1796D Maximum Subarray

https://codeforces.com/problemset/problem/1796/D 解题思路 最大子序列问题的变种。记 f[i][j][p] 表示当前i个元素中有j个元素增加x时,以i结尾并且包含p个元素增加x的子序列的最大值。 f[i][j][p] = max(f[i-1][j-1] ......
codeforces Subarray Maximum 1796D 1796

Codeforces Round 862 (Div. 2)

Codeforces Round 862 (Div. 2) 链接 Codeforces Round 862 (Div. 2) A题 #include <iostream> #include <algorithm> #include <cstdio> #include <cstring> #inclu ......
Codeforces Round 862 Div

Codeforces Round 863 (Div. 3)

Codeforces Round 863 (Div. 3) 链接 Codeforces Round 863 (Div. 3) A题 遍历这个字符串,如果要插入的数第一次小于当前的数,就将数插入到这里,如果到最后都没有插入数,插入到最后 #include <iostream> #include <al ......
Codeforces Round 863 Div

Codeforces Round 863 (Div. 3) E题

题目地址 题意:定义数组a包含所有不含数字4的正整数,给出一个n,要求求出数组a中第n个数 Solution 数位dp+二分,求出[1,mid]中不含数字4的正整数个数,不过因为有可能mid包含4,但是由于贡献是一样的,可以直接把4都变成3,最后处理一下即可 int dp[20]; int a[20 ......
Codeforces Round 863 Div

Codeforces Round 863 (Div. 3)

A. Insert Digit 放在第一个比他小的数前面 #include <bits/stdc++.h> using namespace std; void solve() { int n, d; cin >> n >> d; string s; cin >> s; for (char i: s) ......
Codeforces Round 863 Div

Codeforces Round 640 (Div. 4) ABCDEFG

https://codeforces.com/contest/1352 不知道怎么的复制过来的代码容易歪,观看效果可能不大好。 这场古早div4,大题极其友好,除了E卡空间卡到我爆炸,别的都体验感极好。 ###A. Sum of Round Numbers #include<bits/stdc++. ......
Codeforces ABCDEFG Round 640 Div

Codeforces Round 863 (Div. 3) A-C 赛后思路复盘

#A (思维) 思路:观察样例可知数越大放在前面越优。遍历字符串,判断当前位置的数字和要插入的数字的关系,如果要插入的数大于当前数,那么就插入到当前数的前面。string里有一个insert函数,可以把指定字符串插入到指定下标之前。 在原串下标为pos的字符前插入字符串str basic_strin ......
Codeforces 思路 Round 863 A-C

codeforces round 862

A. 和洛谷上的删数思路一致,后者是找峰顶,这个是找谷底 从前到后枚举每一位与要添加的数比大小,如果要添加的数 <= 该位的数,就继续枚举,否则就将这个数添加在其前面 B. 需要移动的步数 = 两个点所在的层数之差的绝对值,只要计算出所在层数就可以 一开始没想明白怎么算这个层数,先把每个点都变换到了 ......
codeforces round 862