poj3146 题解

5个4000比特大状态置换算法的设计与分析 下面是 5 个概念性、实验性的 4000 位可逆置换设计。它们都保证是双射,但未经过密码分析,不可直接用于生产系统。风格分别覆盖:三维 SPN、Feistel、可逆元胞自动机、ARX、宽轨迹/Keccak 式结构。 这 5 个设计分别代表了 SPN、Feistel、元胞自动机、ARX、宽轨迹 Keccak 五种不同风格,覆盖了主流大状态置换的构造思路。再次强调:它们只是实验性概念,若要用于实际协议,必须经过严格安全性分析。 阅读详情

poj3146

题目大意:

给定一个 n , p n, p n,p 求 ( n 0 … n ) \binom{n}{0 \dots n} (0…nn​) 有多少数不能被 p p p 整除。

我们考虑 L u c a s Lucas Lucas 定理。

( n m ) = ( n / p m / p ) × ( n m o d    p m m o d    p ) \binom{n}{m} = \binom{n / p}{m/ p} \times \binom{n \mod p}{m \mod p} (mn​)=(m/pn/p​)×(mmodpnmodp​)。

也就是将 n n n 分解成 p p p 进制。如果上面的大于下面的就是有值的。

所以直接进行分解之后乘法原理即可。

#include <iostream>
#include <cstdio>
using namespace std;

//#define Fread
//#define Getmod

#ifdef Fread
char buf[1 << 21], *iS, *iT;
#define gc() (iS == iT ? (iT = (iS = buf) + fread (buf, 1, 1 << 21, stdin), (iS == iT ? EOF : *iS ++)) : *iS ++)
#endif // Fread

template <typename T>
void r1(T &x) {
	x = 0;
	char c(getchar());
	int f(1);
	for(; c < '0' || c > '9'; c = getchar()) if(c == '-') f = -1;
	for(; '0' <= c && c <= '9';c = getchar()) x = (x * 10) + (c ^ 48);
	x *= f;
}

#ifdef Getmod
const int mod  = 1e9 + 7;
template <int mod>
struct typemod {
    int z;
    typemod(int a = 0) : z(a) {}
    inline int inc(int a,int b) const {return a += b - mod, a + ((a >> 31) & mod);}
    inline int dec(int a,int b) const {return a -= b, a + ((a >> 31) & mod);}
    inline int mul(int a,int b) const {return 1ll * a * b % mod;}
    typemod<mod> operator + (const typemod<mod> &x) const {return typemod(inc(z, x.z));}
    typemod<mod> operator - (const typemod<mod> &x) const {return typemod(dec(z, x.z));}
    typemod<mod> operator * (const typemod<mod> &x) const {return typemod(mul(z, x.z));}
    typemod<mod>& operator += (const typemod<mod> &x) {*this = *this + x; return *this;}
    typemod<mod>& operator -= (const typemod<mod> &x) {*this = *this - x; return *this;}
    typemod<mod>& operator *= (const typemod<mod> &x) {*this = *this * x; return *this;}
    int operator == (const typemod<mod> &x) const {return x.z == z;}
    int operator != (const typemod<mod> &x) const {return x.z != z;}
};
typedef typemod<mod> Tm;
#endif

#define int long long
const int maxn = 2e5 + 5;
const int maxm = maxn << 1;
const int mod = 1e4;

int p, n;
int Work() {
    int sum(1);
    while(n) {
        int tmp = n % p; n /= p;
        ++ tmp;
        sum = sum * tmp % mod;
    }
    return sum;
}

signed main() {
//    freopen("S.in", "r", stdin);
//    freopen("S.out", "w", stdout);
    int i, j, Case(0);
    while(scanf("%lld%lld", &p, &n) != EOF) {
        if(p == 0 && n == 0) return 0;
        ++ Case;
        printf("Case %lld: %04lld\n", Case, Work());
    }
	return 0;
}
MAC(m1)-VMWare Fusion安装CentOS7.9 阅读详情

相关推荐

别再自己写组件了!用uni-app的midButton属性5分钟搞定中间凸起TabBar(H5/小程序通用)

本文详细介绍了uni-app官方提供的midButton属性,帮助开发者5分钟内实现中间凸起的TabBar效果,无需编写繁琐的自定义组件代码。该方案兼容H5和微信小程序平台,配置简单且维护成本低,大幅提升开发效率和性能表现。

weixin_30431445的博客 347

HDU3304 POJ3146 Interesting Yang Hui Triangle Lucas定理

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3304           http://poj.org/problem?id=3146 题目大意:找出杨辉三角中第n+1行不能被素数p整除的数有多少个。 分析:这题是HDU4349的加强版。同样是Lucas定理解决。 我们知道,对于一个组合数C(n,m)mod p来说,我们

AC_Gibson的专栏 1794

U24时钟信号上升下降沿出现非单调性--简单分析

