Yet Another mod M

CF392C & Yet Another Number Sequence 题解 纪念一下完全凭借自己想出来的的第一道黑题。 阅读详情

题目传送门

引

总结一下, 绝对众数 = 随机化 绝对众数=随机化 绝对众数=随机化 ,虽然这么说有点套路,但还是多这么想想

解法

如果有答案,我们随机一个数 a i a_i ai​ , 那么 a i a_i ai​ 满足 a i = x ( m o d M ) a_i =x \quad(mod \quad M) ai​=x(modM) 的概率大于 50 % 50\% 50% , 所以我们随机 20 20 20 及以上次 a i a_i ai​ ,再随机一个 a j a_j aj​ 也满足条件,那么 M ∣ ( ∣ a i − a j ∣ ) M\quad|\quad(|a_i-a_j|) M∣(∣ai​−aj​∣) ,对 ∣ a i − a j ∣ |a_i-a_j| ∣ai​−aj​∣ 进行质因子分解即可
时间复杂度 O ( T 2 n log ⁡ n ) O(T^2n \log{n}) O(T2nlogn) , T T T 为随机的次数

Code

#include <algorithm>
#include <iostream>
#include <cstring>
#include <cmath>
using namespace std;
const int N=5e3+7;

int n;
int a[N];

int main(){
    srand(10086001);
    scanf("%d",&n);
    for(int i=1;i<=n;i++) {
        scanf("%d",&a[i]);
    }
    for(int _=1;_<=52;_++) {
        int i=(rand()%n)+1;
        for(int j=1;j<=40;j++) {
            int k=(rand()%n)+1;
            int res=abs(a[i]-a[k]);
            for(int t=3;t*t<=res;t++) {
                if(res%t==0) {
                    while(res%t==0) res/=t;
                    int cnt=0;
                    if(t<=2) continue;
                    for(int l=1;l<=n;l++) {
                        if(a[l]%t==a[i]%t) {
                            cnt++;
                            if(cnt*2>n) break;
                        } 
                    }
                    if(cnt*2>n) return printf("%d\n",t),0;
                }
            }
            if(res>2) {
                int cnt=0;
                for(int l=1;l<=n;l++) {
                    if(a[l]%res==a[i]%res) {
                        cnt++;
                        if(cnt*2>n) break;
                    } 
                }
                if(cnt*2>n) return printf("%d\n",res),0;
            } 
        }
    }
    puts("-1");
}
[XXII Open Cup, Grand Prix of Korea M]Yet Another Range Query Problem 然而哞哞梅场上就随切了。 阅读详情

相关推荐

Zemax热分析实战:5分钟搞定双胶合透镜温度漂移优化(附操作数详解)

本文详细解析了使用Zemax进行光学系统热分析的全流程,以双胶合透镜为例,重点阐述了如何通过多重结构编辑器模拟温度变化,并利用关键操作数优化系统以抵抗温度漂移。文章提供了从基础设置到高级优化的实战技巧,帮助工程师快速掌握无热化设计方法,确保系统在宽温范围内保持稳定成像性能。

n4o5p6q7r的博客 397

G - Yet Another mod M

分析:如果存在这样的M,那么随机选取一个数选到众数的概率有1/2,两个就是1/4。设这两个数为x,y,有x%M=y%M。考虑枚举z的质因子看看是否满足条件,外面再枚举随机次数,复杂度为O(T*logA*N),但A在1e9级别,如果你不想使用PollardRho,那么只能根号分解z。理论上复杂度为O(T*sqrt(A)*N),显然会寄,但直觉上随机选取x,y的∑z不会太大,可以先在Custom Test上测一测。题意:有n个互不相同的数,问是否存在一个模数M使得a[i]%M后有一个区间绝对众数。

学的太少啦 231

LVGL多线程编程避坑指南:从音乐播放器项目看UI与后台任务如何安全协作

本文深入探讨LVGL在多线程环境下的安全协作问题,以音乐播放器项目为例,解析UI与后台任务(如mplayer音频播放器)的典型冲突场景。提供全局互斥锁规范、任务队列异步处理等核心策略,并分享mplayer进程集成方案与进度条优化技巧,帮助开发者规避界面卡顿、内存损坏等常见问题。

