[toj4111] Binomial efficient

Binomial Queue C语言实现 typedef struct BinNode *Position; typedef struct Collection *BinQueue; typedef struct BinNode *BinTree; #define MaxTrees 500 #define Infinity 32767 struct BinNode{ ElementType element; Position left 阅读详情

求(nk)(mod232)

  • (nk)=n!k!(n−k)!
  • 根据上式,只需要枚举各质数的指数即可。即得到如下形式:
2a1×3a2×5a3…2b1×3b2×5b3⋯×2c1×3c2×5c3…=2a1−b1−c1×3a2−b2−c2×5a3−b3−c3…
  • 先筛出质数,然后枚举各质数,对每个质数,算出各指数即可
/* **********************************************

  File Name: 4111.cpp

  Auther: zhengdongjian@tju.edu.cn

  Created Time: 2015年08月17日 星期一 19时46分13秒

*********************************************** */
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef unsigned int ui;
const ll MOD = 1LL << 32;
const int MAX = 1000007;
bool is_prime[MAX];
int prime[MAX], tot;
int times[MAX];

int get_prime() {
    memset(is_prime, true, sizeof(is_prime));
    for (int i = 2; i <= MAX / i; ++i) {
        for (int j = i * i; j < MAX; j += i) {
            is_prime[j] = false;
        }
    }

    tot = 0;
    for (int i = 2; i < MAX; ++i) {
        if (is_prime[i]) {
            prime[tot++] = i;
        }
    }
    return tot;
}

int gao(int p, int n) {
    //printf("gao %d, %d: ", p, n);
    int sum = 0;
    for (ll i = p; i <= n; i *= p) {
        sum += n / i;
    }
    //printf("%d\n", sum);
    return sum;
}

ui fast_pow(ui a, int n) {
    ui res = 1;
    while (n) {
        if (n & 1) res *= a;
        a *= a;
        n >>= 1;
    }
    return res;
}

int main() {
    ios::sync_with_stdio(false);
    get_prime();
    int T;
    cin >> T;
    while (T--) {
        int n, k;
        cin >> n >> k;
        if (k == 0) {
            cout << 1 << endl;
            continue;
        }
        memset(times, 0, sizeof(times));
        for (int i = 0; prime[i] <= n; ++i) {
            times[i] += gao(prime[i], n);
            times[i] -= gao(prime[i], k);
            times[i] -= gao(prime[i], n - k);
        }
        ui res = 1;
        for (int i = 0; prime[i] <= n; ++i) {
            //printf("pair %d^%d\n", prime[i], times[i]);
            res *= fast_pow(prime[i], times[i]);
            res %= MOD;
        }
        cout << res << endl;
    }
    return 0;
}
【人工智能】【GPU芯片】第一篇 GPU算子——璧韧篇01 GPU作为新兴的高性能计算加速平台,其软件栈设计遵循分层抽象、领域优化、异构融合三大原则。算子类别典型算子名称数学方程式/计算描述应用场景优势劣势标量运算​基础算术运算极低延迟,全流水线吞吐量低于向量指令线性代数核心计算单周期融合乘加,高精度需要特定硬件支持向量运算​图像处理、SIMD并行4倍吞吐提升数据需对齐内存点积计算,神经网络专用硬件加速仅支持固定长度矩阵运算​ A/B: f16 4x4矩阵 C/D: f32 4x4矩阵深度学习训练推理高能效矩阵计算编程模型复杂warp级矩阵运算张量核心编 阅读详情

相关推荐

BINOMIAL(二项式系数。):数组的二项式系数-matlab开发

二项式二项式系数。 如果参数都是非负整数且 0 <= K <= N,则BINOMIAL(N, K) = N!/K!/(NK)!,这是不同集合的数量可以从 N 个不同的对象中选择 K 个对象。 当 N 或 K(或两者)是 ND 矩阵时, BINOMIAL(N, K) 是系数对于每对元素。 如果 N 和 K 是不满足 0 <= K <= N 的整数,或者 N 和 K 是非整数,则使用一般定义,即 二项式(N, K) = GAMMA(N+1) / (GAMMA(K+1) / GAMMA(N-K+1)) 如果 N 是非负整数,则 BINOMIAL(N) = BINOMIAL(N, 0:N) BINOMIAL 仅支持浮点输入参数。

