数学思想
1 证明n个数的问题,n个数不好直接证,可以先从n为小数时,比如2时,从两个数开始证,从而推广n个数的规律
哥德巴赫猜想
哥德巴赫猜想:任一大于2的偶数都可写成两个质数之和。
弱哥德巴赫猜想:任一大于5的整数都可写成三个质数之和。
例如:https://blog.youkuaiyun.com/weixin_43819578/article/details/100546824
扩展欧几里得
a1x1+a2x2+…+an*xn=C
例如https://blog.youkuaiyun.com/lkqlxjlxr71/article/details/81237985
p/q在b进制下是否为有理数
例如:https://blog.youkuaiyun.com/weixin_43406046/article/details/84000621
AX+BY+C*Z=P的X,Y,Z组合种类
例如:https://blog.youkuaiyun.com/Joker_He/article/details/115379248
A/B%n
例:https://www.luogu.com.cn/problem/solution/P2613
也可通过求逆元方法:https://www.cnblogs.com/kuangbin/archive/2012/08/10/2632191.html
还有试探法:https://blog.youkuaiyun.com/tigerisland45/article/details/51239640
最小正整数解类问题
https://www.luogu.com.cn/blog/McHf/p5656-exgcd
快速幂
快速幂保留前几位和后几位
例如:https://blog.youkuaiyun.com/Dylan_Frank/article/details/52749665?locationNum=16
矩阵快速幂
Xn=aXn-1+bXn-2+pow(n,i)
例:https://blog.youkuaiyun.com/spring371327/article/details/52973534
好题:https://blog.youkuaiyun.com/rowanhaoa/article/details/39343769
结合图论
A经过K个点到B的方案数
例:https://blog.youkuaiyun.com/kalilili/article/details/43968171
高精度(建议Java或Python)
求500位数字
https://www.luogu.com.cn/problem/solution/P1045
求单峰曲线最值
三分法
例如:
题目:https://vjudge.net/problem/HDU-5144
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
const double g=9.8;
int h,v0;
double f(double x){
double y=sqrt(1-x*x);
double vx=x*v0,vy=y*v0;
return vx*vy/g+vx*sqrt((vy*vy+2.0*g*h)/(g*g));
}
int main(){
int t;
cin>>t;
while(t--){
cin>>h>>v0;
double l=0.0,r=1.0;
while(r-l>1e-8){
double mid1=(l+r)/2.0,mid2=(mid1+r)/2.0;
if(f(mid1)<=f(mid2)) l=mid1;
else r=mid2;
}
printf("%.2f\n",f(l));
}
return 0;
}
同余
存在a1,a2,a3。。。an模x同余的条件
令di=a[i+1]-a[i],若gcd(d1,d2,d3…dn-1)>1,则存在
证明很简单,不放了
(hint:从两个数开始着手证)