weixin_42531494的博客 131

[ABC272G] Yet Another mod M

Problem StatementYou are given a sequence $A=(A_1,A_2,\dots,A_N)$ of length $N$ consisting of positive integers, where the elements of $A$ are distinct. You will choose a positive integer $M$ betwee...

mekoszc的博客 147

通信原理期末考试试题及答案

五、(总分12分)设某信道具有均匀的的双边噪声功率谱密度在该信道中传输抑制载波的单边带(上边带)信号,并设调制信号m(t)的频带限制在5K HZ,而载波为100 K HZ,已调信号的功率为10KW。:(1)单边带信号的载频为100kHz,带宽B=5kHz,为使信号顺利通过,理想带通滤波器的中心频率为。8、对最高频率为fH的调制信号m(t)分别进行AM、DSB、SSB调制,相应已调信号的带宽分别为。7、设调制信号为f(t)载波为,则抑制载波双边带调幅信号的时域表达式为,频域表达式为。

qq_67692062的博客 2392

超声波雷达探测车位及信号处理方法

在APA泊车中用到了超声波雷达,第一次接触,总结研究之。

周陽讀書 1229

Yet Another Multiple Problem HDU 4474 BFS

Yet Another Multiple Problem Time Limit: 40000/20000 MS (Java/Others)Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 2004Accepted Submission(s): 482 Problem Description There ...

weixin_30547797的博客 190

Python经典编程习题100例:第32例:相反顺序输出列表

不要自卑,去提升实力 互联网行业谁技术牛谁是爹 如果文章可以带给你能量,那是最好的事!请相信自己 加油o~ 本人初学Python,只为熟悉语法编写,大神请勿理会 点击下面链接 Python经典编程100例习题汇总 题目描述: 按相反的顺序输出列表的值。 解题思路: > 利用reverse函数逆序 代码: arr=['f','g','e','b'] print(arr) arr.reverse() print(arr) ...

优快云 精品推荐 1416

CodeForces - 1342 C. Yet Another Counting Problem 数学+周期规律

CodeForces - 1342 C. Yet Another Counting Problem 题目地址: http://codeforces.com/contest/1342/problem/C 基本题意 我们给出a,b和q次查询,每次查询[l,r]范围内有几个x满足(x mod a) mod b != (x mod b) mod a。 基本思路: 我们观察这个式子,我们能发现lcm(a...

SunsetColors的博客 519

stata 工具变量法【计量经济系列(七)】

stata 工具变量法【计量经济系列(七)】 1. 内生性 2. 工具变量3. 2SLS (二阶段最小二乘法) 4. 弱工具变量5. 工具变量外生性的过度识别检验 6. 豪斯曼检验6.1 传统豪斯曼 6.2 杜宾-吴-豪斯曼检验(DWH)

侯小啾技术博客 2万+

ultralytics.data.utils——utils.py子模块代码详读

ultralytics.data.utils——utils.py子模块代码详读

Together_CZ的博客 1720

UVA 10689 Yet another Number Sequence

#include #include const int N = 2; int MOD; struct Matrix{ int ary[N][N]; void init() { memset(ary, 0, sizeof(ary)); } Matrix() { init(); } }; const Matrix operator*(const Matrix & A, co

test 1407

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

UVa 10689 Yet another Number Sequence

UVa 10689 Yet another Number Sequence Let’s define another number sequence, given by the following function: f(0) = a f(1) = b f(n) = f(n − 1) + f(n − 2), n > 1 When a = 0 and b = 1, this sequence ...

旺崽的博客 2642

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

B. Yet Another Array Partitioning Task

codeforces/contest/1114/problem/B http://codeforces.com/contest/1114/problem/B 题意:给n,m,k(2~2e5),和n个数的a数组,把a数组分成k部分(至少m个数),每部分取m个最大的数,求sum最大,输出每段下标; 思路:找出不需要的n-m*k个数,再把其他数每m个分组; #include&amp;amp;lt;algorithm&amp;amp;g...

newhonor 410

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

