HDU-5446 Unknown Treasure(中国剩余定理+卢卡斯定理)

SRAM ECC原理与应用:从汉明码到高可靠嵌入式系统设计 在嵌入式系统与高可靠性计算领域,内存数据完整性是系统稳定运行的基石。软错误(Soft Error)由宇宙射线或芯片内部粒子引发,可能导致存储单元发生位翻转,进而引发程序跑飞或数据损坏。为应对这一物理层挑战,错误校验与纠正(ECC)技术应运而生,其核心原理基于扩展汉明码,通过增加校验位实现单错误纠正、双错误检测(SECDED)能力。这项技术通过硬件透明纠错,在提升系统可靠性的同时,几乎不影响访问性能。在汽车电子、工业控制及航空航天等对安全性要求极高的场景中,ECC已成为保障长期稳定运行的关键硬件机制。本文聚焦 阅读详情

题意

输出 Cmn%∏i=1ppiCnm%∏i=1ppi 的值。
1≤n,m≤10181≤n,m≤1018
1≤k≤101≤k≤10
∏i=1ppi≤1018∏i=1ppi≤1018 且 1≤pi≤1051≤pi≤105

思路

LucasLucas 定理与 CRTCRT 结合的模板题,其中分成小质数分别取模合并出大数的模,这种方法值得借鉴。
LucasLucas 定理内容:
对于质数 PP ,有 Cnm≡Cn/Pm/P×Cn%Pm%P(modP) 。
证明:
设 n/P=s,m/P=t,n%P=u,m%P=vn/P=s,m/P=t,n%P=u,m%P=v
则原题化为 Cmn≡Cts×Cvu(modm)Cnm≡Cst×Cuv(modm)
构造二项式 (1+x)n(1+x)n
(1+x)n(1+x)n ①
≡(1+x)sP+u≡(1+x)sP+u
≡((1+x)P)s×(1+x)u≡((1+x)P)s×(1+x)u
≡(1+x)s×(1+x)u≡(1+x)s×(1+x)u (费马小定理)
≡(1+xP)s×(1+x)u②≡(1+xP)s×(1+x)u②(modP)(modP)
而幂为 mm 那一项的系数①项中是 Cnm ,②项中是Cts×CvuCst×Cuv。
两者相等,得证。

代码

#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#define FOR(i,x,y) for(int i=(x);i<=(y);i++)
#define DOR(i,x,y) for(int i=(x);i>=(y);i--)
typedef long long LL;
using namespace std;
LL fac[100003],invfac[100003];

struct CRT
{
    LL A,P;
    LL gcd(LL a,LL b){return b?gcd(b,a%b):a;}
    void exgcd(LL a,LL b,LL &x,LL &y)
    {
        if(!b){x=1,y=0;return;}
        exgcd(b,a%b,y,x);y-=a/b*x;
        return;
    }
    LL Exgcd(LL A,LL B,LL C)
    {
        LL k1,k2,g=gcd(A,B);
        A/=g,B/=g,C/=g;
        exgcd(A,B,k1,k2);
        return (k1*C%B+B)%B;
    }
    void kase_insert(CRT _)
    {
        LL res=Exgcd(P,_.P,_.A-A);
        A+=res*P;
        P=P/gcd(P,_.P)*_.P;
        return;
    }
};

LL Pow(LL a,LL p,LL P)
{
    LL res=1;
    while(p)
    {
        if(p&1)(res*=a)%=P;
        (a*=a)%=P;
        p>>=1;
    }
    return res;
}
void init(LL P)
{
    LL f=1;
    FOR(i,0,P-1)
    {
        fac[i]=f;
        (f*=i+1)%=P;
    }
    invfac[P-1]=Pow(fac[P-1],P-2,P);
    DOR(i,P-2,0)invfac[i]=invfac[i+1]*(i+1)%P;
    return;
}
LL C(LL n,LL m,LL P){return n<m?0:fac[n]*invfac[n-m]%P*invfac[m]%P;}
LL Lucas(LL n,LL m,LL P){return m?Lucas(n/P,m/P,P)*C(n%P,m%P,P)%P:1;}

