Processing math: 100%
摘要: 题目 Luogu P1350 有下面这样一个网格棋盘, a,b,c,d 表示了对应边的长度,也就是对应格子数: 当 a=b=c=d=2 时对应下面这个棋盘: 要在这个棋盘上放置 k 个互不攻击的车,也就是 k 个车没有两个再同一行或同一列,求方案数 分析 设上方 \( 阅读全文
posted @ 2021-12-21 17:04 f(k(t)) 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 题目 Luogu P3166 给定正整数 N,M ,计算三点都在 N×M 的网格的格点上的三角形有多少个 分析 可以发现,只要三点位于格点且不共线就能形成三角形,考虑计算三点共线的情况: 平行于 x 轴共线: 每行有 m+1 个点,共 n+1 行, 阅读全文
posted @ 2021-12-21 16:49 f(k(t)) 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 题目 Luogu P1066 给定 k,w ,设 r 是一个 2k 进制数,求满足以下条件的 r 的个数 r 至少是一个 2 位的 2k 进制数 作为 2k 进制数,除了最后一位外, r 的每一位严格小于它右边相邻的那一位 阅读全文
posted @ 2021-12-20 16:15 f(k(t)) 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 在题目要求对组合数取模时,可以用卢卡斯定理等方法,但是要求算出组合数的具体值时,就需要用高精度计算大组合数了 原理 对于素数 pn! 中的幂次 cnt(n,p) ,有如下公式: \[ cnt(n,p)=\sum_{i=1}^{\infty} \lfloor\frac{n 阅读全文
posted @ 2021-12-20 15:39 f(k(t)) 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 简介 康托展开是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩。康托展开的实质是计算当前排列在所有由小到大的排列中的顺序,因此是可逆的。——百度百科 简单来说,通过康托展开可以确定一个给定的 n 位数的排列是字典序中的第几个排列(排名) 康托展开 给定一个 n 位数的排列 阅读全文
posted @ 2021-12-18 17:49 f(k(t)) 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 加法递推 由 (nm)=(n1m)+(n1m1) 求出 边界条件: (10)=(11)=1 和 \(\displaystyle \binom{ 阅读全文
posted @ 2021-12-16 18:51 f(k(t)) 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 简介 在许多情况下,我们都要维护一个数组的前缀和 s[i]=a[1]+a[2]++a[i] ,但如果我们修改了其中一个 a[i] ,那么 s[i],s[i+1],,s[n] 都会发生变化。所以每次修改后我们都要对前缀和数组进行维护,在最坏的情况下复杂度 阅读全文
posted @ 2021-12-14 11:16 f(k(t)) 阅读(85) 评论(1) 推荐(1) 编辑
摘要: 定义 如果大于 1 的正整数 p 仅有正因子 1p 则称 p 为素数,不是素数且大于 1 的整数为合数, 1 既不是素数也不是合数 定理 算术基本定理 任何一个大于 1 的正整数 a 都能唯一分解为有限个质数的乘积,写作: 阅读全文
posted @ 2021-12-10 21:43 f(k(t)) 阅读(177) 评论(1) 推荐(0) 编辑
点击右上角即可分享
微信分享提示