1. 证明:对于任意质数$p\gt 3$,$p^2-1$能被$24$整除。

证:平方差公式,$p^2-1 = (p-1)(p+1)$。

再把$24$分解质因数$2^3*3$。

三个相邻的自然数中至少有一个数是$3$的倍数,而$p$是质数不可能有因子$3$,所以$p-1,p+1$中必有一个数有因子$3$。

$p$是质数,所以一定是奇数,那$p-1,p+1$就是偶数,而相邻两个偶数中至少有一个是$4$的倍数,所以两个数至少有一个有$1$个因子$2$,另一个有$2$个因子$2$。

所以$(p-1)(p+1)$是$2^3*3=24$的倍数,得证。

2. 把$gcd$卡成$log$级别的。

使用斐波那契数列,$gcd(fib(n),fib(n-1))=gcd(fib(n-1),fib(n)\mod fib(n-1))=gcd(fib(n-1),fib(n-2))$。

事实上有一个预处理$O(n)$,查询$O(1)$的求gcd做法,WZJ下次课讲。

3. 对于任意正整数$n$与质数$p\mod 4=3$,有$p$不整除$n^2+1$。

反证法,假设能整除。

$n^2\equiv -1 (\mod p)$

$(n^2)^\frac{p-1}{2} \equiv (-1)^\frac{p-1}{2} (\mod p)$

结合题意可知$\frac{p-1}{2}$是奇数。所以$n^{p-1}\equiv -1 (\mod p)$

而我们想到费马小定理的$n^{p-1}\equiv -1 (\mod p)$。

但为什么可以转化成费马小定理呢?$p$是质数,但$n,p$一定互质么?

首先$p$是质数,所以一定不是$n$的倍数;其次,如果$n$是$p$的倍数,$n^2+1$一定不是$p$的倍数,就直接证明原题不能整除了(原因:两个相邻的正整数互质)。

所以$n,p$互质,可以套用费马小定理。

结合两者可得$1\equiv -1 (\mod p)$。

$p$不能是2,所以不存在满足的情况。

综上,不能整除。

4. 原题hdu4497。

由题可知有$gcd(\frac{x}{G},\frac{y}{G},\frac{z}{G})=1$(这三个数两两互素),此时应该满足$lcm(x,y,z)=L/G$,要求$\frac{L}{G}$为整数,则若$L\mod G=0$,则一定有解($x,y,z$ 都等于 $\frac{L}{G}$即可),反之无解。
此时将$L/G$作正整数唯一分解,$\frac{L}{G}={a_1}^{b_1}*{a_2}^{b_2}*...*{a_n}^{b_n}$。
对于一个质因子$a$,要满足$gcd(\frac{x}{G},\frac{y}{G},\frac{z}{G})=1$,则至少有一个$k=0$使某个$a^k=1$。
同时还得满足$lcm(\frac{x}{G},\frac{y}{G},\frac{z}{G})=\frac{L}{G}$,则至少有一个$k=b$使某个$b^k=\frac{L}{G}$。
这样就有三种情况$(0,0,b)(b,b,0)(0,1...b-1,b)$,算上不同排列,共有$3+3+6(b-1)=6*b$种。其他的同理。
由分步乘法计数原理得最终答案为$(6*b_1)*(6*b_2)*........(6*b_n)$。

