$补+写题ing$

第 1 章 快速幂

序列的第 k 个数

link

$solution:$

板子

A 的 B 次方

link

$solution:$

板子

[NOIP2013] 转圈游戏

link

$solution:$

板子

越狱

link

$solution:$

简单的容斥原理,$m^n-m\times \prod_{i=1}^{n-1} m-1$

第 2 章 质数

Prime Distance

link

$solution:$

先筛掉$[1,\sqrt{R}]$,然后在暴力即可。

质因数分解

link

$solution:$

暴力枚举

轻拍牛头

link

$solution:$

考虑直接加即可,因为可以将相同的数同时操作,时间$O(能过)$

Goldbach's Conjecture

link

$solution:$

板子

Sherlock and His Girlfriend

link

$solution:$

构造将质数染$1$,合数为$2$,为最优解,同时注意特判即可。

樱花

link

$solution:$

化简得$n!(x+y)=xy$,$xy-n!(x+y)=0$,$(n!)^2-n!(x+y)+xy=(n!)^2$

得$(n!-x)(n!-y)=(n!)^2$,因为$x,y\geq n!$,所以方案数即为$(n!)^2$的约数个数

第 3 章 约数

反素数 Antiprime

link

$solution:$

反素数肯定满足其分解质因数后约数个数呈不上升。通过剪枝优化即可过。

[NOIP2009] Hankson 的趣味题

link

$solution:$

$gcd(x,a0)=a1,lcm(x,b0)=b1$。求其$x$的方案数。

考虑将$lcm(x,b0)$形式化简,得$x=\frac{b1}{b0}\times gcd(x,b0)$。

考虑枚举$gcd(x,b0)$,因为$gcd(x,b0)$一定是$b0$的一个约数直接在$[1,sqrt{b0}]$中枚举约数$x$,在将其$b0/x$两个判断即可。

时间复杂度:$O(n\times \sqrt{b0})$。

X-factor Chain

link

$solution:$

将其$x$分解质因数后得$x=\prod_{i=1} p_i^{b_i}$ ,考虑答案的贡献,因为要将其最大所以第一次肯定选$x$的一个质因子。然后容易发现每次只要将一个没有用完的$b_i$使用$1$个即为最长长度,即$\sum_{i=1} b_i$。

考虑此最长长度模型的构建后,使用杨辉三角直接组合数即可。

[JLOI2014] 聪明的燕姿

link

$solution:$

通过约数和公式将其$[1,\sqrt{2\times 10^9}]$内的素数筛掉后,对于每个$x$直接枚举其因子与指数直接搜索求求解即可。

剪枝直接枚举其会产生两个质因数的情况,这是只要枚举当前$x$的$\sqrt{x}$。而只有$1$个的暴力判断即可。

第 4 章 同余问题

青蛙的约会

link

$solution:$

设最少在$F$次后碰面。

则$(x+Fm)-(y+Fn)\equiv0(mod\space L)$

转化可得$F(m-n)\equiv y-x(mod\space L)$

将$\equiv$转换成$=$,则$F(m-n)+GL=y-x$,将$m-n$为正数后$exgcd$解此方程即可。

[NOIP2012] 同余方程

link
$solution:$

解$ax+by=1$,$exgcd$裸题。

Sumdiv

link

$solution:$

等比数列求和公式套乘法逆元即可。

曹冲养猪

link

$solution:$

$crt$模板题。

Strange Way to Express Integers

link

$solution:$

$excrt$模板题。

计算器

link

$solution:$

$BSGS$模板题。

荒岛野人

link

$solution:$

数据范围:$n\leq 15,M\leq 10^6$,这就是解题的关键。

暴力$M$,对于两个野人直接求解两个野人相遇时间。

五指山

link

$solution:$

$exgcd$模板题。

Biorhythms

link

$solution:$

$crt$模板题。

C Looooops

link

$solution:$

$exgcd$模板题。

第 5 章 矩阵乘法

矩阵 A×B

link

$solution:$

考验矩阵乘法的基本计算。

Fibonacci 第 n 项

link

$solution:$

矩阵乘法板子。

Fibonacci 前 n 项和

link

$solution:$

矩阵乘法板子

佳佳的 Fibonacci

link

$solution:$

考虑构造求解,设$g_i=\sum_{k=1}^i (n+1-k)\times f_i,s_i=\sum_{k=1}^i f_i$,答案即为$(n+1)\times s_n-g_n$。

矩阵快速幂即可。

Fibonacci

link

$solution:$

矩阵乘法板子

GT 考试

