一些技巧
Frozen_Guardian
已退役菜鸡Acmer
展开
-
分数Frac类
用于处理浮点数除法的精度问题,可以直接扔map里用白嫖党大胜利template <typename VAL> class Frac {public: VAL num,den; Frac(){} Frac(const VAL& x, const VAL& y = 1){ den=__gcd(x,y); num=x/den,den=y/den; if(den<0) num=-num,den=-den原创 2021-07-27 20:24:12 · 229 阅读 · 0 评论 -
tourist取模模板
根据自己的喜好把求快速幂的方法名从 power(a,b) 改成了q_pow(a,b)附带组合数的实现(拿来吧你)template <typename T>T inverse(T a, T m) { T u = 0, v = 1; while (a != 0) { T t = m / a; m -= t * a; swap(a, m); u -= t * v; swap(u, v); } assert(m == 1); return u;}原创 2021-07-24 10:51:33 · 382 阅读 · 3 评论 -
前缀和公式
原创 2021-05-21 18:20:40 · 152 阅读 · 0 评论 -
C++随机数及对拍
先说随机数:mt19937_64 eng(time(NULL));//重置种子uniform_int_distribution<long long>ran(-10000000000,10000000000);//自行设置范围cout<<ran(eng)<<endl;//调用随机数C++11的随机数,比rand更好用,但相应的这个单词更难背。。(英语渣)再说对拍:#include<iostream>#include<cstdio&原创 2020-10-16 12:10:15 · 321 阅读 · 0 评论 -
快速读入+快速输出(模板)
template<typename T>inline void read(T &x){ T f=1;x=0; char ch=getchar(); while(0==isdigit(ch)){if(ch=='-')f=-1;ch=getchar();} while(0!=isdigit(ch)) x=(x<<1)+(x<<3)+ch-'0',ch=getchar(); x*=f;}template<typename T>inlin.原创 2020-10-15 20:45:31 · 319 阅读 · 0 评论