
模板
文章平均质量分 71
Think_Idea
水滴石穿
展开
-
gauss 3种模板
普通版:const int MAXN=50;int a[MAXN][MAXN];//增广矩阵int x[MAXN];//解集bool free_x[MAXN];//标记是否是不确定的变元inline int gcd(int a,int b) { int t; while(b!=0) { t=b; b=a%b; a=t;原创 2015-09-29 21:37:11 · 1250 阅读 · 0 评论 -
最小生成树之Prime算法(基于优先队列)
#include #include #include #define MAXN 1010#define mem(a,b) memset(a,b,sizeof(a))using namespace std;/* * Prme算法:贪心,适用于稠密图 * 时间复杂度:O(NlogN+M)*/struct node{ int v,dist; node(int v,in原创 2015-09-24 00:14:00 · 1015 阅读 · 0 评论 -
hdu5442 Favorite Donut(后缀数组求正逆序中字典序最大的字符串)
题目链接:点击打开链接题意描述:给定一个字符串,如abc:正序abc、bca、cab以及逆序acb、bac、cba中字典序最大的那个字符串开始的位置以及正序or逆序i?如果字典序相同,取字符串开始位置较小的,如果开始位置也相同,优先取正序?解题思路:后缀数组分析:我们可以在abc后面再接一个abc则abc正序的所有可能都包含在abcabc中,且开始位置在0~n-1有效,同理逆序原创 2015-09-20 10:08:14 · 651 阅读 · 0 评论 -
hihocoder 1223 : 不等式(最大团问题)
题目链接:点击打开链接题意描述:给出一些不等式,求最多可以满足多少不等式同时成立?解题思路:最大团问题分析:1、我们可以根据不等式之间的关系建图,如果两个不等式同时成立,则在这两个顶点之间建立一条边,问题转化为求这张图的最大团问题;2、由于规模n注意:1、x不一定是整数2、读字符时建议用字符串读入,去st[0]即可,这样可以解决很多换行问题尤其/n/r原创 2015-09-17 15:40:29 · 635 阅读 · 0 评论 -
hdu1827 Summer Holiday(tarjan+ 缩点)
题目链接:点击打开链接题意描述:听说lcy帮大家预定了新马泰7日游,Wiskey真是高兴的夜不能寐啊,他想着得快点把这消息告诉大家,虽然他手上有所有人的联系方式,但是一个一个联系过去实在太耗时间和电话费了。他知道其他人也有一些别人的联系方式,这样他可以通知其他人,再让其他人帮忙通知一下别人。你能帮Wiskey计算出至少要通知多少人,至少得花多少电话费就能让所有人都被通知到吗?原创 2015-09-15 23:09:42 · 430 阅读 · 0 评论 -
hdu4009 Transfer water(最小树形图模板)
题目链接:点击打开链接题意描述:在一个村庄有n户人家(x,y,h),现在打算在村庄中挖井和建水渠使每户人家都可以用上水1、如果挖井费用为高度h*X;2、如果a->b建水渠,if(a.h>=b.h)费用为两点距离dis*Y,反之费用为dis*Y+Z问,怎样挖井和建水渠才能使费用最小?解体思路:最小树形图:点击打开链接分析:我们可以新建一个源点指向所有的用户,权值为挖井原创 2015-09-15 18:31:39 · 612 阅读 · 0 评论 -
hdu4081 Qin Shi Huang's National Road System(次小生成树模板)
代码:#include #include #include #include #define MAXN 1010#define INF 0x7fffffffusing namespace std;struct point{ int x,y,v;}p[MAXN];struct node{ int id;///节点标号 double dis; no原创 2015-09-09 00:53:04 · 473 阅读 · 0 评论 -
math.h 数学函数库
math.h 数学函数库,一些数学计算的公式的具体实现是放在math.h里,具体有: 1 三角函数 double sin (double); double cos (double); double tan (double); 2 反三角函数 double asin (double); 结果介于[-PI/2, PI/2] double acos (double); 结果介原创 2015-09-07 18:35:48 · 2093 阅读 · 0 评论 -
java在acm中的使用
这里指的java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目。1. 输入:格式为:Scanner cin = new Scanner (new BufferedInputStream(System.in));例程:import java.io.*;import java.math.*;import j转载 2015-08-28 10:22:33 · 400 阅读 · 0 评论 -
poj3659 Cell Phone Network(最小支配集-树形dp)
题目链接:点击打开链接题目描述:给定一棵树,从中选取尽量少的点使每个点要么被选中,要么和被选中的点直接相连?解题思路:树上的最小支配集,树形dpdp[i][0]:选中i作为支配集dp[i][1]:不选i作为支配集,但其子节点覆盖了idp[i][2]:不选i作为支配集,而且其子节点没有覆盖i代码:原创 2015-08-26 12:21:49 · 839 阅读 · 0 评论 -
树状数组区间求和三种模型
树状数组在区间求和问题上有大用,其三种复杂度都比线段树要低很多……有关区间求和的问题主要有以下三个模型(以下设A[1..N]为一个长为N的序列,初始值为全0):(1)“改点求段”型,即对于序列A有以下操作:【1】修改操作:将A[x]的值加上c;【2】求和操作:求此时A[l..r]的和。这是最容易的模型,不需要任何辅助数组。树状数组中从x开始不断减lowbit(x转载 2015-08-25 10:11:39 · 464 阅读 · 0 评论 -
矩阵快速幂模板
#define MOD 1000000007typedef long long ll;typedef struct matrixnod{ ll m[2][2];}matrix;matrix mat(matrix a,matrix b){ matrix c; int mod=MOD-1; for(int i=0;i<2;i++) for(int原创 2015-08-24 17:09:57 · 801 阅读 · 0 评论 -
线性同余方程组模板
void exgcd(int a,int b,int &d, int &x,int &y){///扩展欧几里德算法 if(!b){x=1;y=0;d=a;} else{exgcd(b,a%b,d,y,x); y-=x*(a/b);}}int n,m;///m代表方程组的数量int a[11],b[11];///x%a[i]=b[i]///求解同余方程组bool Chi_原创 2015-08-23 20:52:01 · 922 阅读 · 0 评论 -
hdu4762Cut the Cake(概率+大数操作(java)+C++高精度模板)
题目链接:点击打开链接题目描述:现有一个大蛋糕,上面随机分布了n个草莓,然后将草莓切成m块,问n个草莓全在一块蛋糕上面的概率?解题思路:仔细分析可得:C(n,1)/m^(n-1)由于m代码:javaimport java.math.BigInteger;import java.util.Scanner;public class Main { public st原创 2015-08-23 11:55:19 · 740 阅读 · 0 评论 -
RMQ(st在线算法模板)
#include#include#includeusing namespace std;#define M 100010#define MAXN 500#define MAXM 500int dp[M][18];/**一维RMQ ST算法*构造RMQ数组 makermq(int n,int b[]) O(nlog(n))的算法复杂度*dp[i][j] 表示从i到i+2^j原创 2015-08-18 21:13:52 · 1138 阅读 · 1 评论 -
hdu2899Strange fuction(三分搜索求极值)
题目链接:点击打开链接代码:#include #include #define eps 1e-6///精度问题,太高容易超时,太低容易答案错误,一般比题目要求的精度高两位即可using namespace std;double cal(double x,double y){ return (6*pow(x,7)+8*pow(x,6)+7*pow(x,3)+5*pow(x,原创 2015-08-17 19:58:23 · 707 阅读 · 0 评论 -
hdu5130Signal Interference(圆与多边形相交面积模板)
#include #include #include #include #include #include #include #include #include #include #include #include #define CL(arr, val) memset(arr, val, sizeof(arr))#define REP(i, n)for((i) = 0原创 2015-08-16 18:03:05 · 1057 阅读 · 0 评论 -
tarjan离线算法-LCA最近公共祖先算法模板(详细)
/********************************************//*****LCA最近公共祖先离线算法(tarjan)*****//********************************************/#include #include #include #include using namespace std;con原创 2015-05-05 22:00:40 · 1081 阅读 · 0 评论