原创 Uva.10340 All in All

#include<iostream> #include<cstdio> #include<string> using namespace std; const int maxn = 10000; int main() { //freo

原创 Uva.10815 Andy's First Dictionary

題目鏈接: https://vjudge.net/problem/UVA-10815 代碼如下: #include<cstdio> #include<iostream> #include<string> #include<iomani

原创 單調隊列--滑動窗口

洛谷題目鏈接:https://www.luogu.org/problem/show?pid=1886 代碼 #include<cstdio> #include<cstring> #include<iostream> #include<al

原创 最近公共祖先--RMQ

傳送門:hihoCode.1069 #include <iostream> #include <string> #include <cstdio> #include <map> #include <vector> #include <cm

原创 中國剩餘原理

傳送門:POJ 1006 介紹一篇大佬的博客:http://972169909-qq-com.iteye.com/blog/1125532 #include<iostream> #include<cstdio> #include<cst

原创 同餘方程

傳送門:POJ 1061 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #define maxn 100010 typedef long l

原创 高精度計算

#define MAXN 9999 #define MAXSIZE 1010 #define DLEN 4 class BigNum { private: int a[5000]; //可以控制大數的位數

原创 tarjan求強連通分量

const int maxn=100050; int inStack[maxn],dfn[maxn],low[maxn],Index; int inComponent[maxn],componentDegree[maxn],compone

原创 線段樹--雙標籤

#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #define maxn 100010 typedef long long LL; using

原创 最大公約數和最小公倍數問題--分解質因子

原文: http://blog.csdn.net/ADjky/article/details/70504560 #include<iostream> #include<cstdio> using namespace std; int c

原创 中國剩餘定理--不互質情況

傳送門:HDU.1573 #include<iostream> #include<cstdio> #include<cstring> #define LL long long using namespace std; const int

原创 基姆拉爾森公式計算星期

公式:W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%7  在公式中d表示日期中的日數,m表示月份數,y表示年數。 注意:在公式中有個與其他公式不同的地方: 把一月和二月看成是上一年的十三月和十四

原创 容斥原理

傳送門:HDU 1796 常用方法有兩種:遞歸法和二進制枚舉法。 遞歸法是利用dfs的思想進行搜索,檢索每一種方案進行容斥。 二進制枚舉的方法最大的好處是能夠枚舉出所有元素組合的不同集合。假設一個集合的元素有m個,則對於m長的二

原创 線性篩

void makePrime(){ memset(isPrime,1,sizeof(isPrime)); primeCount=0;isPrime[1]=0; for(int i=2;i<maxn;i++){

原创 SPFA

傳送門:hihoCoder.1903 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<string> #include<que