自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 Codeforces Round #821 (Div. 2)D2

怎么处理这种问题呢?不难发现:一个位,如果被置反两次以上,是很亏的,因为这是没有意义的(会变成以前已经有过的状态,但是两次在本题中是可以的,因为必须这样来减少代价),若另使用相邻位置反称为操作1,直接置反称为操作2,显然,根据每位不能置反超过两次。我们不可能跨过一位使用操作1。思路:因为没保证X一定大于Y,所以现在多了一种操作:我们发现,对于一段连续区间,从左到右不断的置反相邻的位,则最后也能得到只置反区间左右端点的效果,不妨另len=r-l,若x*len

2022-09-20 20:47:27 270 1

原创 Codeforces Round #821 (Div. 2)A-D1

题意:给定一个N个数的序列a,若两个下标i,j关于K同余,则可以交换ai和aj,可以进行若干次操作,最后取任意连续K个数,使得这K个数的和最大思路:首先把每一个下标对K的膜都记录下来,然后把每一个膜的值对应的最大值交换到一个连续K个数的区间里即可,见代码。

2022-09-20 18:16:21 244

原创 Codeforces Round #819 (Div. 1 + Div. 2) D

思路:首先不难发现,如果没有形成环的话,无论红蓝如何分配,都一定是最小的(根据计算连通块公式得,也有佬通过每连一条边减一个连通块得)。所以只需要保证最后无环即可。具体操作上,因为m最大等于n+2,即如果我们让红色单独先构成一个最小生成树,则剩下的蓝边,在不理想的情况下刚好能构成一个环,怎么消掉这个环呢,我们随便选一个蓝边给他置为红色,然后将这条边的一个端点的所有边全部置为蓝色(因为保证无重边和自环,所以一定不会再形成环),即可。

2022-09-09 23:14:10 263

原创 Educational Codeforces Round 135 (Rated for Div. 2) C

思路:首先,若a,b中存在已经相同的数,则显然直接先给这些数配对删掉就是最优的(对这些),操作此数+0。然后,因为ai

2022-09-09 18:34:00 230

原创 Codeforces Round #819 (Div. 1 + Div. 2) C

思路:不难发现,形似:((()))这样的,只有最外层一对括号能与其它块联通,其内部的括号,无论多少对,都是只能各自为一个连通块,基于这个结论,不难发现只需要统计连续的右括号数,不妨称其为num,则ans=

2022-09-09 18:26:19 156

原创 Codeforces Round #818 (Div. 2)C

接着,我们从随意一个minn的位置,从右往左遍历,对于每一个ai-1,如果它能被改变的话,它最大只能达到ai+1。若bi大于这个数,则NO,反之只需要改过来即可,完全遍历一遍结束。思路:首先,排除a和b一开始就全等和a比b大的特殊情况。我们不妨设b中最小的数为minn,则我们第一步可以把a中所有比minn小的全设为minn。

2022-09-03 10:27:51 429

原创 Educational Codeforces Round 134 (Rated for Div. 2)B-C

思路:显然,若不存在遮挡的话,从左上角到右下角,最短路径是一定的,由于题目产生的遮挡是一块近似菱形的区域,不会产生七拐八拐的回路,所以只要能联通,都一定可以以理论最短的路径到达。所以只需要判断不连通的情况。上文已经说了遮挡区域是一块菱形,所以实际上只需要判断这块菱形区域截断了矩形的那几条边界,显然一共16中情况,自己手模一下就知道是哪些,具体见代码。

2022-09-02 19:28:43 75

原创 Educational Codeforces Round 118 (Rated for Div. 2) C-D

思路:不难发现mex和xi最多只差1,则根据这一点可以得到三种状态,根据三种状态可以列出转移方程,具体见代码。思路:简单二分,另外的看注释。

2022-08-26 11:48:23 212

原创 CF Round 119 C-E

思路:因为1和2的数量最大值不是很多,多了的话可以用3代替,那么枚举1和2的数量然后二分3的数量,贪心+枚举即可。之前写过单独E的题解。

2022-08-26 11:32:44 84

原创 CF Round #815 (Div. 2) D

也就是说当i和j相差过大的时候,a[i]a[j]多大是不起作用的,因为只能影响到后8位,也就是说事实上j只需要往前走400位就可以。则显然有状态转移方程:f[i]=max(f[i],f[j]+1);(类似最长不下降子序列)另f[i]为从开始到第i个中最长的子序列长度。注意到a一定小于200,