int main()
{
    int T,k;LL n,m,P;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%lld%lld%d",&n,&m,&k);
        CRT sum;
        FOR(i,1,k)
        {
            scanf("%lld",&P);
            init(P);
            if(i==1)sum=(CRT){Lucas(n,m,P),P};
            else sum.kase_insert((CRT){Lucas(n,m,P),P});
        }
        printf("%lld\n",sum.A);
    }
    return 0;
}
[QMT量化交易小白入门]-十二、QMT回测龙头打首板和连板的策略 class a():passA = a() #创建空的类的实例 用来保存委托状态field_list定义了需要的市场数据字段,而类a用于保存交易状态。 阅读详情

相关推荐

unity打包流程整理-Windows/Mac/Linux平台

1.Platform(平台)功能: 选择目标构建的目标平台选项PC, Mac & Linux Standalone: 适用于 Windows、Mac 和 Linux 平台2.Target Platform(目标平台)功能: 选择具体的操作系统版本选项Windows: 针对 Windows 操作系统Mac: 针对 macOS 操作系统Linux: 针对 Linux 操作系统3.Architecture(架构)功能: 选择应用程序的目标处理器架构选项x86: 针对 32 位系统。

weixin_42333247的博客 5135

hdu 5446 Unknown Treasure Lucas定理+中国剩余定理

Unknown Treasure Time Limit: 1500/1000 MS (Java/Others)Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 2209Accepted Submission(s): 821 Problem Description On the way to the ...

weixin_30681615的博客 173

海康工业相机SDK开发实战:从环境搭建到实时图像采集(附避坑指南)

本文详细介绍了海康工业相机SDK在Windows平台上的开发实战流程,涵盖从环境搭建、运行时库路径配置到实时图像采集的全过程。重点解析了MVS SDK部署、设备连接、参数设置及图像处理等核心环节,并提供了实用的避坑指南和错误排查方法,帮助开发者构建稳定的机器视觉系统。

weixin_29248611的博客 845

hdu5446Unknown Treasure

中国剩余定理的简单运用结合LUCAS定理 另外就是两个数相乘他的结果可能爆long long ,所以要用快速乘法进行计算#include<bits/stdc++.h> using namespace std; typedef long long ll; ll num; ll num1[11]; ll num2[11]; ll fact[100005];void init(ll p){ fa

_zidaoziyan的博客 509

【机器学习】实验2,基于回归分析的大学综合得分预测(完整代码实现+分析)

大学排名是一个非常重要同时也极富挑战性与争议性的问题,一所大学的综合实力涉及科研、师资、学生等方方面面。目前全球有上百家评估机构会评估大学的综合得分进行排序,而这些机构的打分也往往并不一致。在这些评分机构中,世界大学排名中心(Center for World University Rankings,缩写CWUR)以评估教育质量、校友就业、研究成果和引用,而非依赖于调查和大学所提交的数据著称,是非常有影响力的一个。

高丽大学人工智能硕士在读|专注大模型、RAG、OCR与AI工程实践 1973

强化学习——day16 动态规划算法

动态规划(dynamic programming)是程序设计算法中非常重要的内容,能够高效解决一些经典问题,例如背包问题和最短路径规划。动态规划的基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到目标问题的解。动态规划会保存已解决的子问题的答案,在求解目标问题的过程中,需要这些子问题答案时就可以直接利用,避免重复计算。本章介绍如何用动态规划的思想来求解在马尔可夫决策过程中的最优策略

想太多的学习日志 1550

hdu 5446 Unknown Treasure(Lucas定理+中国剩余定理)

题意:求C(n,m)%(∏pi)C(n, m) \% (∏p_i)。pip_i小于10510^5,mm,nn,以及答案都是101810^{18}。解析:先使用LucasLucas定理求出对于每个pip_i,C(n,m)%piC(n, m) \% p_i的值。 再使用中国剩余定理对模数和余数求解即可。证明:令 total=∏pitotal = ∏p_i,X=Cmn%(∏pi)X = C_n^m \%

小G的ACM之路 1512

机器学习入门基础 | 基于python的高光谱图像特征挖掘:PCA + 形态学属性处理可视化实战