二项分布,binomial(n,k,p)

一、二项分布,递归实现 public static double binomial(int N, int k, double p){ if(N==0 && k==0) return 1.0; if(N < 0 || k < 0) return 0.0; return (1.0 - p) * binomial(N-1, k, p) + p * binomial(N-1, k-1, p

子衿_青青的博客 5355

利用MATLAB 4f光学系统,在Python中进行弗劳恩霍夫衍射和傅里叶面滤波——用镜头模拟光学图像处理。.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

二项分布(Binomial Distribution)

二项分布(Binomial Distribution)

huangjx36的博客 11万+

工业互联网工控安全与工业质检AI大模型建设方案.pptx

工业互联网工控安全与工业质检AI大模型建设方案.pptx

通信行业CentOS 7内核网络栈优化:高并发连接下UDP/TCP性能调优与系统资源管理

内容概要:本文聚焦于CentOS 7系统在通信行业高并发场景下的性能调优实践,重点围绕内核网络栈优化展开,涵盖UDP/TCP缓冲区调整、文件句柄与连接跟踪表扩容、TIME_WAIT状态复用、软中断分布优化及tuned工具的自动化调优。通过具体配置参数和实际案例(如VoIP软交换系统)深入解析各项调优措施的设计原理与实施效果,有效解决高CPS下丢包、连接失败等问题,并展望了向云化、eBPF等动态智能调优方向的发展趋势。; 适合人群:从事通信系统运维、网络开发或Linux系统性能优化的技术人员,具备一定操作系统和网络基础知识,工作经验1年以上的中初级工程师。; 使用场景及目标:①应用于软交换、媒体网关、信令网关等高并发通信设备的系统调优;②解决UDP丢包、conntrack表满、TCP连接队列溢出等典型性能瓶颈;③提升系统在小包高频、低时延要求场景下的稳定性和吞吐能力。; 阅读建议:建议结合实际生产环境或测试平台同步验证文中配置,重点关注参数背后的物理意义(如BDP、softirq、conntrack机制),并配合ss、conntrack、dmesg等命令进行调优前后对比分析,确保安全可控地实施变更。

Binomial Coefficient二项式系数)-- Dynamic Programming(动态规划)

在数学上,二项式系数是二项式定理中各项的系数。以下是关于二项式系数的通常的定义: 1)二项式系数C(n,k)可视为(1+xn)\left ( 1+ x^{n} \right )(1+xn)的多项式展开式中, xnx^{n}xn项的系数。 2)二项式系数C(n,k)还给出了从n个对象中选择k个对象的方式数量。更正式的来说,具有n个元素的集合中包含K个元素的子集的数量。 问题:编写一个只有两个参数n和...

qq_43697503的博客 1681

2024 《计算机网络》实验教学指导书.doc

2024 《计算机网络》实验教学指导书.doc

TOJ 4111 Binomial efficient calculate C(n,k)

For Mod 2^n,you can also use &(2^n-1),it will more faster. M % (2^n) = M & (2^n-1); It's use a way to get all quality factors of N!. The portal:http://acm.tju.edu.cn/toj/showp4111.html #include #

NM的专栏 642

不平衡电网下自抗扰顺序模型预测PWM整流器控制仿真模型(Simulink仿真实现)

