自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二分图相关

【代码】二分图相关。

2025-03-24 22:03:13 162

原创 Remove Exactly Two

枚举第一个节点,将与之相邻的节点的度数进行-1处理,然后从剩下的节点中选出度数最大节点。取计算结果的最大值。找剩下节点中度数最大值可以用multiset实现与维护。可见,节点i的选取,对d[j]的贡献产生了影响,可见,直接的贪心做法可能不大好写。设d[i]为节点i的度数,记删除的两个节点为i,j,则图的连通分量为。·.d[i]+d[j]-1,如果i,j不相邻。·d[i]+d[j]-2,如果i,j相邻。注意到被删除的节点就2个,考虑暴力。

2025-03-17 17:04:34 161

原创 Maximize Rating

【代码】【无标题】

2025-03-15 19:34:22 177

原创 E - Min of Restricted Sum

【代码】E - Min of Restricted Sum。

2025-03-10 17:09:02 167

原创 直线(蓝桥21省B)

直接计算b=y1-kx1,b的误差会稍大,因为k本就是带有误差的值,再直接用y1-k*x1误差会更大。技巧性处理:k用deltay/deltax表示,代入上式子,通分一下,使得误差降低在最后的除法计算上。

2025-03-04 11:13:43 301

原创 货物摆放

枚举所有不同的(a,b,c)

2025-03-04 11:01:28 170

原创 Flip Edge(Dij)

【代码】Flip Edge。

2025-03-02 14:52:15 183

原创 日期统计

想了半天,发现在数组中先匹配出2023实际上到数组5、60多位去了,2023的在原数组中的个数非常有限,即前面好多数据无用,仅需要再后40多位去找月和日,可以优化到O(2^30~2^40)。但这么做还是太费时费力了。看了别人的代码后,大彻大悟,终于找到了正解:枚举 2023中的日期,判断数组中是否存在该子序列。暴力枚举数组中长度为8的子序列,然后去判断是否为2023年的某一天。一看复杂度O(2^100),用自己的电脑算估计得算5202年去了。

2025-02-25 11:32:11 369

原创 Divide Interval

1LL<<i,记得加LL避免溢出!

2025-02-23 23:24:36 297

原创 Hidden Weights

每个联通块下,当任意固定其中一个顶点的值时,其他的顶点的值都可以推算出来。跑dfs,bfs都行。对于u->v,w,可以再生成边v->u,-w,整个问题就很好解决了。

2025-02-23 15:21:40 195

原创 9 Divisors

唯一分解定理 #欧拉筛。

2025-02-22 16:06:20 224

原创 Repeated Sequence

该序列以a[1],a[2],a[3]....a[n]为循环节,明显的,问题可转化为:s%sum是否为该序列的某个连续子序列和。枚举a[i]为左端点的所有区间的和。unordered_map,优点:增、删、改、查O(1);在处理a[i]时,每个区间减去a[i]即是a[i+1]的情况。map,优点:有序;缺点:增、删、改、查时间O(logn)。记sum=a[1]+a[2]+a[3]+...+a[n]。这里,在查找s的时候加上要减去的值就可以巧妙地实现了。以a[i+1]为左端点的所有区间再从头求一遍?

2025-02-21 23:27:00 151

原创 Sacta Claus 2

【代码】Sacta Claus 2。

2025-02-21 20:32:42 139

原创 Snaky Walk

否则会导致重复搜索。本来不是很难的一题,调试了亿会会,qwq。进某个点,就需要在vis数组中。标记该节点为已访问状态。

2025-02-20 23:30:39 159

原创 Insert

单点修改,全局查询第k小。

2025-02-20 15:53:56 421

原创 Gravity

【代码】Gravity。

2025-02-19 20:00:49 152

原创 拔河 24蓝桥省b

【代码】拔河 24蓝桥省b。

2025-02-18 21:31:26 158

原创 24蓝桥省赛B-数字接龙

【代码】24蓝桥省赛B-数字接龙。

2025-02-18 17:30:54 1039

原创 Cables ans Servers

【代码】Cables ans Servers。

2025-02-18 14:35:45 175

原创 Prefix LIS Query

【代码】Prefix LIS Query。

2025-02-17 16:21:50 143

原创 GCD of Subset

二者都去统计了数组a中,含因子x的数的个数。对于数量大于等于k的因子x,更新a中所有以x为因子的数的答案。1+1/2+1/3+...+1/n约1e8 (n取1e6)数据大时,桶最好手写(直接写数组),map耗时间。预处理每个数的因子1000ms多了。

2025-02-16 20:30:36 152

原创 石子合并

环形的最优合并方式,一定可以展开成长为n的链来处理。怎样才是最优的合并方式?

2025-02-15 19:58:34 187

原创 火烧赤壁(离散化+差分)

由于原始数据很大,即有些区间可能很长,使得要开的数组空间太大,或者统计时间太长。故离散化是一种压缩处理。下标: -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12。值: 0 1 1 0 1 1 1 2 2 2 2 1 1 0 0。//原始数据(l、r)//离散化:排序+去重。

2025-02-12 16:08:20 143

原创 异或 xor

区间[i,n]某位的1或0的个数可以用前缀和预处理,这样该部分的复杂度就为O(1)了,总复杂度也降为了O(n)。同样的处理方式,代码也基本一样。注意一下标的区别就行了。,在知道[i,n]某位的1、0的个数后,即可算出。1.异或和之和(14届蓝桥省A)3.牛客寒假营4-L。

