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;
}
一位海外开发者的 OpenSPG KAG 实践分享 KAG 是一个以创建和操作知识图谱为核心的框架。知识图谱是数据之间相互关联的可视化和结构化表示,对于搜索引擎、推荐系统和机器学习等应用至关重要。KAG 的目标是提供一个强大的平台,使开发者能够:轻松构建图谱;通过增强算法丰富数据;集成人工智能,以进行更精确的推理。通过理解 KAG,可以明显看出,这个框架旨在帮助从初学者到专业开发者,在项目中创造更优的解决方案。它在简便性和集成方面的优势,使其成为下一代基于数据的应用程序的前景工具。 阅读详情

相关推荐

Windows Server 2019/2022 RDS 授权实战:3步激活许可证服务器,解决120天宽限期问题

本文详细介绍了Windows Server 2019/2022 RDS授权实战,提供3步激活许可证服务器的完整解决方案,解决120天宽限期问题。涵盖远程桌面授权服务器配置、许可证激活方法及组策略设置,确保企业合规使用远程桌面服务。

weixin_32705179的博客 974

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

【工具】GitHub学生认证+PyCharm配置Copilot全流程指南

本文提供了一份详细的GitHub学生认证及在PyCharm中配置Copilot的完整指南。通过完成A2F认证、准备有效材料并使用干净网络环境,学生可免费获取GitHub Copilot Pro订阅,极大提升编程学习与开发效率。

w7x8y9z的博客 1457

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

Cisco Firepower FMCv修改管理Ip方法

Cisco Firepower FMCv修改管理Ip方法

funnycoffee123的博客 1091

Box2D-Lite源码阅读笔记(2)

0.初始化函数 static void InitDemo(int index) { world.Clear(); numBodies = 0; numJoints = 0; bomb = NULL; demoIndex = index; demos[index](bodies, joints); } 在这个初始化函数中,一般会默认执行index=0的函数,这个函数就是一个示例,因为示例比较简单,所以也便于研究,示例效果如下。 就是一个方块。 进入第一个示例函数。(忽略我加的注释)

ARTELE的博客 976

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

用python将dycom .dcm格式图像转换为nifti .nii

因为发现目前搜索到的多数中文教程并不能正确将FMRI图像正确转换,例如很多用simpleITk的seriesreader的,所以写了一下自己正确转换的方法。因为FMRI是一个4D数据,有时间轴,所以用seriesreader读写出来的图像把时间轴维度给降维了。当然你用SPM12工具的dycom import也是能正确转换的,但是我还是喜欢python这样的,代码直接简单。

qq_41103479的博客 3609

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

【软考】系统集成项目管理工程师(一)信息化知识

软考中级——系统集成项目管理工程师备考干货第一章:信息化知识。

商务合作 | 共同学习 | 携手共进 9万+

震惊!用刚发布的GPT-5写研究现状,文献综述写作一整个大逆袭(附步骤+10条AI提示词)

每类分别给出:国内重点(3 条)、国外重点(3 条)、代表性方法(2–3 条)、代表成果(各 1–2 条)、主要问题(2 条)。每个场景给出:技术方案(2–3 种)、研究目标、实际成效/案例、当前挑战(3 点)。指令:基于国内外现状,系统列出当前学界的研究空白、关键未解问题与争议焦点(每项配简要证据/示例),并针对每个空白提出 1–2 条可行的研究方向或方法路径。三、差异与研究空白分析(≥300 字)。对每个小节提供:小标题、中心论点(1 句)、拟写要点(3–5 条)、建议引用类型(理论/方法/案例)。

qq_64378896的博客 114

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

DeepSeek邮件管理全攻略

DeepSeek邮件助手是一款高效的邮件处理工具,提供智能分类、撰写、回复和任务自动化功能。通过API调用或多智能体系统,它能自动分类邮件意图、生成专业回复并优化邮件内容。核心功能包括智能过滤、会议安排和任务提醒,支持与主流邮箱服务集成。提供精准提示词模板,帮助用户快速生成得体邮件,提升工作效率。适合个人和企业使用,通过简单配置即可实现邮件处理自动化。

Genio_Wang的博客 180

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

Camera2Demo

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

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

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

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

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

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

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

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、付费专栏及课程。

余额充值