2022-08-19 22:26:49 125

原创 CF Round #815 (Div. 2) C

给一个n行m列的只由01组成的矩阵,每次选择一个L形的区域。方向不限,必须包含至少一个1,将此区域内全部置为0,问将整个区域置为0最多需要多少次操作。证明很简单,自己去试一下就知道,如果存在连续0,则一定可以一个一个的消掉1。后续结论都是基于此推出来的。若存在连续的0(只相邻的8个单位格内任意一个还有0),则为num;如果整个矩阵没0,则答案是1的个数(下称为num)-2;若只存在蛋单个零散0,则为num-1;

2022-08-19 21:49:56 153

原创 CF Round #814 (Div. 2) C

可以做一个预处理,记录每一个数,在极限状态下(无限次k)(不包括最大值),最多能胜几次,以及胜场右边界(不难发现一个数如果胜,胜场所有数必为一段连续区间)一个值的胜场数取决于他前面的最大值是多少,以及他后面,直到k次结束,有多少个比他小的在后面。不难发现,虽然理论上无数次,但是除了最大值,其余所有值都是有限次胜场数目。每次操作,将序列前两个比较,较大的放在序列前,较小的放在序列末尾。每次询问输入一个i和k,表示询问ai在k次操作后的胜场数。剩下的实在不怎么好说,看代码。...

2022-08-17 08:00:00 80

原创 CF Round #813 (Div. 2) D

不难发现,相邻的两个d[u,v]一定是最大的,所以实际上只需要考虑相邻的即可,如果相邻的能都换成1e9,则直径可以锁定成1e9。首先不难发现,如果真的要建图,因为是完全图,无论是建图还是遍历图都要n方,所以不难发现这题其实不用真的建图。具体操作用二分答案即可,注意入果a[i]*2...

2022-08-14 23:40:47 181

原创 CF Round #813 (Div. 2) C

从前往后找降序的位置,将降序位置前面的所有数全部置为0,并记录这些数,为了保证不超时,用一个标记(flag)指明上一次抹除抹到乐哪,下一次从这开始即可。给一串长为n的序列a,全为正整数,可以执行一下操作:选择一个数x,让序列中所有等于这个数的位置变为0。问将此序列变为不下降序列最少需要多少次操作。另外听说有可以直接从后往前扫两遍的做法,但是我不知道怎么证明这种办法的正确性,就不说了。...

2022-08-14 22:53:40 160

原创 CF Global Round 21 D

CF Global Round 21 D

2022-08-12 00:11:58 121

原创 CF Global Round 21 C

2022-08-12 00:02:44 114

原创 CF #812 (Div. 2) D

2022-08-11 00:25:00 138

原创 Codeforces Round #812 (Div. 2) C

2022-08-10 23:09:56 294 1

原创 2022牛客寒假算法基础集训营1 H 牛牛看云

关于H,提供一个好像没什么人想的思路因为题目要求的公式是形如:for (int i=1;i<=n;i++) for (int j=i;j<=n;j++)的形式。(不妨叫他公式1)一开始我想到排序+前缀和处理,因为我把这个公式看成了: for (int i=1;i<=n;i++) for (int j=1;j<=n;j++)这样的形式。(不妨叫他公式2)后来想了半天没想到题解里说的枚举1到1000,就回来想是不是能顺.

2022-01-25 13:51:07 1183 6

原创 CF-1620E - Replace the Numbers

题目传送门:Problem - 1620E - Codeforceshttps://codeforces.com/problemset/problem/1620/E题目:You have an array of integers (initially empty).You have to performqqqueries. Each query is of one of two types:"1x"— add the elementxto the end of the array...

2021-12-20 17:23:56 700

原创 Educational Codeforces Round 118 (Rated for Div. 2)/C. Poisoned Dagger

记录自己两个月前打CF以来第一个在时限内过掉的C题(好耶!)简单二分#include<bits/stdc++.h>using namespace std;#define ll long long#define ull unsigned long longull a[105];ull b[105];ull n,h;bool check(ull mid){ ull ans=0; for (int i=1;i<=n;i++){ if (b[i...

2021-12-06 21:29:41 683

原创 QT学习记录:编译错误“no matching function for call toXXX“

QT学习记录:编译错误“no matching function for call toXXX"

2021-12-06 21:20:35 22426 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除