摘要:
一 .数学基础 1.模运算的基本法则与相关定理 1)(a+b)%p=((a%p)+(b%p))%p (a-b)%p=((a%p)-(b%p)+p)%p a*b%p=((a%p)*(b%p))%p (a^b)%p=((a%p)^b)%p (本质就是乘法) 2)费马小定理,欧拉定理,扩展欧拉定理 费马小 阅读全文
摘要:
又差一点点。 A. Alarm Clock 题意:有一个人,他从0时刻开始睡觉,当他累计睡够a分钟时,睡眠结束。他只有在听到闹钟声时才会醒来,第一个闹钟在b时刻。任何时刻,当他醒来后如果发现还没有睡够a分钟,就会将闹钟后调c分钟,然后继续准备睡觉,准备d分钟后正式进入睡眠状态。如果准备阶段闹钟响了, 阅读全文
摘要:
从此世界上又多了一个伤心的人。 A. Orac and LCM 题意:给n(1e5)个数,求他们两两lcm的gcd。 思路:两种思路。 思路一:设p为素数,如果最终答案包含p^k项,那么一定至少有n-1个数字包含p^k,因为此时任取两个数他们的lcm一定包含p^k。而如果只有n-2个数字包含,肯定存 阅读全文
摘要:
A. Road To Zero 题意:给两个数x,y,你可以花费a的代价使得其中一个数+-1,也可以花费b的代价使得两个数都+-1,问最少需要多少代价使得两个数都变成0。 思路:如果xy异号或者其中一个为0,那么一定不会使用b操作,此时只使用a操作。如果xy同号,可以先用b操作使得二者其中一个为0, 阅读全文
摘要:
A. Phoenix and Balance 题意:n堆硬币,n为偶数,分别有2^1,2^2,...,2^n个,将n/2堆划为一组,使得两组的个数差最小。 思路:2^n比其他的加起来还要大。先把他独自成组,为了减小最终的差,与其一组的应该尽可能选较小的,也就是2^1 ~ 2^(n/2-1)。 1 # 阅读全文
摘要:
A. Hilbert's Hotel 题意:给定长为n(2e5)的序列ai,对于所有整数k(-oo ~ +oo),将其变为k+a(k%n),问经过此变化后是否会有两个数字变成同一个数字。 思路:i+kn在进行变化后仍然相差kn,即%n得到的数字相同。不妨以0~n-1这n个数字作为代表,如果得到的数字 阅读全文
摘要:
A. Exercising Walk 题意:给一个矩阵和矩阵内的一个点,以该点为起点在矩阵内上下左右移动,问能否实现上行a步下行b步左行c步右行d步。 思路:左右和上下移动没有本质区别,以上下移动为例。如果矩阵退化为了一条线,并且a,b其中一个不为0,那么一定无法实现。我们不关心ab具体数值而只关心 阅读全文
摘要:
D. Carousel 题意:给一个n(2e5)个点的环,每个点上有一个数字ai,现在要求你再给每个点一个值bi,使得不存在相邻的两个点他们ai不同,bi相同,问bi最少取几个值。 思路:如果所有ai都相同,bi只取一个即可。如果存在ai不同的情况,则至少取两个bi,如果环是偶数长度,那么可以121 阅读全文
摘要:
A. Sum of Odd Integers 题意:给你n,k问n能否表示为k个不同的正奇数之和。 思路:k个奇数和的奇偶性与k相同,所以如果k和n奇偶性不同必然不行。相同时我们可以取最小的几个正奇数1,3,5...2k-1,如果他们之和小于n,我们可以调整2k-1为合适的值来使得他们的和为n,否则 阅读全文
摘要:
A. Optimal Currency Exchange 题意:你有n(1e8)卢布,你要把他们换成欧元或者美元,告诉你汇率,美元面值为1, 2, 5, 10, 20, 50,100,欧元面值为5,10,20,50,100,200。问换完钱最少剩多少卢布。 思路:美元只换面值为1的,欧元只换面值为5 阅读全文
摘要:
A. Bad Ugly Numbers 题意:找一个n位的正数,使得它的每一位都不能整除这个数。 思路:构造2333...这样的序列即可。 1 #include<bits/stdc++.h> 2 #define LL long long 3 #define dl double 4 void rd(i 阅读全文