【2018.10.15】WZJ笔记(数论)的更多相关文章

  1. 2018.10.15 NOIP训练 hyc的等比数列(数论+枚举)

    传送门 一道不错的枚举题. 显然桶排序之后瞎枚举一波. 考虑枚举首项和末项,假设首项除去一个最大的平方因子得到的结果为xxx. 那么末项一定等于xxx乘上一个平方数. 于是我们枚举首项,算出xxx然后 ...

  2. 【2018.10.15】noip模拟赛Day1

    题面 wzj的题解 T1 随便搜 #include<bits/stdc++.h> #define ll long long using namespace std; inline int ...

  3. 梦想CAD控件 2018.10.15更新

    下载地址: http://www.mxdraw.com/ndetail_10105.html 1. 完善com接口的ToCurves函数,转换CAD文字,多行文字到曲线 2. 修改DrawImage接 ...

  4. 2018.10.15 bzoj3564: [SHOI2014]信号增幅仪(坐标处理+最小圆覆盖)

    传送门 省选考最小圆覆盖? 亦可赛艇(你们什么都没看见) 在大佬的引领下成功做了出来. 就是旋转坐标使椭圆的横轴跟xxx轴平行. 然后压缩横坐标使得其变成一个圆. 然后跑最小覆盖圆就可以了. 注意题目 ...

  5. 2018.10.15 bzoj4570: [Scoi2016]妖怪(凸包)

    传送门 不得不说这题有点东西啊. 看到题第一眼二分,用二次函数求范围来进行checkcheckcheck,20分滚粗了233. 于是开始思考正解. 发现可以把每只怪物的二元组属性看成二维坐标. 这时对 ...

  6. 2018.10.15 bzoj4445: [Scoi2015]小凸想跑步(半平面交)

    传送门 话说去年的省选计算几何难度跟前几年比起来根本不能做啊(虽然去年考的时候并没有学过计算几何) 这题就是推个式子然后上半平面交就做完了. 什么? 怎么推式子? 先把题目的概率转换成求出可行区域. ...

  7. 2018.10.15 loj#6010. 「网络流 24 题」数字梯形(费用流)

    传送门 费用流经典题. 按照题目要求建边. 为了方便我将所有格子拆点,三种情况下容量分别为111,infinfinf,infinfinf,费用都为validi,jval_{id_{i,j}}valid ...

  8. 2018.10.15 loj#6013. 「网络流 24 题」负载平衡(费用流)

    传送门 费用流sb题. 直接从sss向每个点连边,容量为现有物品量. 然后从ttt向每个点连边,容量为最后库存量. 由于两个点之间可以互相任意运送物品,因此相邻的直接连infinfinf的边就行了. ...

  9. 2018.10.15 NOIP训练 水流成河(换根dp)

    传送门 换根dp入门题. 貌似李煜东的书上讲过? 不记得了. 先推出以1为根时的答案. 然后考虑向儿子转移. 我们记f[p]f[p]f[p]表示原树中以ppp为根的子树的答案. g[p]g[p]g[p ...

随机推荐

  1. SQL 时间日期函数

    1.获取当前日期GetDate getdate()函数以datetime数据类型的格式返回当前SQLServer服务器所在计算机的日期和时间.其语法格式为getdate().返回值舍入到最近的秒小数部 ...

  2. ubuntu16.0 安装 openstack

    主要参考官方文档:https://docs.openstack.org/liberty/zh_CN/install-guide-ubuntu/environment-nosql-database.ht ...

  3. SQLite-表达式

    SQLite -表达式 一个表达式是一个或多个值的组合,运算符和SQL函数,评价一个值. SQL表达式就像公式和都写在查询语言.您还可以使用为特定的数据集查询数据库. 语法: 考虑到SELECT语句的 ...

  4. Google Colab调用cv2.imshow奔溃

    当我在Google Colab运行如下代码 import cv2 import numpy as np image = cv2.imread('a.jpg') cv2.imshow('original ...

  5. 读懂 Deployment YAML【转】

    既然要用 YAML 配置文件部署应用,现在就很有必要了解一下 Deployment 的配置格式,其他 Controller(比如 DaemonSet)非常类似. 还是以 nginx-deploymen ...

  6. 快学UiAutomator新建第一个测试工程

    1.打开Eclipse 2.新建一个java项目,包 3.增加build path,加载需要的库文件jar包 4.新建测试类,继承UIAutomatorTestCase 5.编写测试用例,方法名必须t ...

  7. jquery动态实现填充下拉框

    当点下拉框时动态加载后台数据. 后台代码 protected void doPost(HttpServletRequest request, HttpServletResponse response) ...

  8. oracle count 百万级 分页查询记要总数、总条数优化

    oracle count 百万级 分页查询记录总数.总条数优化 oracle count 百万级 查询记录总数.总条数优化 最近做一个项目时,做分页时,发现分页查询速度很慢,分页我做的是两次查询,一次 ...

  9. ASIHTTPRequest简单学习

    ASIHTTPRequest框架是优秀的第三方Objective-C的HTTP框架,支持Mac OS X和iOS下的HTTP开发. 一.ASIHTTPRequest框架的安装和配置 (1)首先要在项目 ...

  10. C#获得DataTable的key值

    //获得dataTable的key值 List<string> keyList = new List<string>(); ; i < dt.Columns.Count; ...