数学
文章平均质量分 81
lianxuhanshu_
这个作者很懒,什么都没留下…
展开
-
Educational Codeforces Round 163 (Rated for Div. 2)【思维+数学+前缀和】
映射成0,a,b,c,...依次映射成1,2,3,...,我们可以暴力枚举所有偶数长度的区间,不妨设这个区间长度为2L,那么就需要判断每一个a[i]==a[i+L] (i表示这个区间前半部分的下标)是否成立,我们可以通过一个公式来判断是否相等,公式为(ai-aj)*(ai-aj)*ai*aj,只有当这个公式的值为0时俩个位置才可以相等,要使得这个等式为0,那么只需要(ai-aj),ai,aj这三个中的某一个等于0即可,(ai-aj)表示俩个位置字符相同的情况,ai或者aj表示只要某个位置为?原创 2024-03-24 10:29:31 · 329 阅读 · 0 评论 -
Codeforces Round 924 (Div. 2) D. Lonely Mountain Dungeons【枚举+贪心+数学】
假设某一个ci,总对数为C(ci),我们枚举分为i组,对于ci<=i的组可以直接计算,但是对于ci>i的组不好计算,那么首先每一组内平均分配每一个组拥有ci/i个元素,然后还会剩下ci%i个元素,多出来的ci%i个元素平均分配到ci%i组,每一组一个。上面的计算公式中C(ci)表示总对数,C(ci/i)*i表示平均分配给每一组的对数,(ci/i)*(ci%i)表示多出来的ci%i个元素分配在ci%i个组,每个组内原本有(ci/i)个元素形成的对数,所以这一部分也是要减去的。空间复杂度:O(n)。原创 2024-03-22 12:11:58 · 694 阅读 · 0 评论 -
Codeforces Round 925 (Div. 3) G. One-Dimensional Puzzle【推公式+组合数学+隔板法】
四种图形的个数分别是c1,c2,c3,c4,首先只考虑第一种图形和第二种图形,如果abs(c1-c2)>1,那么必然多出一个第一种图形或者第二种图形无法插入链中,这个可以自己画图分析一下,这里不做具体描述,然后就是abs(c1-c2)<=1的情况。对于c1==c2-1或者c1==c2+1俩种情况,对于图形3和图形4都有max(c1,c2)种插入位置,同上分析,首先不妨设c=max(c1,c2),那么这里就是C(c+c3-1,c-1)*C(c+c4-1,c-1)。空间复杂度:O(n),n=2e6。原创 2024-03-19 17:37:54 · 430 阅读 · 0 评论 -
Codeforces Round 932 (Div. 2) D. Exam in MAC【正难则反+容斥原理】
cnt(x+y,y-x)表示x+y和x-y都属于s的所有整数对(x,y),那么不妨设x+y=si,y-x=sj,那么x=(si-sj)/2,y=(si+sj)/2,由于x和y都要求是整数,根据上述俩个式子可以得出,也就是要求si和sj的奇偶性相同即可,假设s中有odd个奇数,有even个偶数,那么这种情况满足要求的整数对数目就是(odd)*(odd+1)/2+even*(even+1)/2。对于这个集合,需要计算出使 0≤x≤y≤c, x+y。包含在集合 s 中的整数对(x,y)的数目。原创 2024-03-16 11:34:58 · 1060 阅读 · 0 评论 -
牛客周赛 Round 35 G.小红的子序列权值和(hard)【组合数+表达式等价转换】
时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K。原创 2024-03-08 16:32:03 · 705 阅读 · 0 评论 -
leetcode 2867. 统计树中的合法路径数目【筛质数+贡献法】
由于我们需要记录某个点出发在不经过质数点的情况最多经过多少个点,我们可以用sz[x]记录从x出发在不经过质数点的情况下最多会经过几个点,类似记忆化的思想,所以枚举每一个质数贡献的时候,如果遇到某个点的sz[y]已经被计算过了,直接拿来用即可,避免重复搜索。- (1, 2) 因为路径 1 到 2 只包含一个质数 2。- (1, 4) 因为路径 1 到 4 只包含一个质数 2。- (1, 2) 因为路径 1 到 2 只包含一个质数 2。- (1, 4) 因为路径 1 到 4 只包含一个质数 2。原创 2024-02-27 11:33:12 · 1259 阅读 · 3 评论 -
洛谷 P1069 [NOIP2009 普及组] 细胞分裂【分解质因数+预处理优化】
首先肯定不能暴力,因为数据非常大,无法用常规整数类型存储,但是可以知道的是m1,m2都是可以用常规数据类型存储的,同时我们知道的是任意一个数都可以分解为若干质因子的乘积,所以我们可以对m1进行质因数分解,就可以得出m1拥有的各种质因子的个数,假设m1拥有质因子2的个数为3,由于这里是m1^m2,所以说总共有质因子2的个数为3*m2,对于每个分解出来的质因子个数都乘以m2,就可以得到m1^m2的各种质因子的个数。第一行,有一个正整数 N,代表细胞种数。NOIP 2009 普及组 第三题。原创 2024-02-24 11:38:22 · 1065 阅读 · 0 评论 -
leetcode 365. 水壶问题【裴蜀定理】
ax+by=gcd(x,y),根据裴蜀定理,这个等式一定存在(a,b)满足这个等式,那么只有当z是gcd(x,y)的倍数时才能凑出z,多少倍就对等式俩边乘以多少即可,这个是不影响等式的成立的。当一个桶的容量是x,另一个桶的容量是y,那么每次的变化量必然是x或者y,那么这个时候就会有一个疑问了,如果我往一个不满的桶里面倒水或者将水倒掉变化量不就不是x或者y了吗,虽然这样看变化量不是x或者y,但是进一步分析你会发现这种操作实际上是没有意义的。当x==0,y==0时,那么此时只能凑出0。有两个水壶,容量分别为。原创 2024-02-15 11:06:29 · 1225 阅读 · 0 评论 -
AtCoder Beginner Contest 340 F.F - S = 1【拓展欧几里得算法+裴蜀定理】
空间复杂度:使用了常数个变量,空间复杂度为O(1),如果考虑严谨一点,exgcd里面每次使用了一个变量记录返回值,那么空间复杂度可以看为O(log(min(x1,y1))。这个题目需要知道裴蜀定理和拓展欧几里得算法,还需要知道一个不太常用的三角形计算面积的公式,裴蜀定理详情见下面链接百度百科。(a,b)=d,那么对于任意的整数x,y,ax+by都一定是d的倍数,特别地,一定存在整数x,y,使ax+by=d成立。时间复杂度:利用到了拓展欧几里得算法时间为O(log(min(x1,y1))。原创 2024-02-14 11:49:05 · 1300 阅读 · 0 评论 -
AtCoder Beginner Contest 340 C - Divide and Divide【打表推公式】
这里,⌊a⌋表示不大于a的最大整数,⌈a⌉表示不小于a的最小整数。时间复杂度:计算n有多少个因子2,时间为O(logn)。可以证明,无论操作的顺序如何,他支付的总金额是不变的。高桥为整个过程总共支付了3+2=5日元,因此打印5。当不能再进行操作时,高桥支付的总金额是多少?黑板上写着一个整数 N。空间复杂度:O(1)。原创 2024-02-13 18:01:40 · 1231 阅读 · 0 评论 -
牛客周赛 Round 31 F.小红的连续段【隔板法+组合数学】
时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K。原创 2024-02-08 10:58:37 · 969 阅读 · 0 评论 -
leetcode 292. Nim 游戏【数学】
假设你们每一步都是最优解。请编写一个函数,来判断你是否可以在给定石头数量为。1. 移除1颗石头。你的朋友移走了3块石头,包括最后一块。2. 移除2个石子。你的朋友移走2块石头,包括最后一块。结论:当n%4==0时,我无法获胜,n%4!=0时,我可以获胜。3.你移走3颗石子。你的朋友移走了最后一块石头。在所有结果中,你的朋友是赢家。你和你的朋友,两个人一起玩。时间复杂度:O(1)空间复杂度:O(1)原创 2024-02-04 09:30:38 · 537 阅读 · 0 评论 -
leetcode 3017. 按距离统计房屋对数目 II【推公式+分类讨论+对称性+差分】
对于 k == 1,满足要求的房屋对有 (1, 2), (2, 1), (2, 3), (3, 2), (2, 4), (4, 2), (3, 4), (4, 3), (4, 5), 以及 (5, 4)。- 对于 k == 2,满足要求的房屋对有 (1, 3), (3, 1), (1, 4), (4, 1), (2, 5), (5, 2), (3, 5), 以及 (5, 3)。- 对于 k == 2,满足要求的房屋对有 (1, 3), (3, 1), (2, 4), 以及 (4, 2)。原创 2024-02-03 14:58:44 · 1020 阅读 · 0 评论 -
浙江机电职业技术学院第八届新生亮相赛(同步赛)D.一种很新的阶乘【线性筛+一分为二法】
时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 262144K,其他语言524288K。原创 2024-01-27 12:16:16 · 635 阅读 · 0 评论