内容概要:本文围绕面向城市空中交通的多无人机路径规划问题展开研究,提出了一套融合全局规划、动态避障与局部协同调整的综合路径规划方法。研究内容涵盖基于改进RRT算法与图论的全局路径规划、基于动态风险场和动态窗口法(DWA)的模型预测控制实现动态避障,以及基于分布式协同控制的多无人机局部路径协同策略。通过Matlab平台构建仿真环境,在多种典型城市交通场景下对所提方法进行了系统性验证,结果表明该方法在路径安全性、编队稳定性与任务效率方面表现优异。文章还深入探讨了算法的创新点与未来研究方向,为复杂城市环境下多无人机系统的自主协同提供了理论支撑与技术路径。; 适合人群:具备自动化、控制理论、计算机科学或相关领域基础知识,从事无人机系统、智能交通、路径规划、多智能体协同控制等方向研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①为城市空中交通系统中的多无人机安全、高效飞行提供可靠的路径规划解决方案;②支持在复杂、动态的城市场景中开展无人机自主导航、编队飞行与协同控制的技术研究与仿真验证。; 阅读建议:建议结合提供的Matlab代码进行实践操作,重点关注算法的具体实现细节、参数配置对性能的影响以及不同仿真场景下的实验设计,以深入理解各模块的集成逻辑与实际应用效果。

【模型转换】将.mindir文件转换成.ms文件(Windows篇)

首先需要在MindSpore中训练好并经过评估可用的模型,可以以标准格式(例如onnx, mindir等)导出,得到.mindir模型文件(例如lenet.mindir)。为了将模型部署到自定义应用中,还需要将其转换为更为紧凑和高效的ms格式模型,用于在MindSpore-Lite环境中推理,这可以通过MindSpore Lite提供的模型转换工具converter_lite完成。

qq_42962847的博客 1425

【(阶乘的质因数分解)算组合数】【TOJ4111】【Binomial efficient】

n m p=2^32 用unsigned int 可以避免取模 我写的SB超时 阶乘分解代码 #include #include #include #include #include #include #include #include #include #define oo 0x13131313 using namespace std; const u

学习之路 1866

从零到实战:用QCustomPlot在QT中绘制动态曲线图(含OpenGL加速配置)

本文详细介绍了如何在QT中使用QCustomPlot库绘制动态曲线图,并配置OpenGL加速以提升渲染性能。从环境搭建、动态数据可视化到OpenGL加速配置,手把手教你实现工业级动态曲线监控系统,适用于大数据量实时展示场景。

weixin_29019241的博客 351

TJU4111-Binomial efficient(数论)

对2^32取模-->直接用unsigned long,运算过程中 溢出就等同于对2^32取模,不必再特殊处理。 首先用筛选法打出素数表,然后对n,m,n-m进行质因数分解。 把组合数用底数和指数的形式表达出来,最后用快速幂计算相加即可。 #include #include typedef long long LL; typedef unsigned int uint; using na

GoldMoon 570

1104全部报表版本号-银监会报表

G4B_Ⅲ(a)X1《与非中央交易对手的衍生具交易对手信用风险违约风险计算表(现期风险暴露法)(第一档)》G4B_Ⅲ(b)X1《与非中央交易对手的证券融资交易对手信用风险违约风险计算表(权重法)(第一档)》G4B_Ⅲ(a1)X2《与非中央交易对手的衍生具交易对手信用风险违约风险计算表(标准法)(第二档)》Ⅲ(a)X2《与非中央交易对手的衍生具交易对手信用风险违约风险计算表(现期风险暴露法)(第二档)》Ⅲ(a1)X1《与非中央交易对手的衍生具交易对手信用风险违约风险计算表(标准法)(第一档)》

数字化老司机 6279

Synology-群晖(三)DSM7.0系统Video Station无法播放DTS eac3解决方案

群晖升级DSM7.0后,发现部分DTS eac3解码的视频无法通过Vedio Station 3.0.1-2067进行播放,提示不支持该格式视频,初步判断是无法加载ffmpeg解码导致,网上搜了很多处理办法都没有办法解决,最终在知乎上看到一片文章,按此办法解决了这个问题,目前经过验证,该方案完美支持最新版本Video Station 3.0.1-2067,验证系统为DSM7.0和DSM7.0.1,这里使用的NAS为 Vmware虚拟机 黑群晖 演示。大概步骤如下: 添加这个社群来源 http://p

weixin_45827203的博客 3万+