link

$solution:$

一道很有意思的题目。

考虑$dp$,设$f(i,j)$表示其现在在$A$串$i$位,且$A[i,j+1]$与$B[1,j]$完美匹配。

则$f(i,j)=\sum_{k=1}^{m-1} f(i-1,k)\times g(k,j)$。其中$g(k,j)$表示在$B$串$j$位后面加上$1$个数字$([0,9])$后其在于$B$串匹配为$j$的个数,可以理解为加上$1$个数字使得$B$串与$A$串的匹配长度从$k$变为$j$。

因为$|B|\leq 20$,所以求$g$时可以考虑暴力求解,还可以利用$kmp$快速求解。

直接矩阵优化$dp$即可。

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
inline int read(){int f=1,ans=0;char c=getchar();while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}while(c>='0'&&c<='9'){ans=ans*10+c-'0';c=getchar();}return f*ans;
}
const int M=101;
int n,m,mod,nex[M],g[M][M];
struct Matrix{int a[M][M];void init(){memset(a,0,sizeof(a));}
}G,F;
Matrix operator*(Matrix x1,Matrix x2){Matrix x3;x3.init();for(int i=1;i<=m;i++){for(int k=1;k<=m;k++){for(int j=1;j<=m;j++) x3.a[i][j]+=x1.a[i][k]*x2.a[k][j],x3.a[i][j]%=mod;}}return x3;
}
Matrix ksm(Matrix a,int b){Matrix ans;ans.init();for(int i=1;i<=m;i++) ans.a[i][i]=1;while(b){if(b&1) ans=ans*a;a=a*a,b>>=1;}return ans;
}
char str[M];
int main(){n=read(),m=read(),mod=read();scanf("%s",str+1);nex[1]=0;int j=0;for(int i=2;i<=m;i++){while(j>0&&str[j+1]!=str[i]) j=nex[j];if(str[i]==str[j+1]) j++;nex[i]=j;}for(int i=0;i<m;i++){for(int opt=0;opt<=9;opt++){int j=i;while(j>0&&opt!=(str[j+1]-'0')) j=nex[j];if(opt==(str[j+1]-'0')) j++;g[i][j]++;}}G.init(),F.init();for(int i=0;i<m;i++)for(int j=0;j<m;j++) G.a[i+1][j+1]=g[j][i];F=ksm(G,n);int ans=0;for(int i=1;i<=m;i++) ans+=F.a[i][1],ans%=mod;printf("%d\n",ans);
}

View Code

迷路

link

$solution:$

对于边权只含有$01$做法非常显然,直接矩阵快速幂即可。

而对于$边权\leq 9$的图,可以考虑对于每个点拆点.当全部跑完$u$拆过的点后才能到达$v$,然后就常规操作即可。

第 6 章 组合数学

[NOIP2011] 计算系数

link

$solution:$

$(ax+by)^k=\sum_{i=0}^k C_k^ia^ib^{k-i}x^iy^{k-1}$

2^k 进制数

link

$solution:$

若$w%k=0$时,数位为$\frac{w}{k}$,若不等,则为$\frac{w}{k}+1$,且最高位为$2^{w\mod k}-1$。

组合数计算即可。

组合

link

$solution:$

$lucas$模板题。

古代猪文

link

$solution:$

题意要求$G^{\sum_{i|n} C_n^i} \mod 999911659$。

瓶颈在这个式子$\sum_{i|n} C_n^i\mod 999911659$。

其实只有第一步比较难想。因为$999911659$是一个质数所以说若普通计算则时间直接爆炸。

考虑优化,根据费马小定理的$a^{p-1}\equiv 1(\mod p)$,所以$p-1$是$1$个循环节,直接求$G^\sum_{i|n} C_n^i\mod 999911658$。

下面做法就十分显然了,$999911658=2\times 3\times 4679\times 35617$,所以直接$lucas$下面的最后在用中国剩余定理合并即可。

这样可以保证$lucas$的时间不会超时。

牡牛和牝牛

link

$solution:$

插板,现将其每个空拿$k$个,然后插板组合数即可。

方程的解

link

$solution:$

插板裸题。

车的放置

link

$solution:$

一道简单题。

可以先处理两个矩形$(a\times b)(c\times d)$,最后会剩下$1$个$a\times d$的矩形。

所以只要考虑在$a\times b$的矩形中放k个棋子的方案数。

答案易得$C_a^k\times C_b^k\times k!$,$k!$是因为要相互随便匹配。

所以分成$3$个的就做完了。