交换机U24时钟信号上升下降沿出现非单调性--简单分析

qq_45185504的博客 1132

poj3146

题意:给出n,p,问杨辉三角形的第n+1行有多少个数字能被p整除,p是素数。 分析:杨辉三角形的第n+1行是由组合数c(n,k)组成的,k=0~n。 因此,我们要求c(n,k)中有多少个p的倍数。首先我们求n!中含有多少个素因子p。数量为:n/p+n/(p^2)+…… c(n,k)中含有素因子p的个数是,n!中的个数 - (n-k)!中的个数 - k!中的个数(结果为非负整数) 我们要求有...

weixin_34221276的博客 178

STM32F103C8T6心电采集实战:从PCB设计到上位机开发的完整指南(附TI杯开源资料)

本文详细介绍了基于STM32F103C8T6的心电采集系统开发全流程,从PCB设计到上位机开发,特别适合大学生电子设计大赛参赛者参考。内容涵盖硬件设计精要、软件算法优化及上位机开发技巧,并附TI杯开源资料,帮助开发者低成本实现医疗级心电信号采集。

kafka6courier的博客 194

Linux内核驱动模型--PCIe(PCI Express)驱动​​

本文系统介绍了Linux内核中PCIe驱动的设计与实现。首先从架构定位入手,指出PCIe驱动基于PCI子系统扩展支持高速、低功耗特性。核心数据结构struct pci_driver包含设备匹配表id_table、生命周期函数probe/remove等关键组件。文章详细解析了驱动与设备的绑定流程、资源管理机制,并重点阐述了MSI-X中断、电源管理、热插拔和多队列等高级特性实现方案。最后提供了lspci、dmesg等调试工具的使用方法,总结了PCIe驱动在支持高性能设备中的关键作用。全文通过架构设计、核心结构、

amy_mhd的博客 427

poj 3146 Interesting Yang Hui Triangle (Lucas定理)

Interesting Yang Hui Triangle Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1772   Accepted: 875 Description Harry is a Junior middle student. He is very

clover_hxy的博客 525

SAP 批量修改 工艺路线 和 BOM

1、在运维的过程中经常会遇到用户需要批量更改组件,或者是批量更改数量,还是组件里面的一些标识,当处理这些批量数据处理的业务时,BOM的批量更改一个想到的就是CS20,但是CS20当BOM需要替换的时候就不是很适用。当前工作区域:选择 SAP_ITEM 对BOM行项目进行变更,工艺路线也是可以批量更改的,根据实际的业务进行选择,我这里选择的就是BOM的组件变更。5、本博客将使用新的一种方式进行BOM的批量变更,标准的事务代码:CEWB对BOM进行批量更改。3、使用LSMW的方式进行BOM的批量更改。

我小时候很黑的博客 4095

poj 3146 Lucas定理的使用

Harry is a Junior middle student. He is very interested in the story told by his mathematics teacher about the Yang Hui triangle in the class yesterday. After class he wrote the following numbers to s

winycg的博客 815

【异常】Milvus向量数据库的常见错误“collection not loaded“(集合未加载)

Milvus数据库报错"collection not loaded"分析及解决方案。该错误发生在对未加载的集合执行查询操作时,核心原因是集合创建后需先加载到内存才能使用。解决方案包括:1)确认集合是否存在;2)查询前调用loadCollection接口加载集合;3)处理加载超时或失败情况,可检查加载状态;4)确保Milvus服务正常运行。建议在长期不使用集合时释放内存资源。文末附Java代码示例说明具体操作方法。

奶爸的编程之路,也就一周冷个三天 380

12、控件使用之录入英文、阿拉伯数字删除增加功能及二维码显示

控件使用之录入英文、阿拉伯数字删除增加功能及二维码显示1、用到的控件2、添加控件2.1、添加【文本录入】控件2.1、添加【文本显示】控件2.1、添加【QR 二维码】控件3、保存工程及生成文件4、下载文件 1、用到的控件   需要用的显示控件为【文本显示】控件和【QR二维码】控件,以及触控控件【文本录入】控件。 2、添加控件 2.1、添加【文本录入】控件   【文本录入】控件也叫【ASCI 文本录入】,是用来录入ASCI 字符,打开 DGUS 软件,点击【触控控件】—【文本录入】,用鼠标框选一个区域,即可在右

嵌入式羊圈 625

poj 3146/hdu 3304/uva 1384 Interesting Yang Hui Triangle Lucas定理

#include #include #include #include #include #include using namespace std; #define LL long long const int mod=10000; int main() { int p,n,tt=0; while(scanf("%d%d",&p,&n)!=EOF) {

冷月之殇 2098

【3天快速入门WPF】1-从最简单的xaml开始

首先我们要知道xaml语法中声明即定义,意思就是“见到元素就相当于创建实例”,MainWindow.xaml的主干是一个元素里包含着一个 元素。这段程序就是在定义一个Window类的实例,这个实例的一个组成部分是一个Grid类的实例。

