数学
Mudrobot
这个作者很懒,什么都没留下…
展开
-
扩展欧几里德算法(gcd扩展使用)
首先让我们先来普及一下,关于gcd的知识,这里几个字就可以搞定,gcd(a,b)就是指a,b的最大公约数,我靠,你可能会说这个有什么用呢?不要着急,我们马上就会进行讲解:首先先来普及一些基本概念:首先他们必须满足贝祖等式(好高大上的名字啊!): ax+by = gcd(a, b)。于是由这个定理,我们成功推出了:(说实话我TM也没有听懂是怎么推的,呵呵!)所以,我们由gcd函数...原创 2018-02-27 23:29:03 · 320 阅读 · 0 评论 -
Andrew算法(我确实不懂Graham)
先解释一下:这两个算法分别都是凸包问题的算法,然后Andrew是Graham的变种,速度更快,更稳定,非常优秀,介于我已经把Graham写的莫名其妙的WA了,所以我选择了这种算法!我认为在这里,还是有必要向大家在这里先普及一下什么是凸包:计算几何凸包凸包:给你n个散落的点,让你求出最小的凸多边形将所有的点包括起来,或者点在边上。用到的算法是Graham或Andrew!这里给...原创 2018-02-27 23:37:18 · 1721 阅读 · 0 评论 -
快速幂
我觉得这个东西还是比较简单的,为什么考试的时候没有打出来我也不知道,再次奠基一下我那凉掉的考试。 这里是一个简单的快速幂算法,求2的n次方的。这里在放一道例题: P1226 取余运算||快速幂下面是源代码:#include<cstdio>using namespace std;int n;long long search(int n){ //if(...原创 2018-02-27 23:38:55 · 207 阅读 · 0 评论 -
开车,开车!!!
倍增问题其实说实话,我现在也不知道倍增问题是什么东西!题目链接: P1081 开车旅行标成如下:#include<bits/stdc++.h>#define LL long long #define N 100005 //小A开山蹦蹦,小B很正常 0是B 1是A using namespace std;struct sd{ int ...原创 2018-02-27 23:39:46 · 282 阅读 · 0 评论 -
博弈论初步
这是一道关于博弈的问题,希望以后考试中不会遇见: 题目: P1290 欧几里德的游戏下面直接上代码: #include<bits/stdc++.h> using namespace std; typedef long long ll; int main() { ll c; cin>>c; ...原创 2018-02-27 23:41:15 · 181 阅读 · 0 评论 -
求最大公约数
这个东西需要用到数学上的辗转相除法,这里就不在赘述,辗转相除法详见百度百科和代码中的njc函数。题目链接: 求最大公约数问题下面代码:#include<cstdio>#include<cstring>using namespace std;int njc(int a,int b){ if(a%b==0) return b; retu...原创 2018-02-27 23:47:07 · 154 阅读 · 0 评论 -
异或运算(相同为0,不同为1)
转进制计算器先输入一个十进制数,再输入要转换的进制······ #include<cstdio> #include<cstring> using namespace std; int shi,zh,yu,u=-1,lench; char ch[1000000]; int main() { s...原创 2018-02-27 23:48:34 · 23433 阅读 · 0 评论