本文介绍了一种基于PCA和形态学操作的高光谱图像特征提取方法。通过主成分分析降低数据维度,再运用面积开闭操作增强空间结构特征,有效去除噪声并填补孔洞。实验采用WHU-HI-HanChuan数据集,提供完整的Python实现代码,包括数据加载、PCA降维、形态学处理及结果可视化等步骤。该方法能够显著改善图像质量,为后续分类和变化检测任务提供更好的特征输入。实验结果表明,不同阈值的形态学处理能呈现不同程度的空间结构增强效果,对区域生长、分割和聚类等应用具有重要价值。

lestatlu的博客 1045

hdu 5446(中国剩余+lucas+按位乘)

题意:c( n, m)%M M = P1 * P2 * ......* Pk Lucas定理是用来求 c(n,m) mod p,p为素数的值。得出一个存余数数组,在结合中国剩余定理求值 其中有个地方乘积可能超范围,所以按位乘(数论方面薄弱啊,学习学习)。 #include <iostream> #include <cstdio> #in...

diaocuiguo2493的博客 182

GB 44497-2024《智能网联汽车 自动驾驶数据记录系统》标准解读

GB 44497-2024《智能网联汽车 自动驾驶数据记录系统》针对智能网联汽车的自动驾驶数据记录系统进行了全面规范。标准要求我们记录车辆在自动驾驶模式下的所有关键操作数据,如:1. 车辆状态数据,如速度、加速度、转向角度、制动状态等;2. 环境感知数据,如周围物体的位置、速度、类型等;3. 驾驶决策数据,如路径规划、避障决策、紧急制动指令等;4. 系统状态数据,如软件版本、硬件状态、系统警告信息等。在数据存储方面,标准强调了数据的安全性和可靠性。

daopuyun的博客 2669

ESP32-C3入门教程 环境篇②——Windows开发环境准备

文章目录一、注意事项二、下载ESP-IDF工具安装器三、安装内容四、详细安装步骤报错处理 一、注意事项 请注意 ESP-IDF 和 ESP-IDF 工具的安装路径不能超过 90 个字符,安装路径过长可能会导致构建失败。 Python 或 ESP-IDF 的安装路径中一定不能包含空格或括号。 除非操作系统配置为支持 Unicode UTF-8,否则 Python 或 ESP-IDF 的安装路径中也不能包括特殊字符(非 ASCII 码字符、中文字符) 二、下载ESP-IDF工具安装器 ESP-IDF Win

5242

hdu 5446 Unknown Treasure(lucas+中国剩余定理)

题目链接:hdu 5446 Unknown Treasure lucas+中国剩余定理裸题,注意在中国剩余定理里面,有可能两数相乘爆long long,要用按位乘的方式,但是这样的话exgcd返回值如果是负数就会出错,所以乘之前要取模成正的。 #include #include #include using namespace std; typedef long lon

不慌不忙、不急不躁 2094

Python代码加密与发布方案详解

本文详细介绍了多种Python代码保护方案,从基础加密到高级混淆,以及商业化发布的最佳实践。基础加密方案包括编译为字节码和使用PyArmor基础加密,适合临时保护和小项目。商业级加密方案如Cython编译和Nuitka完整打包,提供更高的保护强度和执行效率。高级混淆方案涉及控制流混淆、字符串加密和完整混淆工具链,进一步增加逆向难度。商业化发布方案则强调许可证系统集成、硬件绑定保护和完整发布流程。此外,文章还探讨了反逆向技术、最佳实践建议和常见问题解决方法。通过组合使用这些技术,可以构建出适合不同安全需求的P

数据知道的博客 1万+

[卢卡斯定理+中国剩余定理] hdu 5446 Unknown Treasure

题意: 给你N,M,K,求C(N,M)对K个素数的乘积取模的结果。 思路: 因为每个素数都不超过10^5,所以我们可以用lucas求出对于每个素数的答案 然后再用中国剩余定理求最后的答案。 这里要注意的就是中国剩余定理中会爆long long 所以需要用快速乘法。 代码: #include #include #include #include #include #include #i

Enmity_Dark 561

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Unknown Treasure ————(hdu5446) 中国剩余定理+卢卡斯定理

On the way to the next secret treasure hiding place, the mathematician discovered a cave unknown to the map. The mathematician entered the cave because it is there. Somewhere deep in the cave, she fou

xiaohang3414的博客 365

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

HDU 5446 Unknown Treasure(中国剩余定理+卢卡斯定理)——2015 ACM/ICPC Asia Regional Changchun Online

