- 博客(16)
- 收藏
- 关注
原创 lower_bound和upper_bound
lower_bound函数的作用是找数组中第一个大于等于n的值;如果没找到则返回数组最后一个元素的下一个位置;下标:ans=lower_bound(a,a+num,n)-a;没找到则:ans=num; (数组下标从0到num-1,没找到则返回num)upper_bound函数的作用是找数组中第一个大于n的值;如果没找到则返回数组最后一个元素的下一个位置;下标:ans=upper...
2019-11-29 21:59:16 110
原创 max_element和min_element
max_element函数的作用为找数组中的最大值。想要找下标:post=max_element(a,a+n)-a;想要输出找到的最大值:printf("%d\n",*max_element(a,a+n));
2019-11-29 21:52:26 162
原创 错排公式详解
原文链接:https://blog.csdn.net/bengshakalakaka/article/details/83420150问题:现有10本书按照顺序摆放,现要求重新排列,使得新的书的顺序中每一本书都不在原来的位置,求有多少种排列方式?这个问题推广一下,就是错排问题,是组合数学中的问题之一。考虑一个有n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的排列就称为原...
2019-11-06 20:55:30 346
原创 常用组合数公式
图片来自:https://blog.csdn.net/shadandeajian/article/details/82084087
2019-11-01 19:55:50 792
原创 fmod函数 和 modf函数
fmod函数用来算小数取模:fmod()与求模运算符%的比较:1).%只用于整型的计算,后一个数不能为0;fmod()可以对浮点型数据进行取模运算,后一个数可以为0,返回NaN(NaN,是Not a Number的缩写,用于处理计算中出现的错误情况,比如 0.0 除以 0.0 或者求负数的平方根)。2).%是运算符,fmod()是函数double fmod(double x,double...
2019-10-09 20:17:54 1056
原创 求园的相交面积
例题:CodeForces - 600D余弦定理逆用求角度。正弦定理求三角形面积。1/2* a * b * sin©//数据用的 long double#include<bits/stdc++.h>using namespace std;#define ld long doubleint main(){ ld x1,y1,r1,x2,y2,r2,d; cin>...
2019-10-07 21:13:22 139
原创 R - Harmonic Number LightOJ - 1234 (分块打表)
了解了分块打表的思想:#include<stdio.h>#include<string.h>#include<math.h>#define ll long long const int maxn=2e6+10;const int maxx=1e8;double a[maxn]={0};int main(){ memset(a,0,sizeof...
2019-09-23 20:40:16 123
原创 kmp算法
A - OulipoThe French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter ‘e’. He was a member of the Oulipo group. A quote from the book:Tout avait Pair normal, ma...
2019-09-22 20:13:26 74
原创 数学 -- log
默认log(a)以e为底;还有log10(a),log2(a) 都是现成的以10为底,以2为底的函数,可以直接用;换底公式: 以3为底6的对数::log(6)/log(3), 通过这个可以构造任何底的log...
2019-09-18 21:04:24 616
原创 大数取模
char b[10000];int len=strlen(b); for(int i=0;i<len;i++) { p=(p*10+b[i]-'0')%k; } printf("%lld\n",p);
2019-08-26 21:20:54 114
原创 最小(大)表示法
给一个首尾相连的长度为n的字符串 找一个字典序最小的串。算法目的是找字典序最小的串的开头位置。设 f=0,e=1,k=0;代码://Gym - 101875B#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int a[500005]={0};...
2019-08-26 20:39:43 147
原创 欧拉函数及其线性筛法 O(n)
欧拉函数:定义phi (n) 为 1 到 n-1 范围内的与互素的数的个数;公式:phi(n)= n*(1- 1/p1) * (1 - 1/p2) * (1 - 1/p3) 。。。。。。(1 - 1/pn);pi为n的素因子;性质:1。 n为1时, phi(1)==1;2。 n为素数时, phi (n)==n-1;3。 若m , n互质 phi(n...
2019-08-16 10:56:22 246
原创 解同余方程组
已知: *N=a1x+b1;N=a2y+b2;。。。。。N=anz+bn;求N;解:a1x+b1=a2y+b2; ==> a1x - a2y=b2-b1; (因为求x 所以a2前正负不影响结果);令c=b2-b1;通过扩展欧几里得算法对此式求解 求出x, 并得到gcd(a1,a2)=d;如果c%d!=0,则此方程组无解;如果有解则:带入到 N=a1...
2019-08-13 10:19:03 2103
原创 GYM-B - Minimal Area(求最小三角形)
最小三角形,相邻三个点组成的三角形最小:#include<stdio.h>#include<math.h>#include<algorithm>#define ll long long using namespace std;ll x[200005]={0};ll y[200005]={0};ll look(ll x1,ll y1,ll x2,l...
2019-08-10 10:41:20 192
原创 求逆元
a*x = 1(mod p); 求 x;当p为素数时 : x==pow( a ,p-2) % p;一般情况:扩展欧几里得:a * x + p * y== 1;// a*x==1(mod b); ==> a*x+b*y==1; 求x; #include<bits/stdc++.h>using namespace std;i...
2019-08-06 19:09:54 109
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人