模版、
Yokile_
不知道
展开
-
判断四点共面模版、
采用混合积的方式判断四点是否共面、 混合积资料:传送门 #include #include #include #include using namespace std; struct Point{ double x,y,z; Point operator - (const Point &a){ Point tmp; tmp.x = x - a.x; tmp.原创 2016-08-30 21:54:46 · 1606 阅读 · 0 评论 -
Lucas定理模版、
#include #include #include #include using namespace std; typedef long long ll; ll n,m,p; ll quick_mod(ll a, ll b){ ll ans = 1; a=a%p; while(b){ if(b&1) ans = ans*a%p; b>>=1; a=a*a%p; } retu原创 2016-09-08 20:05:10 · 255 阅读 · 0 评论 -
容斥原理求1到n与k互质个数
参考博客:传送门 题目:HDU 4135 此处的k #include #include #include #include #include using namespace std; typedef long long ll; const int qq = 10005; int num; int prime[qq]; void Analyze(ll x){ for(ll i=2;原创 2016-10-10 23:21:23 · 1614 阅读 · 0 评论 -
扩展欧几里德模版
参考资料:Arimura | kasumi int gcd(int a, int b){ return b==0?a:gcd(b, a%b); } void exgcd(int a, int b, int &x, int &y){ if(b==0){ x = 1; y = 0; return; } exgcd(b, a%b, x,原创 2016-10-11 11:02:54 · 165 阅读 · 0 评论 -
计数排序模版、
参考:百度百科 #include #include const int qq = 2100000; int num[qq]; int rank[qq]; int c[qq]; int main(){ int n,m; while(scanf("%d%d", &n)){ for(int i=0; i<n; ++i){ scanf("%d", num+i); c[num[i]]+原创 2016-10-07 12:43:02 · 169 阅读 · 0 评论 -
无向图转为由有根树模版、
参考:刘汝佳紫书P356 vectorG[MAXN]; int father[MAXN];//记录i结点的父亲是谁、 void read_tree(){ //读入 int u,v; scanf("%d",&n); for(int i=1; i<n; ++i){ scanf("%d%d",&u,&v); G[u].push_back(v); G[v].push_back(原创 2016-08-31 20:58:33 · 1892 阅读 · 0 评论