2025-02-07 21:47:06 214

原创 最长回文子串问题(暴力、中心扩展、dp、二分+字符串hash、manacher)

在中心扩展法中,进行左右扩展的时间复杂度为O(n),而我们如果使用字符串hash+二分判断相等,就可以将扩展的时间复杂度优化到O(logn),从而总体复杂度降低到O(nlog(n))。枚举对称中心的所有位置i,分别讨论以第i个字符为回文串正中心、回文串右半边的第一个字符O(n),向左右进行扩展O(n),取最大值。设f[i][j]表示,字符串s的第i个字符到第j个字符回文状态,值为1则该子串回文,否则不满足回文。枚举所有子串O(n^2),判断是否回文O(n),总体O(n^3)。,j从1往n枚举O(n)。

2025-01-17 16:31:21 422

原创 幂次进近

据题意要求,m只能取到正整数,那么,n^(1/k)结果恰为整时,其值即为答案,否则,答案为该值临近的两个整数中的一个,且需要通过计算选出最佳答案(注意题目“最小的正整数m”)。ans^k可以写快速幂,也可以直接用pow( )来算,因为实际上k的取值不可能太大,最多100+。令n-m^k的绝对值最小,即n-m^k=0,此时m=n^(1/k)。__int128(此类型不能cin、cout),此时用快速幂则运算数类型应使用。参数调成long double。,用函数pow()应将。爆long long。

2025-01-14 23:47:34 246

原创 数学课上的囚徒问题(2)

赛后看到别人那么短的代码直接破防了,才发现思考起来也不是很简单。

2024-12-07 23:57:43 265

原创 Three Strings(codeforces div3-991-E)

f[i][j]可以由任意(x+y=i+j-1)的f[x][y](0<=x<i+j-1,0<=y<i+j-1)转移而来(0<=x<=na,0<=y<=nb),条件。·f[i][j]:用a中的前i个字符,b中的前j个字符,去构成c中的前i+j个字符,最小要修改的次数。是从a或b中那拿一个字符来匹配,与对应串c位置的字符不相同则值+1,相同则直接转移过来。

2024-12-06 13:13:38 195

原创 割点

【代码】割点。

2024-12-05 22:16:44 100

原创 补题记录 1

知道了各情况下的ans算法了,剩下的就是老套路了,求组合数直接拍模版,用线性递推的快一点。关键的地方来了:check()函数的实现。而且,对于问题:数组a中是否存在长度为L的顺子?在这个问题中,随着变量L的增大,答案满足单调性。给定顺子长度L下数组a中实际贡献的顺子中部分的。特别注意k

2024-12-02 11:08:26 145

原创 花盆模型(ABC379-D)

我们假设在最开始时加入一个花盆,并且不去收割,开一个数组h,用来记录下每次查询完后这株植物的高度。维护好这株植物的高度后,对于有加入花盆的第i次查询,记录下序号i,设当下查询次寻为j,将会有 h[j]-h[i] 为第i次询问下种下的植物的当前高度。简单点,暴力地开一个数组记录每个花盆里植物的高度,在查询的过程中一个个去维护其高度,这样的朴素算法的复杂度将是O(n^2)级别的,在2e5的数据下妥妥的超时。朴素算法的低效之出在于第二种查询去维护每株植物的高度,复杂度为O(n),这对于本题要求下是不够快的。

2024-11-28 11:23:22 231

原创 高精度模拟

【代码】高精度模拟。

2024-11-01 17:17:37 144

原创 包子凑数

类似完全背包求方案数,再加上点数论知识,裴蜀定理。

2024-10-20 12:17:20 198

原创 最短?路径(牛客小白102)

【代码】最短?路径(牛客小白102)

2024-10-13 15:59:44 136

原创 限长最大子串和

【代码】限长最大子串和。

2024-10-08 17:33:44 154

原创 D - 88888888

p=998244353,是质数,vn%p只需要求一下分母的逆元即可。分母于p互质,满足飞马小定理,故可以用其求逆元。再用一下这个结论就OK了。

2024-09-12 21:02:32 218

原创 Cross Explosion

线性查找上下左右四个方向看到的第一个的墙的位置复杂度O(n^2),在Q取到2e5的情况下直接爆掉。这里应使用二分查找,对某一行、列进行二分,使用set实现墙的位置存储。prev(it) :返回it的前一个元素迭代器。

2024-09-10 16:38:56 268

原创 P1509 找啊找啊找GF

需要开两个数组f,dp,分别代表给定人品,钱能get到的最多MM数量,确保最多数量下的最少时间花费。将人品,钱作为两个限制维度,将每个MM数量视作1,走背包f,更新f的同时去更新dp。题目要求不单单是求最小时间,还要保证MM数量最多。24/8/30 距离开学只剩2天😣😔😲🙂‍↔️。人才出题人,挺会整活的。

2024-08-30 20:54:25 236

原创 P1516 青蛙的约会(exgcd)

【代码】P1516 青蛙的约会。

2024-08-29 21:07:35 190

原创 卢卡斯定理

【代码】卢卡斯定理。

2024-08-27 16:11:08 226

空空如也

空空如也

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

TA关注的人

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