
数学
常见编程数学问题
consult_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
NIM博弈
文章目录模型1:[P2197 【模板】nim游戏](https://www.luogu.com.cn/problem/P2197)模型2:台阶-Nim游戏模型3:集合-Nim游戏模型4:拆分-Nim游戏例题1:涛涛和策策的游戏Solution例题2:[P2575 高手过招](https://www.luogu.com.cn/problem/P2575)Solution1:Solution2:例题3:[P2148 [SDOI2009]E&D](https://www.luogu.com.cn/prob原创 2020-11-18 16:04:04 · 718 阅读 · 0 评论 -
C. Cyclic Permutations(663 div 2 排列组合)
C. Cyclic Permutations 题意: 给一个 n 的全排列,然后构建一个图,节点为每个数的下标,数组中的每个数可以与右边第一个大于它的数,左边第一个大于它的数连接无向边,问在 n 的全排列中有多少排列构成的图中存在简单环。思路: 一开始题意还读错了,,以为是包含 n 的简单环有多少。。现在想想有点扯。所以当一个数左右两边存在大于这个数的数,必定能构成一个简单环,例如:对于i,j,k,当i>j,k>j对于i,j,k,当i>j,k>j对于i,j,k,当i>j原创 2020-08-11 17:13:38 · 340 阅读 · 0 评论 -
Chino with Equation (多元一次方程)
Chino with Equation众所周知,不定方程的解有0个或者若干个。给出方程:x1+x2+x3+....+xm=n x_1+x_2+x_3+....+x_m=nx1+x2+x3+....+xm=nCocoa想知道这个不定方程的正整数解和非负整数解各有几个。题目对Chino来说太难啦,你能帮一帮Chino吗?。由于答案可能会很大,你只需要输出答案 mod(109 + 7) 即可。多元一次不定方程解的个数problem1: 将30条鱼放入10个桶中, 每个桶至少一条鱼, 总共有原创 2020-07-24 17:47:35 · 289 阅读 · 0 评论 -
整除分块
例1:浅尝辄止Problem :给定一个正整数n,求 ∑i=1n⌊ni⌋\sum_{i=1}^{n} \left \lfloor \frac{n}{i} \right \rfloor∑i=1n⌊in⌋ ,1≤n≤10131\le n \le10^{13}1≤n≤1013,式子中[x]为下取整。答案可能会很大,输出答案对998244353取模后的值。 Solution:显然枚举会超时,因为有很多⌊ni⌋⌊\frac{n}{i}⌋⌊in⌋是一样的,那么需要分块计算,设 ⌊ni⌋=⌊nj⌋,i≤原创 2020-07-19 14:49:57 · 183 阅读 · 0 评论 -
APC2020 D - Anything Goes to Zero
D - Anything Goes to Zero 题意 :给一个长度为1 ≤ N ≤ 2×105的二进制串,定义f [i] 的值为 以下操作的次数:定义 :xi 为二进制串的第 i 位取反后代表的十进制的值, g[ x ]为 x 的二进制表示时1的个数,设 r = xi ,每次操作:r = r % g[ r ] ,直到 r 为 0 ; 思路: 由于第一次求余后的值必定小于N,所以关键在于先求出第一次的余数r。第一次求余的模有两个,分别是p1 = sum + 1,p2 = sum - 1,其中su原创 2020-07-12 20:13:31 · 235 阅读 · 0 评论 -
子序列 (线性DP)
子序列题目描述小美有一个由n个元素组成的序列{a1,a2,a3,…,an},她想知道其中有多少个子序列{ap1,ap2,…,apm}(1 ≤ m ≤ n, 1 ≤ p1 < p2 ,…, < pm ≤ n),满足对于所有的 i , j (1 ≤ i < j ≤ m) , apipj < apjpi 成立。输入描述:第一行一个整数n (1≤n≤100)表示序列长度。接下来一行n个整数{a1,a2,a3,…,an}(1≤ ai ≤100)表示序列。输出描述:输出一行表示原创 2020-07-03 20:11:47 · 238 阅读 · 0 评论 -
因数个数和
因数个数和 题目描述 :q次询问,每次给一个x,问1到x的因数个数的和。1<=q<=10 ,1<= x<=10^91~n 约数的个数的和实际就是看 1~n 在这些数中出现过多少次,例如 1是1~n每个数的因数,所以对1这个因数来说,出现了n/1次,以此类推;求和后乘以2再减去重复的计算即可;#include<bits/stdc++.h>using namespace std;typedef long long LL;LL fun(LL n){原创 2020-05-23 12:22:38 · 407 阅读 · 0 评论 -
逆序对(组合数)+Treepath(思维)
逆序对题目描述求所有长度为n的01串中满足如下条件的二元组个数:设第i位和第j位分别位ai和aj(i<j),则ai=1,aj=0。答案对1e9+7取模。n <= 1e18一般的逆序对都可以用归并排序、树状数组(O(nlogn))等,但显然此题是一个公式题。首先公式里应该有与2^n有关的项,长度为n的串总共有2 ^ n个;n = 1, ans = 0;n = 2, ...原创 2020-04-25 17:03:36 · 284 阅读 · 0 评论 -
树 (dp)
树题目描述:shy有一颗树,树有n个结点。有k种不同颜色的染料给树染色。一个染色方案是合法的,当且仅当对于所有相同颜色的点对(x,y),x到y的路径上的所有点的颜色都要与x和y相同。请统计方案数。输出一个整数表示方案数(mod 1e9+7)。对于30%的数据,n≤10, k≤3;对于100%的数据,n,k≤300。Solution:按以往的经验,一般这种计数的而且还要mod的,要...原创 2020-04-08 11:28:01 · 335 阅读 · 0 评论 -
裴蜀定理 扩展欧几里得 线性同余方程 逆元
解二元一次方程 首先这一切的一切都要从一个二元一次方程说起,假如我们要求:a * x + b * y = m 这个方程的一组整数解,a、b、m 都是整数且已知,那我们如何得知x、y是否有整数解,且如何使用编程求得??? 为了解决这些问题就诞生了如下思考:裴蜀定理:对任意两个整数a、b,设 d = gcd(a , b) 。那么关于未知数 x 和 y 的线性丢番图方程(称为裴蜀等式):a *...原创 2020-03-22 22:01:31 · 504 阅读 · 2 评论 -
卡特兰数
模板题二模板题一 卡特兰数在很多组合问题中常见,是组合数学中的重要定理,有不少适用的问题模型;模型一:较容易理解的排列组合表达式,h(n) = C(2n ,n) - C(2n ,n-1) (n=0,1,2,…) (化简后: C(2n,n) / (n+1) ),以坐标中选合法的点,理解卡特兰数。Code:#include<bits/stdc++.h>using nam...原创 2020-03-21 20:05:15 · 171 阅读 · 0 评论 -
求组合数(四类)
传送求组合数 I思路: 很明显,a和b 比较小,直接递推即可。公式:C[i][j] = C[i-1][j] +C[i-1][j-1] 。 提供两种理解角度: 1、杨辉三角形(可自行百度)。2、组合公式理解, 从 i 里选 j 个的方案数由两部分,设k是 i 中某一个, 则选取 k 和不选取 k :C[i-1][j] + C[i-1][j-1]#include<bits/stdc...原创 2020-03-21 17:49:15 · 390 阅读 · 0 评论 -
197. 阶乘分解 (质因数)
传送197. 阶乘分解 神奇的数学原理: 15/4 下取整为3,这就意味着在[1,15] 区间内的整数中 是4的倍数的数有3 个。题解: 线性筛出1~n内的质数,那么n的阶乘质因数分解后,这些质数都会出现 (应该能理解吧) ,但是我们不知道出现了多少次,也就是不知道这个质因子是多少次方,所以我们利用上边的数学原理统计这个质因子出现了多少次。举个样例中的例子:在5的阶乘中,找2的次方数...原创 2020-03-21 16:02:45 · 1119 阅读 · 0 评论 -
常用Fibonacci数性质
常用Fibonacci数性质0.Fn−1+Fn−2=Fn,特殊的F0=1,F1=1上述式子为定义式1.F0+F1+…+Fn=Fn+2−1证明:F0+F1=F2F1+F2=F3F2+F3=F4⋮Fn+Fn+1=Fn+2F0+2F1+2F2+…+2Fn+Fn+1=F1+F2+…+Fn+2F0+F1+F2+…+Fn+Fn+1=Fn+2−F1=Fn+2−12.F1+F3+…+F2n...原创 2020-03-04 21:13:49 · 2229 阅读 · 0 评论 -
Find Integer - hdu6441 - 费马大定理+奇偶数列法则
题目入口 题目给定了a,则:若n>2由费马大定理知无解。输出-1 -1.n=0时也无解,输出-1 -1若n=1,则a+b=c,输出1 a+1若n=2,则a^ 2+b^ 2=c^2,由奇偶数列法则得到:若a为奇数:a=2k+1 (k=1,2,3…)b= k^ 2+(k+1)^2-1c= k^ 2+(k+1)^2若a为偶数:a=2k(k=1,2,3…)b= k...原创 2020-03-11 17:12:01 · 138 阅读 · 0 评论