
模板
ling_fly
这个作者很懒,什么都没留下…
展开
-
高精度算法
#include#include#include#includeusing namespace std;//compare比较函数:相等返回0,大于返回1,小于返回-1int compare(string str1,string str2){ if(str1.length()>str2.length()) return 1; else if(str1.length()原创 2017-08-01 10:50:44 · 216 阅读 · 0 评论 -
基姆拉尔森公式计算星期
公式:W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%7 在公式中d表示日期中的日数,m表示月份数,y表示年数。注意:在公式中有个与其他公式不同的地方:把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。int cal(int y, int m, int d) { i原创 2017-08-14 21:39:56 · 305 阅读 · 0 评论 -
高精度计算
#define MAXN 9999 #define MAXSIZE 1010 #define DLEN 4 class BigNum {private: int a[5000]; //可以控制大数的位数 int len;public: BigNum() { len = 1;memset(a,0,sizeof(a)); } //构造原创 2017-08-16 13:40:22 · 294 阅读 · 0 评论 -
线段树--双标签
#include#include#include#include#define maxn 100010typedef long long LL;using namespace std;LL a[maxn],n,p;struct node{ int l,r; LL sum,alltag,multag;}tr[maxn*4];void build(int id,int原创 2017-08-08 17:41:39 · 251 阅读 · 0 评论 -
线段树--区间覆盖
#include#include#include#include#define maxn 100010typedef long long ll;using namespace std;int a[maxn],n,q;struct node{ int l,r,sum,tag;}tr[maxn*4];void build(int id,int l,int r);void原创 2017-08-08 17:39:53 · 578 阅读 · 0 评论 -
高精度乘法--速度较快
#include#include#include#include#includeusing namespace std;const int maxn=4005;string mul(string str1,string str2);int main(){ //freopen("in.txt","r",stdin); string a,b; cin>>a>>原创 2017-08-01 17:36:05 · 311 阅读 · 0 评论 -
线性筛
void makePrime(){ memset(isPrime,1,sizeof(isPrime)); primeCount=0;isPrime[1]=0; for(int i=2;i<maxn;i++){ if(isPrime[i]){ primeCount++; prime[primeCount]=i;原创 2017-08-08 11:24:48 · 265 阅读 · 0 评论 -
扩展欧几里得求Ax+By=1的解
node extend_gcd(LL a,LL b){ node ans; if(a%b==0){ ans.x=0,ans.y=1; return ans; } ans=extend_gcd(b,a%b); LL x=ans.y; LL y=ans.x-(a/b)*ans.y; ans.x=x; ans原创 2017-08-08 11:10:15 · 3193 阅读 · 0 评论 -
欧几里得求最大公约数
int gcd(int a,int b){ if(a%b==0)return b; else return gcd(b,a%b);}原创 2017-08-08 11:08:20 · 246 阅读 · 0 评论 -
tarjan求强连通分量
const int maxn=100050;int inStack[maxn],dfn[maxn],low[maxn],Index;int inComponent[maxn],componentDegree[maxn],componentNum=0;vectoredge[maxn],component[maxn];stackStack;memset(low,0,sizeof(l原创 2017-08-15 12:41:45 · 240 阅读 · 0 评论