原创 poj 1598 Excuses, Excuses!

#include<stdio.h> #include<string.h> char str1[25][100],str2[25][100],ch[100],str3[25][100]; int m,n,ans[25]; int judge

原创 字符消除

時間限制:1000ms 單點時限:1000ms 內存限制:256MB 描述 小Hi最近在玩一個字符消除遊戲。給定一個只包含大寫字母"ABC"的字符串s,消除過程是如下進行的: 1)如果s包含長度超過1的由相同字母組成的子串,那麼

原创 hdu 5496 Beauty of Sequence

點擊打開鏈接 #include<stdio.h> #include<string.h> #include<stack> #include<string> #include<math.h> #include<queue> #include<

原创 HDU 2460

J 點擊打開鏈接 #include<stdio.h> #include<string.h> #include<stack> #include<string> #include<math.h> #include<queue> #includ

原创 FZU 1719

U 點擊打開鏈接  連通圖縮點 #include<stdio.h> #include<string.h> #include<stack> #include<string> #include<math.h> #include<queue>

原创 hdu 3018 Ant Trip

問至少從幾個點出發可以遍歷所有的邊且每條邊僅訪問一次。 先看看給定的圖是幾個聯通塊組成的,遍歷的起點和終點肯定是度爲奇數的點(除非這聯通塊是環)也就是遍歷只能是u->v1->v2->v3->。。。。->vn(或者u->v1->v2->v3

原创 POJ 2436

A 點擊打開鏈接 #include<stdio.h> #include<string.h> #include<stack> #include<string> #include<math.h> #include<queue> #includ

原创 hdu 5529 ZYB's Premutation

當時想到是nlog(n)的方法,也想到用線段樹,可是就是寫不出來,只知道a[i]-=a[i-1]就是前面有多少個數比當前這個數大,卻沒想到如果這時a[i]+1就是當前數組中第幾大的數了,當然要倒着求,然後就是用線段樹維護一個數組了。沒想到

原创 hihocoder #1141 : 二分·歸併排序之逆序對

#include<stdio.h> #include<string.h> #include<math.h> #include<vector> #include<queue> #include<algorithm> #include<set

原创 HDU 1827

#include<stdio.h> #include<string.h> #include<stack> #include<string> #include<math.h> #include<queue> #include<set> #i

原创 HDU 1698 Just a Hook

#include<stdio.h> #include<string.h> #define size 100010 struct node { int l,r,sum,add;//sum存的是當前根節點下所有枝葉的和 }tree[size

原创 hdu 3605 Escape(多重匹配)

#include<stdio.h> #include<string.h> #define N 100005 #define M 13 bool map[N][M],vis[M]; int m,n,match[M][N],lim[M],nu

原创 HDU 1068 Girls and Boys (二分圖 最大獨立子集)

#include<stdio.h> #include<string.h> #define M 510 #define N 250010 int head[M],next[N],key[N],match[M]; int use[M],num

原创 HDU 1151 Air Raid(最小路徑覆蓋)

最小路徑覆蓋=定點數 - 最大匹配數#include<stdio.h> #include<string.h> #define N 1050 int

原创 hdu 1002

#include<stdio.h> #include<string.h> char s1[1010],s2[1010]; int main() { int i,j,m,n,t,ca=1; int f1[1010],f2[1