Binomial Heap

        花一下午写的一个二项堆的C++实现,思想源自Robert Sedgewick 的 Algorithms in C。        首先说下性能。复杂度没什么好说的,merge, push, pop, top, size, empty 都是O(lgn),下面讲一下本机测试的数据。        (host) Pent. dual-core t3200, 2G hz, 2G ram, (OS) linux 2.6.32,(complier) gcc 4.5.2        输入 0~n-1的自

itslmde的专栏 871

Python连接StarRocks全流程实践: SQL文件调用与Pandas混合优化

通过这种分阶段混合计算, 既能发挥StarRocks处理海量数据的性能优势, 又能保留Pandas在内存计算中的灵活性, 实现效率与功能的完美平衡.结合SQL的高效聚合与Pandas的灵活计算, 实现查询和数据处理的深度融合.该库基于SQLAlchemy 2.x开发, 仅支持Python 3.x环境.对大批量数据的写入, 建议进行分块. 分块写入较单条插入速度会有显著提升.这样可以避免python代码的查询与SQL耦合, 支持版本化管理.将DDL, DML分离为独立文件, 例如。: 调整连接复用参数。

t.y.Tang的博客 2780

np.random.binomial()

再看如何实现dropout的时候,发现了这个函数。 这个函数是用来计算一个随机变量X(它满足二项分布),他的取值的结果0-n中的哪一个。二项分布可以理解成n次贝努力试验,以X表示的是事件A发生的概率,X是一个随机变量,他的取值为0,1,,,,n。这里的n表示的是n次贝努力试验,和size是不相关的。size表示的是整个n次贝努力试验进行的次数。 (1)函数原型:numpy.random.bin...

coder 3万+

【Python实战解析】从数据爬取到房价预测:一个完整的数据科学项目流程拆解

本文详细拆解了一个完整的Python数据科学项目流程,从爬取长沙二手房数据到房价预测模型构建。通过实战案例,介绍了数据爬取、清洗、可视化及模型优化的关键技巧,帮助开发者掌握Python在数据分析中的应用,提升程序开发能力。

weixin_30379531的博客 410

库存优化技术提升电商效率

第一部分:库存优化技术基础 第1章:库存优化的基本概念 库存优化是现代电商运营中至关重要的一个环节。简单来说,库存优化指的是通过一系列的策略和技术手段,使得库存管理更加高效、准确,从而降低运营成本,提高销售额。 1.1 库存优化的定义与重要性

AI天才研究院 1247

toj 4111 组合数取模 暴力分解

题目大意:组合数取模,n和m并不算大,p比较大且是合数。 思路:暴力分解+快速幂 注:暴力也是有区别的,分解质因数时可以用以下work函数,写的非常巧妙,摘录自互联网。 1 #include <iostream> 2 #include <cstring> 3 using namespace std; 4 5 typedef long long ...

weixin_30258901的博客 239

YOLOv8剪枝 稀疏训练+slim剪枝测试精度仅掉1.6个点,速度提高10.3fps!

摘要 本文介绍了YOLOv8剪枝方法Slim(Network Slimming),通过L1正则化作用于BN层的缩放因子(γ),自动识别并剪除冗余通道,实现模型轻量化。核心步骤包括:稀疏训练(引入L1正则化)、通道剪枝(按γ阈值裁剪)、微调恢复精度。实验表明,该方法能有效压缩模型大小、减少计算量,且支持通过调整speed_up等超参数控制剪枝强度。移植代码需修改C2F模块以适配剪枝,并配置稀疏训练参数(如reg、sl_epochs)。最终剪枝模型需移除优化器以减小体积,但不支持多卡训练。

FJN110的博客 859

C源码@数据结构与算法->BinomialQueue

/* * fatal.h */ #include #include #define Error(Str) FatalError(Str) #define FatalError(Str) fprintf(stderr, "%s\n", Str), exit(-1) /* * testbin.cpp */ #include #include "binomia

头像是我的偶像的专栏 544

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: Ubuntu & CentOS 禁止终端terminal和vim的光标闪烁
下一篇: 【树形dp小练】HDU1520 HDU2196 HDU1561 HDU3534
bit_line
博客等级 码龄12年 33粉丝 150原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值