自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2023ICPC网络预选赛(1)D.Transitivity

第二类:就是给你的无向图已经全部是连通块了,但是题目要求还是要至少加入一条边,那么考虑任意选择两个连通块合成一个就可以,根据贪心的思想,我们肯定要选两个含有点数最小的连通块让他们合成才能使加入的边数最小,所以,我们要记录所有的连通块的点和边数,再sort排序一下,找到两个最小的,看看他们需要加入多少条边就可以了。这题还卡输入输出,真是罪恶。一个点也算是一个连通块啊!意思就是给你一个无向图,把不完全是连通块的补成完全是一个连通块的,然后要是给的都是连通块的,也要至少让两个连通块合成一个连通块。

2023-09-18 20:32:00 331

原创 Codeforces Round 897 (Div. 2)E(E1+E2)交互题

首先仔细读题可以知道,n和k都是偶数,是一个交互题,“?i”是我们对计算机的询问,此时增加一个输入就是计算机对我们询问的回答,最后用“!i”是我们输出总异或值。根据题意可以知道k的范围最大是50。由于n和k都是偶数,那么我们可以k个k个的询问,若k是n的倍数,那么最多可以进行50次查询;若不是,那么会有一个余数x,那么我们该如何对剩下x个数进行求异或呢?de、af和be都是已知的,只需要求出a和 b等于几即可。

2023-09-13 21:24:13 102

原创 Codeforces Round 890 (Div. 2) C (二分)

二分答案确定出一个最大值,然后枚举最大值在位置i的需要的操作次数,假定i位置的最大值是mid,那么i+1最小是mid-1,i+2最小是mid-2,.....直到某个数不需要操作即可,在n处时要特判一下。求最多进行 𝑘次这一运算后所得到的 max(𝑎1,𝑎2,…𝑎𝑛)的最大可能值。给你一个长度为 𝑛的整数数组 𝑎。

2023-08-06 20:29:16 94

原创 ABC312D(DP)

【代码】ABC312D(DP)

2023-07-31 20:41:55 77

原创 string的简单用法

很简单,就像定义整数、浮点数等一样。//若想初始化 可以这么写:string s="abcd";//此时字符串s就等于abcd。此时一个字符串s就诞生了!

2023-07-16 21:42:33 49 1

原创 最大子矩阵和(dp+前缀和)

【代码】最大子矩阵和(dp+前缀和)

2023-07-14 15:18:56 172 1

原创 最大子段和(dp)

这是一道裸子最大子段和的题目,将R和B分别分成两个数组,在r数组中,字符为R是r[i]=1,字符为B时,r[i]=-1,在b数组中相反,分别求最大子段和,比较最大值,输出最合适的区间。给定一个只含有“R”和“B”的字符串序列,求R和B数量相差最大的子序列,如果有多个子序列,列出最左边的满足条件的子序列即可。

2023-07-13 23:52:32 99 1

原创 二分专项练习(二)

给n个人买礼物,只能再至多n-1家店里买,那么必须会在其中一家店里买至少2个礼物,假设ans的最大值是mid,那么我们check函数就要check两点,第一点是是不是有一家店里开心度大于等于mid的礼物至少有两件,第二点就是否所有人都买到礼物了,遍历每家店,用cnt表示这家店的开心度大于等于mid的个数,如果有,就标记f[x]=1,证明第x个人买到合法的礼物了。有 n 个朋友和 m 个商店,每一个商店都有和所有朋友一一对应的 n 个礼物,每一个礼物都有一个对应的价值,因此构成了一个m×n 矩阵。

2023-07-12 22:45:14 52 1

原创 二分专项练习(一)

根据题意我们可以知道,如果a队员的体重小于等于b队员的体重,则b队员背a队员时,其速度不变,若a队员的体重大于b队员的体重,则b队员的速度变为v[b]-(w[a]-w[b])=(v[b]+w[b])-w[a]。这个分界线就是最大速度,这时就需要进行二分,假定最大速度是mid,那么速度大于等于mid的就是要背人的,即(v[b]+w[b]),速度小于mid的就是要被背的,即(-w[a]),将他们分别存到dn和up数组里,dn降序排序,up升序排序,最后两两相加看是否合法即可。遍历层数,等比数列求和,

2023-07-11 00:32:37 56

原创 Codeforces883(Div.3)G(状态压缩+最短路)

有n种症状,m个药品,每种药品可以治疗相应症状(1为可治)同时产生某种副作用(1为产生副作用生成的相应的病),一种药物要服用d天才能消除症状,一次只能服用一种药物,求消除所有症状的最小天数。,把二进制字符串转化成十进制表示,再用。

2023-07-09 21:40:42 166 1

原创 Codeforces883(Div.3) E1+E2

首先按层数遍历,层数最小是三,有题意可知k最小值是2,以2为公比的等比数列的求和公式是(2^x-1)要小于等于1e18,此时这个x代表层数最大值,求得最大层数近似64,所以层数x的范围是3~64。有一个顶点,有k个新顶点与其相连接,可执行无限次以下操作:让最外的每个顶点通过边与k个新顶点相连接(此操作至少做一次),问是否存在k在执行上述操作后,使得顶点总和为n。由题意可知,每个图形最初组成至少有1+i+i*i个顶点,1次操作后,会。增加(i*i)*i个顶点,2次操作后,会。遍历层数,等比数列求和,二分。

2023-07-09 01:23:25 155 1

原创 ABC308E(前后缀和)

一个大小为n的由{0,1,2}组成的数组a和长度为n的由{M,E,X}组成的字符串,求每组满足i<j<k且Si=M,Sj=E,Sk=X的mex(a[i],a[j],a[k])的和。本质是前后缀和,由MEX的构成可知,E处中间,由此联想到将每个E前面的所有M和E后面的所有X在0,1,2三种情况下的个数分别求出来,然后对应求mex,最后求和即可。因此,可用前缀和求出在要求E前面的M(0,1,2三种情况)的个数,用后缀和求出要求E后面的X(0,1,2三种情况)的个数,然后排列组合出所有情况求mex。

2023-07-07 21:45:29 124 2

空空如也

空空如也

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

TA关注的人

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