所以$2$个就可以处理$(a\times b,(a+c)\times d)$两个矩形即可。

[CQOI2014] 数三角形

link

$solution:$

$ans=C_{(n+1)\times (m+1)}^3-((n+1)\times C_{m+1}^3+(m+1)\times C_{n+1}^3)-(斜边三点共线的方案数)$

所以只要求斜边三点共线的方案数即可。

性质:对于两点$(x_1,y_1),(x_2,y_2)$,则两点所连线段经过整点的个数为$gcd((x_2-x_1+1),(y_2-y_1+1))$。

证明:直接相似三角形即可。

所以就可以想出$O(10^{12})$的方法,枚举两个端点,求中间点的个数。

考虑优化,因为发现$gcd((x_2-x_1+1),(y_2-y_1+1))$只于距离有关,所以只要枚举距离然后计算对于此距离满足的方案数即可。

时间复杂度:$O(10^6)$.

Combination

link

$solution:$

$Lucas$板子题。

序列统计

link

$solution:$

考虑对于每个点加上其下标(即为插板时给每个点送$1$个,使得必须要选),就可以保证其序列为单调递增。

考虑当时长度为$len$,其权值范围为$[1+1,R-L+1+len]$。其可选权值为$R-L+len$。

所以对于长度为$len$,其答案为$C_{R-L+len}^{len}=C_{R-L+len}^{R-L}$。

设$R-L+1=M$,所以长度为$len$的答案为$C_{M+len-1}^{len-1}$

所以所有答案为$\sum_{i=1}^n C_{M+i-1}^{i-1}$。

然后发现此刻时间复杂度仍为$O(常数\times n)$。

根据杨辉三角的$C_i^j=C_{i-1}^{j-1}+C_{i-1}^{j}$,所以$\sum_{i=1}^n C_{M+i-1}^{i-1}$化简得$C_{n+M}^{M}-1$。

$lucas$求组合数即可。

[SHOI2015] 超能粒子炮・改

link

$solution:$
求$\sum_{i=0}^k C_n^i \mod 2333$的值。

成功又弱智了一次。

对于直接求,时间复杂度为$:O(Tn)$,考虑优化。

对于$C_i^j\mod 2333$,由$Lucas$定理可得,$C_i^j=C_{i\mod p}^{j\mod p}\times C_{\frac{i}{p}}^{\frac{j}{p}}$。$p$为模数。

所以$原式=F(n,k)=\sum_{i=0}^k C_{n\mod p}^i \mod 2333=C_{n/p}^0\times \sum_{i=0}^{p-1} C_{n\mod p}^i+C_{n/p}^1\times \sum_{i=0}^{p-1} C_{n\mod p}^i+……+C_{n/p}^{\frac{k}{p}-1}\times \sum_{i=0}^{p-1} C_{n\mod p}^i+C_{n/p}^{\frac{k}{p}} \sum_{i=0}^{n\mod p} C_{n\mod p}^i$

$=(\sum_{i=0}^{p-1} C_{n\mod p}^i)\times (\sum_{i=0}^{\frac{n}{p}-1} C_{k/p}^i)+C_i^{\frac{k}{p}} \sum_{i=0}^{n\mod p} C_{n\mod p}^i=f(n\mod p,p-1)\times F(n/p,\frac{k}{p}-1)+C_{n/p}^{\frac{k}{p}}\times f(n\mod p)$。

$Lucas$加预处理$f$即可。

时间复杂度$O(T\times log_{2333}^2 n)$

礼物

link

$solution:$

换句话说就是求$C_n^m \mod p$,其中$p$为任意整数。

$exlucas$即可。

网格

link

$solution:$

为什么要用数学,直接$dp$即可。

有趣的数列

link

$solution:$

对于奇数序列位置所填的数可以想成$($,偶数序列位置所填的数想成$)$。然后按照$1-2n$的排序,发现只要成合法括号匹配即为$1$种可行解。

所以即为$Cat_n$,直接质因数分解算即可。

树屋阶梯

link

$solution:$

从$3->5$发现这不就是卡特兰数吗。再将$4$画出,发现是$14$,正好是$Cat_4$,所以猜测为$Cat_n$。

若在有$k$阶梯高度上至少需要k个钢材,设$f_i$表示i高度的答案。$f_0=1,f_1=1$.

所以$f_n=\sum_{i=0}^{n-1} f_i\times f_{n-1-i}$。

因为可以去枚举左上角的木块高度,然后右下角的高度就确定了,且可以将其扩展即为$1$组解。