传送门On the way to the next secret treasure hiding place, the mathematician discovered a cave unknown to the map. The mathematician entered the cave because it is there. Somewhere deep in the cave, she f

代码改变世界 1111

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【HDU】Unknown Treasure(卢卡斯定理)(中国剩余定理)

http://acm.hdu.edu.cn/showproblem.php?pid=5446 Problem Description On the way to the next secret treasure hiding place, the mathematician discovered a cave unknown to the map. The mathematician ...

Nerdant 388

【刷题记录】 HDU - 5446 Unknown Treasure Lucas定理+中国剩余定理

告诉你n,m和k个互质的素数pi.....pk , 求C(n,m)%(p1*p2*p3*....*pk) (n,m

这里是阿安的博客 507

HDU-5446 Unknown Treasure

题目描述 给出\(n\)和\(m\)以及\(k\)个质数,设\(M\)为$\prod^{k}_{i=1}p_i \(,\)p_i\(互不相同,求\)C(n,m)%M$ Input 第一行一个\(T\)表示数据组数。 对于每组数据第一行\(n\),\(m\),\(k\)。 第二行\(k\)个质数,其互不相同。 \(1≤m≤n≤10^{18}\) \(1≤k≤10\) \(p_i≤10^5\...

130

HDU --- 5446 Unknown Treasure 数论综合【Lucas定理 + 中国剩余定理 + 快速乘 + 思维】

传送门 //题意: 给出n,m,k. 下一行给出k个质数. 求Cmnmod∏piC_n^m mod\prod p_i. //一看n,m的范围都很大, mod的数也很大, 那么肯定不是简单的做法, 首先需要分析题意有 所以X就是我们要求的值, 我们可以发现等式右边我们可以用Lucas算出每一个具体的值, 然后得到了一系列类似于同余方程的方程组, 然后应用中国剩余定理求解出这些方程组就可以得

Anxdada -- 我等风来也等你 600

HDU 5446 Unknown Treasure Lucas+中国剩余定理

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5446 Unknown Treasure 问题描述 On the way to the next secret treasure hiding place, the mathematician discovered a cave unknown to the map. The mathematic...

weixin_30809333的博客 154

[HDU](5446)Unknown Treasure ---- 组合数学(卢卡斯定理)+CRT

On the way to the next secret treasure hiding place, the mathematician discovered a cave unknown to the map. The mathematician entered the cave because it is there. Somewhere deep in the cave, she fou...

WangMeow --- ᶘ ᵒᴥᵒᶅ ฅ^•ﻌ•^ฅ 282

hdu 5446 长春区域赛网络赛1010 Unknown Treasure(lucas定理+中国剩余定理+移位乘法)

题目链接:hdu 5446题目大意:求出Cmn%M,M=p1⋅p2⋯pkC_n^m \%M , M = p_1 \cdot p_2 \cdots p_k题目分析: 首先对于每个质数pip_i我们,我们可以利用Lucas定理求出Cmn%piC_n^m\%p_i的值,Lucas定理如下: Cmn%p=Cm/pn/p⋅Cm%pn%p%pC_n^m\%p = C_{n/p}^{m/p} \cdot C_{n

llin-黎辰 934

HDU 5446 Unknown Treasure (卢卡斯+CRT

代码: 1 #include"bits/stdc++.h" 2 #define db double 3 #define ll long long 4 #define vec vector<ll> 5 #define Mt vector<vec> 6 #define ci(x) scanf("%d",&x) 7 #define c...

weixin_34259159的博客 146

hdu5446 Unknown Treasure(数论综合题:大组合数取大合数模:Lucas+CRT)

Link:http://acm.hdu.edu.cn/showproblem.php?pid=5446 Unknown Treasure Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 1590    Accepted

林下的码路 1030

hdu-5446(中国剩余定理+lucas)

Problem DescriptionOn the way to the next secret treasure hiding place, the mathematician discovered a cave unknown to the map. The mathematician entered the cave because it is there. Somewhere deep i...

wust_cyl的博客 594
上一篇: HDU-3430 Shuffling(中国剩余定理)
下一篇: HDU-5238 Calculator(线段树+中国剩余定理)
Paulliant
博客等级 码龄9年 9粉丝 144原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值