- 博客(22)
- 收藏
- 关注
原创 题解:AT_abc393_c [ABC393C] Make it Simple
给定一个图,问要删除多少条边才能使其变成一个简单图。简单图的定义是没有自环也没有重边的图。
2025-02-22 08:18:31
236
原创 题解:AT_abc393_d [ABC393D] Swap to Gather
给定一串只有0和1的字符串,可以将相邻的两个字符交换,问至少需要多少步才能让所有的1相邻。
2025-02-22 08:16:06
731
原创 【数论】—— 快速幂与扩展欧拉定理
快速幂,即很快的做幂运算,并且在求幂的同时支持取模操作。但这个算法究竟是怎么实现的,我们来探究一下。对于aaammm两数,若gcdam1gcdam1aφm≡1modmaφm≡1modm。其实费马小定理就是欧拉定理的特殊情况,即当mmm为素数时。对于abmodma^b\bmod mabmodm这样一个式子,无论aaa与mmmabmodm≡b≥φmabmodφmφm。
2025-02-17 13:13:09
1814
原创 【数论】 —— 最大公因数与最小公倍数
在两个数的公因数中最大的那个叫做这两个数的最大公因数。我们一般用gcdab\gcd(a,b)gcdab来表示aaabbb两数的最大公因数。接下来,我给大家介绍444种求最大公因数的方法。辗转相除法,又称欧几里得算法,是一种用来求最大公因数的算法。当amodb0a\bmod b=0amodb0时,便可以得到两数的最大公因数,即gcdb。
2025-02-10 16:39:32
1804
原创 【数论】—— 欧拉函数
对于任意正整数nnn,欧拉函数φn\varphi(n)φn表示在不大于nnn的正整数中与nnn互素的数的个数。φ11φ11,即111。φ62φ62,即111555。φ124φ124,即111555777111111。怎样求出一个数的欧拉函数呢?公式呈上:对于任意正整数nnn,若nP1k1×P2k2×⋯×PmkmnP1k1×P2k2×⋯×Pmkm。
2025-02-09 15:10:05
1189
原创 题解:P1005 [NOIP 2007 提高组] 矩阵取数游戏
给定一个n×m的矩阵,可以进行m次取数,每次只能取走每一行的第一个数或最后一个数。设第i次取出的数是b1b2⋯bn,则第i次取数的得分是∑j1nbj×2i。问取完m次后的每次取数得分之和最大是多少?
2025-02-06 12:49:28
1193
原创 题解:P8612 [蓝桥杯 2014 省 AB] 地宫取宝
顾名思义,记忆化搜索的意思便是把搜索到的结果记录下来,下次搜索到时便可以直接将结果返回,可以大大降低时间复杂度。比如说递归求斐波那契,如果不用记忆化,必超时。
2025-01-14 12:39:49
307
原创 题解:P6770 [USACO05MAR] Checking an Alibi 不在场的证明
看了一下,怎么都是最短路啊?这题 bfs 可以轻松水过,蒟蒻就来发一篇 bfs 的题解吧。
2025-01-14 12:38:38
312
原创 题解:P8035 [COCI2015-2016#7] Otpor
本题解主要为还没学物理的 OIer 们提供。做前须知:介绍一下公式:I=URI=\frac{U}{R}I=RU。即电流等于电压与电阻之比。所以,可以得到推导式:R=UIR=\frac{U}{I}R=IU。定义:几个连接起来的电阻所起的作用,可以用一个电阻来代替,这个电阻就是那些电阻的等效电阻。由串联电路中的电流处处相等,各用电器电压之和等于电源电压(等流分压)得:R总=U总I总=U1+U2+⋯+UnI=U1I+U2I+⋯+UnI=R1+R2+⋯+RnR_总=\frac{U_总}{I_总}=\frac{U
2025-01-14 12:37:31
697
原创 题解:P3753 国事访问
对于非最短路上的边,我们可以暴力枚举任意两点间的边,如果它们两个都在从。,分别代表能不能走。你需要求出最短路上的不能走的边以及非最短路上能走的边的和。读完题目后,思路大体就有了:跑一遍最短路,然后统计答案。对于最短路上的边,我们可以在 bfs 时用一个。在 bfs 后,我们便可以用循环来找。否则判断这条边是否需要销毁,若需要,答案加一。,对这种图,我们可以使用 bfs 来求最短路。给你一个无向图,图上的边权变成了。,所以我们便可以使用邻接矩阵存图。
2025-01-14 12:35:31
419
原创 P11446「ALFR Round 3」B Swap & Delete 题解
我们需要判重复的数,考虑进行一次排序。但排序完后,数的下标就不知道了。所以,我们要用一个结构体存储数的值和下标。然后只需要二分找到每个数最后一个出现的位置即可。不难想到,如果有相同的数,则在当相同的数中有两个数分别在数列的两端时所需要的次数最少。所以,我们要尽可能的把数调换到数列的两端。所以,我们只需要找到重复数字中的下标最靠前和最靠后的两个就可以了。则每个数只能一个一个的消,所以直接输出。通过交换和删除两个操作来使数列为空。则需要消除的次数只和。
2025-01-14 12:33:02
722
原创 SP10050 POWTOW - Power Tower City 题解
给定两个数ab。求aaa⋯mod109的值。共有b个a。因为保留后九位数,所以对109取模。
2025-01-14 12:32:05
934
原创 题解:AT_abc385_c [ABC385C] Illuminate Buildings
给你一串数,让你求间隔相等且数值相同的最长子序列。答案即为 dp 数组中的最大值。个数字时,数列间隔为。
2025-01-13 13:53:57
168
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人