UVa 10689 Yet Another Number Sequence

本文探讨了广义斐波那契数列末m位数字的高效计算方法。针对给定初始值a、b和大范围n(1≤n≤10^9),提出使用矩阵快速幂结合模运算的优化算法。通过将递推关系转化为矩阵形式,利用快速幂在O(logn)时间内求解,并对10^m取模得到最后m位数字。示例代码展示了该方法的实现,能有效处理大规模输入。该方法避免了直接计算的性能问题,适用于需要快速获取数列末位数字的场景。

寂静山林 410

Yet another Number Sequence

题意:f0=a,f1=b,fn=f(n-1)+f(n-2),求f(n)%(pow(10,m)); n的数量级是1e9,不论fn的范围也是会超时的,所以显然不能暴力求解,这题我们应采用矩阵快速幂求解,初始矩阵和求斐波那契数列相同,唯一改变的就是f0和f1,因为矩阵快速幂用的是乘法,所以我们每一步都可以取余,不用用高精/大数(亲测大数超时) #include<iostream> #include<cstdio> #include<algorithm> #include<

donnameの博客 267

牛客 Yet Another Bracket Sequence 线段树

题目链接 题意:给定括号序列,让后m次修改,对于每次修改回答括号序列是否合法。 可以先想想暴力怎么搞,从头枚举,记一个cnt,碰到 ( 就 cnt++ ,碰到 ) 就cnt-- ,如果碰到cnt < 0 的情况,或者最后 cnt != 0,即为不合法。 照这个过程,用线段树来模拟一下就行了,发现每次 cnt-- 的时候,意为 ) 抵消掉了 ( ,那么线段树 pushup 的时候,左端区间的 ( 可以和右边区间的 ) 抵消,左端区间的 ) 和右端区间的 ( 都不能被抵消,那么直接加上即可,最后根节点的

DaNIelLAk的博客 433

【开源社区openEuler实践】Codeforces Global Round 27 D.Yet Another Real Number Problem

【代码】Codeforces Global Round 27 D.Yet Another Real Number Problem。

way_back__的博客 415

[AGC058D]Yet Another ABC String

果然agc的题都只会告诉我我有多愚蠢。

StaroForgin的博客 1099

Yet another Number Sequence UVA10689

/*矩阵快速幂*/ #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; //const int mod = 10000; const int maxn = 3...

❂ 237

1342C - Yet Another Counting Problem(暴力枚举)

原题链接 题意:给你两个数a和b,q个询问,每个询问包括两个数l,r,对一个数x,l<=x<=r,x满足((x mod a) mod b)≠((x mod b)mod a),计算每一个询问 解法:我们可以假设x = k1 * a + c,x = k2 * b + d 那么如果((x mod a) mod b)=((x mod b)mod a)成立,c = d,那么x的表达式就可以表示为x = k*lcm(a,b) + e;其中e为max(a,b) - 1 #include<bits/st

weixin_45908221的博客 447

HDU 4474 Yet Another Multiple Problem

bfs。求n的最小倍数,要求其中不包含所给的数字。通过余数来判重。

DotACM 711

C. Yet Another Tournament

C. Yet Another Tournament

zzzyyzz_的博客 873

Yet another Number Sequence 矩阵快速幂

Let’s define another number sequence, given by the following function: f(0) = a f(1) = b f(n) = f(n − 1) + f(n − 2), n > 1 When a = 0 and b = 1, this sequence gives the Fibonacci Sequence. Cha...

aocan6909的博客 187

矩阵快速幂1Yet another Number Sequence R - M斐波那契数列 How Many Calls?

目录 矩阵快速幂和三个题Yet another Number Sequence,R - M斐波那契数列,How Many Calls? 首先什么是快速幂? 矩阵的幂 很经典的问题:斐波那契数列 Yet another Number Sequence R - M斐波那契数列 How Many Calls? 首先什么是快速幂? 一种能够非常高效地计算幂运算的快速幂运算算法——...

xiongyuqing的博客 565
上一篇: No Monotone Triples
下一篇: [NOIP2010 普及组] 三国游戏
PocketSam
博客等级 码龄4年 24粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值