转载于:https://www.cnblogs.com/si-rui-yang/p/10561239.html

YBT 6 数学基础相关推荐

  1. python-机器学习-决策树实现

    原创 python-机器学习-决策树实现 2019-11-09 14:59:39 晒冷- 阅读数 64更多 分类专栏: Python学习 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA ...

  2. 如何批量用扫描仪扫描照片_如何用手机扫描旧照片

    如何批量用扫描仪扫描照片 Got some old photos you want to save? Several apps can help turn your phone into a scan ...

  3. Android项目120项

    1.一个APP只需要一个Activity //片段fragmentimplementation 'me.yokeyword:fragmentation:1.3.6'implementation 'me ...

  4. 【Ybt OJ】[数学基础 第2章] 质数与约数

    「「「数学基础」」」第222章 质数和约数 目录: A.线性筛素数 B.质数距离 C.不定方程 D.反素数 E.余数之和 A.A.A. 例题111 线性筛素数 洛谷linklinklink 分析: 直 ...

  5. 【Ybt OJ】[数学基础 第3章] 同余问题

    「「「数学基础」」」第333章 同余问题 目录: A.同余方程 B.约数之和 C.线性求逆元 D.中国剩余定理 A.A.A. 例题111 同余方程 洛谷linklinklink 分析: 拓展欧几里得( ...

  6. 信息学奥赛一本通 提高篇 第六部分 数学基础 第1章 快速幂

    信息学奥赛一本通 提高篇 第六部分 数学基础 第1章 快速幂 https://blog.csdn.net/mrcrack/article/details/82846727 快速幂取模算法如何实现? h ...

  7. 第二节 数学基础与语言学基础

    数学基础与语言学基础内容: 数学基础:概率论,(从大规模预料中统计较小的语言单位的相关的统计信息,然后运用统计推理技术计算更高一级的语言单位出现的概率) 语言学基础 实用知识 统计自然语言处理的步骤: ...

  8. 机器学习中的数学基础:(1)实际应用中矩阵特征值与特征向量的几何意义

    关于特征值.特征向量的讲解有很多的教程,对于这些枯燥的数学基础怎么运用到自己的实际计算机视觉实验中,是一项很重要的任务.算法的底层其实就是数学公式的各种结合与推导,有时间不是我们不能很好的去理解这些算 ...

  9. 机器学习数学基础:常见分布与假设检验

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:吴忠强,Datawhale优秀学习者,东北大学 所谓机器学习和深 ...

最新文章

  1. IOS设计模式的六大设计原则之开放-关闭原则(OCP,Open-Close Principle)
  2. GitHub + jsDelivr + PicGo 搭建个人图床
  3. 上顿号符号_上顿号符号_标点符号(1):谈谈顿号的用法
  4. 拿到软银巨额投资后,通用无人车部门Cruise可能要单独IPO了
  5. 【Oracle】ORA-38171: Insufficient privileges for SQL management object operation
  6. Unix 环境高级编程 之 理解 rws 权限
  7. 《OpenCV3编程入门》学习笔记九:直方图与匹配
  8. 【转载】斐讯K2P B1刷入金梅林固件,加koolproxy、S-S R等【V1.0尝鲜版】
  9. videojs创建control-bar组件,实现点击播放下一视频
  10. 待机、休眠、睡眠的区别(整理)
  11. 新手如何建立网站,网站建设的几个步骤。
  12. Valine魔改教程——添加自定义表情和QQ头像
  13. raspberry 防火墙_用Raspberry Pi对您的家庭网络进行防火墙
  14. python+大数据之数据可视化完整版
  15. 彻底删除Navicat注册表
  16. 六度空间 (bfs,广度优先)
  17. QQ浏览器查看Cookies
  18. R统计绘图-VPA(变差分解分析)
  19. 1999~2019 年,互联网二十载野蛮生长史!
  20. 沟通——职场生存的润滑剂

热门文章

  1. 服务器系统xb21cn,Office2010/2016精简三合一版(xb21cn-0901版)
  2. 原生js时间格式化方法封装
  3. 将ShellCode注入进程内存
  4. ANDROID 学习笔记(三) UI THREAD AsyncTask 使用
  5. salesforce与微信集成(一)-- 如何配置微信和salesforce
  6. tpc ds mysql_TPC-DS 数据仓库查询性能测试
  7. 服务器的操作审计信息,裸金属服务器关键操作审计
  8. 超级好看的动态官网源码
  9. 向量范数和矩阵范数的理解
  10. 直播平台开发中解决iOS 14 兼容问题和静默推送