自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Codeforces Round 258 (Div. 2) E. Devu and Flowers 生成函数

两种方案不同当且仅当两种方案中至少有一个花瓶选择花的数量不同。很小可以暴力计算组合数,总的时间复杂度为。项,可以直接枚举,即。

2025-03-09 23:19:41 845

原创 Codecraft-17 and Codeforces Round 391 E. Bash Plays with Functions 积性函数

出现一次但一次有两个。,加一个前缀和数组即可。的质因数的种类,则当。

2025-03-09 23:19:13 624

原创 Educational Codeforces Round 7 F. The Sum of the k-th Powers 多项式、拉格朗日插值

个点带入拉格朗日插值公式中就可以计算出。如果按照这个公式代进去硬算时间复杂度。观察题面可以发现,所求的答案是一个。个连续的点对这个式子进行简化。预处理出来前缀积和后缀积,次多项式,我们只需要找。

2025-03-09 23:18:52 929

原创 2024 China Collegiate Programming Contest (CCPC) Female Onsite G. Increasing Sequence 数位DP

将两个数的二进制数从高位往低位看找第一个不同的位置,如果不同位中,位为1,但该位需固定为0时,记后面的所有位数除去固定位之后可。的二进制数进行数位拆分,从高位往低位考虑,如果该位置固定是。中有多少个数满足二进制表示形式上有一些位置固定是。要非递减,考虑相邻两位使得相邻两位都满足。,进行到最后一位即第0位时,若还没有大于。,满足$x \in [0,k],使得。记录进行到当前位时这个数有多大,若大于。结束程序),如果是非固定位且当前位为。,则答案的该位置要是0,反之为1。,则后面的所有位数除去固定位之后可。

2025-03-09 23:18:15 934

原创 Codeforces Round 305 (Div. 1) C. Mike and Foam 容斥原理、质因数分解

的啤酒已经在架子上,应该从架子上取下它,否则他应该把它放在架子上。每次询问后,输出该架子的分数。他们认为货架的分数是满足。在每个操作中,给一个编号。),表示应从货架上添加或移除的啤酒的编号。行一行包含一个查询。),不同种类的啤酒数量和查询次数。),表示各种啤酒顶部的泡沫量。,只需要关注质因数的种类,又因为。的种类最多有六个,那也就是最多有。考虑添加或移除走某个数之后。个由空格分隔的整数,

2025-03-09 23:18:00 952

原创 Codeforces Round 566 (Div. 2) E. Product Oriented Recurrence 矩阵加速、欧拉降幂

取模(因为要对一个指数整体取模,但是单独对指数部分取模是不对的),通过欧拉降幂公式可知,在矩阵中应对。都是递推方程式,可以用矩阵来加速,但要注意的是在矩阵中取模时,不能直接对。相关,区别就在于指数的不同。

2025-03-09 23:17:34 637

原创 Educational Codeforces Round 27 G.Shortest Path Problem? 线性基、dfs

条边的无向图,一开始你在点 1,且价值为 0,每次你可以选择一个相邻的点,然后走过去,并将价值异或上该边权,如果在点 n,你可以选择结束游戏,求一种方案,使得结束游戏后价值最小。若一个点被多次经过则说明成环了,存下该环的路径异或和,用线性基存。至于要不要有环,只需要贪心一下,要是。首先,这一条链任选即可,因为该图是连通的,若所选的路径。其次,要预处理出所有的环,可直接从1号点开始。,每经过一个点就记录从1号点到当前点的路径。之间有多条路径说明其中形成了环,用路径。,由于它们所处的图是连通的,

2025-03-09 23:17:17 953

原创 Codeforces Round 502 E. The Supersonic Rocket 凸包、kmp

判同构的话,将俩凸包都转化成字符串的形式,将其中一个字符串多复制一份后,用kmp去匹配,判断该串中是否存在另外一个凸包所对应的字符串。平面上给定两个点集,判定两个点集分别形成的凸多边形能否通过旋转、平移重合。题意很明显,先求出凸包再判断两凸包是否同构。

2025-03-09 23:16:52 336

原创 P5789 [TJOI2017] 可乐(数据加强版)矩阵乘法、邻接矩阵

号城市上,这个可乐机器人有三种行为: 停在原地,去下一个相邻的城市,自爆。它每一秒都会随机触发一种行为。现在给出城市图,在第。先根据所给的图建一个初始的矩阵,停在原地看成是走了一条自环,爆炸可以看成指向。输出可乐机器人的行为方案数,答案可能很大,请输出对。秒,可乐机器人的行为方案数是多少?号点要有自环,表示爆炸后只能待在。首先需要知道,用邻接矩阵。

2025-03-09 23:13:41 543

原创 Codeforces Round 973 (Div. 2) F. The Sum of the k-th Powers 数论、暴力

在这题也就最多16个。暴力循环最多16次找到使得。要么保持不变要么会下降,且最少会下降。下降最猛的数放前面,直到没有数使得。,可以对数组任意排序,求。首先在不断加入数的过程中,下降,剩下的所有数的前缀。值将保持为最小的一个。

2025-03-09 23:12:52 1019

原创 Good Bye 2013 F. New Year Tree 倍增、思维

只需要每次加入点都看看这三种情况,取一个最大的即可。首先,树的直径一定是叶子结点到叶子结点。初始有一颗4个顶点的数,计算直径的大小是可以借助。,若添加一个叶子结点。

2025-03-09 23:12:17 793

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

一个由n (1

2024-03-02 01:36:38 456

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

两个人玩游戏,有n (1

2024-03-02 01:16:24 453

原创 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 496 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 392 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 486 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 401 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 400

原创 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 467 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 376 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 405 1

原创 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 1028 1

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

【并查集+搜索】

2024-02-23 23:55:24 499 1

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

【组合数学】

2024-02-23 23:24:38 408 1

空空如也

空空如也

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

TA关注的人

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