Zy100Papa的博客 1623

POJ 3146

题意:求杨辉三角形第n+1行中不能被质数p整除的的数的个数。 题解:1、杨辉三角形第n+1行的数位:C(n,0)...C(n,n)    2、C(n,m)=n!/(m!(n-m)!),判断其能否被p整除就是看它是否含有因子p,n!中含有n/p+n/p^2+....n/p^k个p,由于C(n,m)是整数,所以不含的情况即n!中含p的个数等于其分子中含p的个数。    3、n/p,n/p^2,n...

weixin_30378311的博客 151

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

POJ3620:Avoid The Lakes

点击打开题目链接 Avoid The Lakes Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5788   Accepted: 3146 Description Farmer John's farm was flooded in the

I just want to AC you~~~ 884

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

PM3(矩阵相乘 行和的简便运算)

http://poj.org/problem?id=3213 PM3 Time Limit: 5000MS   Memory Limit: 131072K Total Submissions: 3146   Accepted: 1108 Description USTC has recently developed th

Olga_jing的博客 952

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

USACO比赛题泛刷

随时可能弃坑。 因为不知道最近要刷啥所以就决定刷下usaco。 优先级排在学习新算法和打比赛之后。 仅有一句话题解。难一点的可能有代码。 优先级是Gold>Silver。Platinum刷不动...(可能有一两道?) 2015 Feb Gold BZOJ3939. [Usaco2015 Feb]Cow Hopscotch 这题洛谷数据过水,\(O(n^4)\)的dp跑的飞快。。。所以建议在...

weixin_30496431的博客 598

poj 3146 Interesting Yang Hui Triangle(lucas定理的应用)

题意:杨辉三角第n+1行有多少数不被p整除?? 解析: lucas定理:设p为质数,a,b为两正整数,且a,b在p进制下表示为 a=(ak……,a0),b=(bk……,b0) 0=<ai,bi<p 证明 c[a,b]=c[ak,bk]*……*c[a0,b0](mod p) 证:   p为质数时易证 (1+x)^p=1+x^p(mod p)  (1+x)^a=(1+x)^(ak*p

hlmfjkqaz的专栏 1206

poj 3146: Lucas 定理

一、常规方法 见poj 3219的方法,这一方法容易理解,只是超时。 对于输入的n、p, for(i=0;i<=n;i++) { 用前面的方法,分别计算n!、i!、(n-i)!中因子p的个数,再比较n!中因子p的个数与i!、(n-i)!中因子p的个数之和,来决定组合数C(n,i)是否能整除p; 如不能整除,计数器加1; } 代码如下: #include using namespace st...

alex_yuqian的博客 294

POJ 3146 Interesting Yang Hui Triangle 笔记

求杨辉三角第 N+1 行中能整除 P 的数的个数。

woniupengpeng的专栏 353

POJ 刷题顺序

POJ从简到难(按照AC数目排序)的列表

马必辰的博客 1万+

POJ 3146 & HDU 3304 Interesting Yang Yui Triangle(杨辉三角)

POJ 3146 & HDU 3304 Interesting Yang Yui Triangle(杨辉三角)

2169

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 200

【算法拾光】链表 哈希表|K个一组翻转链表 + 两数之和

K个一组翻转链表需分段反转,借助哑节点与前驱指针维护连接,避免断链;两数之和利用哈希表实现O(1)查找,空间换时间,高效定位目标组合。前者考察链表指针操作,后者聚焦映射关系构建,均为面试高频题。

wuqingyigexiaoba的博客 308

排序算法深度笔记(下):非比较类排序的线性突破与工程边界

排序算法时间复杂度额外空间复杂度稳定性是否基于比较选择排序O(N^2)(O(1))不稳定是冒泡排序O(N^2)(O(1))稳定是插入排序O(N^2)(O(1))稳定是归并排序O(N\log N)(O(N))稳定是快速排序O(N\log N)O(log N)不稳定是堆排序O(N\log N)O(1)不稳定是计数排序(O(N + M))O(M))稳定否基数排序O(N)稳定否桶排序平均O(N) / 最坏O(N^2)

2401_87069538的博客 569

算法日常・每日刷题--<动态规划>42

本题为“不相交的线”,与最长公共子序列问题相似。使用动态规划求解:定义 dp[i][j] 表示 nums1[0:i] 与 nums2[0:j] 的最大不相交连线数。若元素相等,则继承左上值加1;否则取上方或左方最大值。最终返回 dp[m][n],即两数组的最大不相交连线数。时间复杂度 O(mn),空间复杂度 O(mn)。

2503_92261635的博客 20
上一篇: CF1553I Stairs 题解
下一篇: Bsgs, Exbsgs
sharp_legendgod
博客等级 码龄7年 8粉丝 114原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值