自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Codeforces Round 895 (Div. 3) G. Replace With Product 数学、暴力

一个由n (1

2024-03-02 01:36:38 349

原创 Codeforces Round 912 (Div. 2) E. Geo Game 交互、数学

两个人玩游戏,有n (1

2024-03-02 01:16:24 381

原创 Codeforces Round 915 (Div. 2) D. Cyclic MEX 模拟、单调队列

故而,用一个单调队列存入所有位置的mex值,选择向左循环位移,每次取出队首,再从对尾向前扫,若有mex值大于移除的队首的值则更改其为所移除队首的值,最后再向对位加入mex值n(对尾的mex只会是n)。mex[a1,a2,...,an]的值是单调不减的,比如a1的mex值为p(即p为最小的不等于a1的非负整数),而下一个数a2的mex值即为不等于a1,a2的最小的非负整数,若a2==p,则其mex值将增大,若a2!给定一个长度为 n (1

2024-03-01 12:44:37 365 1

原创 Codeforces Round 921 (Div. 2) D. Good Trip 数学

一个班有n (2<=n<=1e5) 人,其中有m ( 0<=m<=min(1e5,n*(n-1)/2 ) 对好朋友,第i对朋友的友谊值为 f [ i ] (1<=f [ i ]<=1e9 )。组织 k (1<=k<=2e5)次远足,每次选2人,若选中的是一对好朋友则远足结束之后友谊值加1,若不是好朋友友谊值依旧为0。问:k次远足结束之后,总的友谊值的期望是多少。假设有3人,则有3中可能,且其中有一对好朋友并且友谊值为f,则初始时的友谊值期望为 p*0+p*0+p*f= p *首先,每一对选中的概率为p=

2024-02-29 23:53:28 335 1

原创 Codeforces Round 905 (Div. 3) G2. Dances (Hard Version) 双指针、排序

先不管a [ 1 ]是多少。所以先将n-1个a与n个b配对,用b去配a,两个数组从小到大排列,若当前的a [ i ]< b [ j ]则配对成功 i++,j++;两个长度为 n (2

2024-02-29 22:08:29 390 1

原创 Codeforces Round 888 (Div. 3) G. Vlad and the Mountains 并查集

n ( 2<=n<=2*10^5 ) 座山, i 山有高 h [ i ] ( 1<= h [ i ]<= 10^9)。有 m ( 1<=m<=min( n*(n-1)/2,2*10^5 ) 条路,如果 i 山和 j 山之间有路,可以花费 h [ j ] − h [ i ] 个单位的能量从 i 山移动到 j 山。q (1<=q<=2*10^5 )次询问,每次问:最初拥有 e 单位能量的情况下,是否有可能构建一条从 a 山开始到 b 山结束的路线。

2024-02-29 00:14:16 338 1

原创 Codeforces Round 883 (Div. 3) G. Rudolf and CodeVid-23 最短路

有m (1<= m <=10^3)种药,每种药的服药时间为di,上一种药的疗程没进行完时不能使用下一种药。每种药由两个01字符串来表示药效,一个代表能消除的病,一个代表会产生的副作用,两个01串不相交,即如果某种药物缓解了某种症状,那么它就不会出现在副作用中。若不能则输出 −1。考虑连边后状态如何转移,假如当前状态是 10101,吃的药能治好 10001,副作用为 01010,治好能得到00100,相当于10001取反之后和初始状态进行按位与运算,而最终得到的状态即为治愈的结果与副作用进行按位或运算。

2024-02-27 21:51:24 343

原创 Codeforces Round 920 (Div. 3) F. Sum of Progression 根号分治

还有 q 个形式为 s,d,k 的查询。再对sum[ i ] [ j ]求后缀和,用ssum [ i ] [ j ]表示初始为sum [ i ] [ j ],间隔为 j的后缀和,则ssum [ i ] [ j ]=ssum [ i +j ] [ j ]+sum [ i ] [ j ]。当d较小时,观察a [ s ]+ a [ s + d ] * 2 +⋯+ a [ s + d * ( k − 1 )] * k发现,这个式子相当于初始为a[ s ],间隔为d的后缀和,而系数可通过后缀和套后缀和得到。

2024-02-26 22:31:05 386 1

原创 Codeforces Round 922 (Div. 2) E. ace5 and Task Order 交互、分治

有一个 n (1<=n<=2000) 个数的排列 a 和一个数 x,排列 a 和 x 全部未知,每次你可以询问下标为 i 的数a[i] 与 x 的大小关系。故将一个数与其他所有的数比较大小需要2n次询问,加上变为指定数的n次,一共需要3n次询问。可以发现,若一直询问一个数,若该数大于x则x++,若该数小于x则x--,x将不断的逼近该数,直至出现’=‘,x等于该数。再询问一次原来的那个数,x又恢复为原来的值。次的指定相等和分大小,最多可以跑40n次,每次指定相等和分大小需要3n次,n<=2000,

2024-02-26 21:33:41 323 1

原创 Codeforces Round 922 (Div. 2) D. Blocking Elements 二分答案、动态规划、单调队列

用 dp[ i ]表示考虑前 i 个数,并且删除第 i 个数,最大区间和不大于x(二分的值)的最小价值。则有,dp[ i ]=a[ i ]+dp[ j ],j 为上一个删除的数,此时要保证 j+1 ~i-1区间内的数之和要小于x,且dp[j] 是满足条件下能转移的最小的dp值,这可用单调队列快速获得。给一个长度为 n (1<= n <=10^5) 的数组 a (1<=ai<=10^9) ,需要删除一些数,使数组被分为若干段,这些段的和的最大值为 x,并且设删除的数的和为 y,则价值为max(x,y)。

2024-02-25 20:53:27 338

原创 Codeforces Round 919 (Div. 2) D - Array Repetition 模拟、二分

0: 答案就是前 i -1次操作中的第 x % num[ i -1]大的数字,若 x % num[ i - 1] == 0 则答案是上一轮的最后一个数,即 last[ i -1];若当前轮是操作 1 得到的,因为进行的是操作1,故 num[ i ]=num[[ i -1]+1, 又因为找的是num 中找第一个大于他的数,故找到的是num[ i ],而答案即为 i-1 轮的最后一个数 last[ i-1] ,并且此时 x%num[ i -1]==0 (x正好等于num[i-1])。

2024-02-25 02:42:39 921

原创 Codeforces Round 923 (Div. 3) F. Microcycle 并查集、搜索

【并查集+搜索】

2024-02-23 23:55:24 385

原创 Codeforces Round 925 (Div. 3) G. One-Dimensional Puzzle 组合数学

【组合数学】

2024-02-23 23:24:38 350

空空如也

空空如也

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

TA关注的人

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