随笔分类 -  【Dancing Links】

【总结】Dancing Links
摘要:1、精确覆盖。View Code 1 #include<cstdio> 2 #define INF 0x7FFFFFFF 3 #define MAXN 1000010 4 int n, m, size; 5 int L[MAXN], R[MAXN], U[MAXN], D[MAXN], H[MAXN]; 6 int S[MAXN], C[MAXN], X[MAXN], Q[MAXN]; 7 void Init() 8 { 9 int i;10 for (i = 0; i <= m; i++)11 {12 S[i] = 0;13 L[i ... 阅读全文
posted @ 2012-07-31 19:42 DrunBee 阅读(777) 评论(0) 推荐(0)
【HDU】4210 Su-domino-ku
摘要:1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #define MAXN 300000 5 #define MAXL 1010 6 #define MAXM 10 7 #define INF 0x7FFFFFFF 8 using namespace std; 9 int L[MAXN], R[MAXN], U[MAXN], D[MAXN]; 10 int S[MAXL], H[MAXL], C[MAXN], X[MAXN], Q[MAXL]; 11 bool vis[MAXM][M 阅读全文
posted @ 2012-07-31 19:40 DrunBee 阅读(284) 评论(0) 推荐(0)
【HDU】3957 Street Fighter
摘要:1 #include<cstdio> 2 #include<cstring> 3 #define MAXM 110 4 #define MAXN 100000 5 #define INF 0x7FFFFFFF 6 bool G[MAXM][MAXM]; 7 int L[MAXN], R[MAXN], U[MAXN], D[MAXN]; 8 int S[MAXN], X[MAXN], C[MAXN], H[MAXN]; 9 int size, depth; 10 bool vis[MAXM], has[MAXM]; 11 void Init(int m) { 12 i.. 阅读全文
posted @ 2012-07-30 22:27 DrunBee 阅读(383) 评论(0) 推荐(0)
【UVa】387 A Puzzling Problem
摘要:1 #include<cstdio> 2 #include<cstring> 3 #define MAXM 10 4 #define MAXN 100000 5 #define MAXL 110 6 #define INF 0x7FFFFFFF 7 struct node { 8 int h, l; 9 char s[MAXM][MAXM]; 10 }; 11 struct answer { 12 int pos, h, l; 13 }; 14 answer ans[MAXL]; 15 node sq[MAXM]; 16 bool vis[MAXL]... 阅读全文
posted @ 2012-07-30 10:46 DrunBee 阅读(307) 评论(0) 推荐(0)
【POJ】1084 Square Destroyer
摘要:1 #include<cstdio> 2 #include<cstring> 3 #include<vector> 4 #include<algorithm> 5 #define MAXM 80 6 #define MAXN 100000 7 #define INF 0x7FFFFFFF 8 using namespace std; 9 int L[MAXN], R[MAXN], U[MAXN], D[MAXN]; 10 int S[MAXN], H[MAXN], C[MAXN]; 11 int a[MAXM][MAXM], size, ans; 阅读全文
posted @ 2012-07-29 21:19 DrunBee 阅读(292) 评论(0) 推荐(0)
【HDU】3156 Repair Depots
摘要:1 #include<cstdio> 2 #include<cstring> 3 #include<cmath> 4 #define MAXM 20 5 #define MAXN 10000 6 #define EPS 1e-8 7 #define INF 0x7FFFFFFF 8 int L[MAXN], R[MAXN], U[MAXN], D[MAXN]; 9 int S[MAXN], H[MAXN], C[MAXN], B[MAXN]; 10 double dis[MAXM][MAXM]; 11 bool vis[MAXM]; 12 struct Po 阅读全文
posted @ 2012-07-29 01:04 DrunBee 阅读(364) 评论(0) 推荐(0)
【HDU】3656 Fire station
摘要:1 #include<cstdio> 2 #include<cmath> 3 #include<cstring> 4 #include<algorithm> 5 #define MAXN 5000 6 #define MAXM 60 7 #define INF 0x7FFFFFFF 8 using namespace std; 9 int n, m, size; 10 int L[MAXN], R[MAXN], U[MAXN], D[MAXN]; 11 int H[MAXM], S[MAXM], C[MAXN], a[MAXN]; 12 int 阅读全文
posted @ 2012-07-28 21:06 DrunBee 阅读(387) 评论(0) 推荐(0)
【HDU】2295 Radar
摘要:1 #include<cstdio> 2 #include<cstring> 3 #include<cmath> 4 #include<algorithm> 5 #define MAXM 110 6 #define MAXN 50000 7 #define EPS 1e-8 8 #define INF 0x7FFFFFFF 9 using namespace std; 10 int n, m, k, size; 11 int L[MAXN], R[MAXN], U[MAXN], D[MAXN], C[MAXN]; 12 int H[MAXN], 阅读全文
posted @ 2012-07-28 15:17 DrunBee 阅读(284) 评论(0) 推荐(0)
【SPOJ】1771 Yet Another N-Queen Problem
摘要:1 #include<cstdio> 2 #include<cstring> 3 #define MAXN 1000000 4 #define MAXM 3000 5 #define INF 0x7FFFFFFF 6 int L[MAXN], R[MAXN], U[MAXN], D[MAXN]; 7 int H[MAXM], S[MAXM], C[MAXN], X[MAXN], Y[MAXN], Q[MAXM], ans[MAXM], pos[MAXM]; 8 int n, size; 9 bool vis[MAXM]; 10 void Init(int m) { 11 阅读全文
posted @ 2012-07-28 12:11 DrunBee 阅读(395) 评论(0) 推荐(0)
【HDU】3335 Divisibility
摘要:1 #include<cstdio> 2 #include<algorithm> 3 #define MAXM 1010 4 #define MAXN 1000000 5 #define INF 0x7FFFFFFF 6 typedef long long LL; 7 using namespace std; 8 LL a[MAXM]; 9 int size, ans;10 int L[MAXN], R[MAXN], U[MAXN], D[MAXN];11 int H[MAXN], C[MAXN], S[MAXN];12 void Init(int n) {13 int 阅读全文
posted @ 2012-07-27 20:08 DrunBee 阅读(337) 评论(0) 推荐(0)
【HDU】3529 Bomberman - Just Search!
摘要:1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #define MAXM 20 5 #define MAXN 60000 6 #define MAXL 300 7 #define INF 0x7FFFFFFF 8 using namespace std; 9 char s[MAXM][MAXM]; 10 int L[MAXN], R[MAXN], U[MAXN], D[MAXN]; 11 int H[MAXL], S[MAXL], C[MAXN]; 12 int pos[MAXM] 阅读全文
posted @ 2012-07-27 10:21 DrunBee 阅读(266) 评论(0) 推荐(0)
【HDU】2828 Lamp
摘要:1 #include<cstdio> 2 #include<cstring> 3 #define MAXN 500010 4 #define MAXM 1010 5 #define INF 0x7FFFFFFF 6 int L[MAXN], R[MAXN], U[MAXN], D[MAXN]; 7 int H[MAXM], C[MAXN], S[MAXM], X[MAXN]; 8 bool vis[MAXM]; 9 int size; 10 void Init(int n) 11 { 12 int i; 13 memset(vis, false, sizeo... 阅读全文
posted @ 2012-07-27 02:08 DrunBee 阅读(350) 评论(0) 推荐(0)
【HDU】2119 Matrix
摘要:1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #define MAXN 110 5 #define MAXM 1000000 6 #define INF 0x7FFFFFFF 7 using namespace std; 8 int G[MAXN][MAXN]; 9 int L[MAXM], R[MAXM], U[MAXM], D[MAXM]; 10 int size, ans, S[MAXM], H[MAXM], C[MAXM]; 11 bool vis[MAXN * 100] 阅读全文
posted @ 2012-07-26 21:21 DrunBee 阅读(252) 评论(0) 推荐(0)
【HDU】3498 whosyourdaddy
摘要:1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #define MAXN 10000 5 #define MAXM 60 6 #define INF 0x7FFFFFFF 7 using namespace std; 8 bool G[MAXM][MAXM]; 9 int R[MAXN], L[MAXN], U[MAXN], D[MAXN]; 10 int size, ans, C[MAXN], S[MAXN], H[MAXN]; 11 bool vis[MAXM]; 12 voi 阅读全文
posted @ 2012-07-26 09:59 DrunBee 阅读(310) 评论(0) 推荐(0)
【FOJ】2076 SUDOKU
摘要:1 #include<cstdio> 2 #include<cstring> 3 #include<set> 4 #define MAXN 9 5 #define MAXM 500000 6 #define INF 0x7FFFFFFF 7 using namespace std; 8 char sd[MAXN][MAXN]; 9 int L[MAXM], R[MAXM], U[MAXM], D[MAXM]; 10 int H[MAXM], S[MAXM], C[MAXM], pos[MAXN << 3][MAXN << 3]; 11 阅读全文
posted @ 2012-07-26 00:43 DrunBee 阅读(214) 评论(0) 推荐(0)
【HDU】3663 Power Stations
摘要:1 #include<cstdio> 2 #include<cstring> 3 #define MAXN 400000 4 #define MAXM 70 5 #define INF 0x7FFFFFFF 6 bool G[MAXM][MAXM], vis[MAXM << 5]; 7 int L[MAXN], R[MAXN], U[MAXN], D[MAXN]; 8 int S[MAXN], C[MAXN], X[MAXN], H[MAXN]; 9 int n, m, d, size, row[MAXM][10][10]; 10 void Init(int 阅读全文
posted @ 2012-07-25 18:54 DrunBee 阅读(327) 评论(0) 推荐(0)
【HDU】4069 Squiggly Sudoku
摘要:1 #include<cstdio> 2 #include<cstring> 3 #define MAXN 9 4 #define MAXH 800 5 #define MAXL 324 6 #define MAXM 240000 7 #define INF 0x7FFFFFFF 8 int size, cnt, a[MAXN][MAXN], sd[MAXN][MAXN], belong[MAXN][MAXN]; 9 int L[MAXM], R[MAXM], U[MAXM], D[MAXM], C[MAXM], X[MAXM]; 10 int S[MAXH], H[M 阅读全文
posted @ 2012-07-24 23:20 DrunBee 阅读(280) 评论(0) 推荐(0)
【HDU】3909 Sudoku
摘要:1 #include<cstdio> 2 #include<cstring> 3 #define SD 16 4 #define MAXN 2400000 5 #define MAXM 4100 6 #define INF 0x7FFFFFFF 7 char sd[SD][SD]; 8 int L[MAXN], R[MAXN], U[MAXN], D[MAXN], C[MAXN], X[MAXN]; 9 int size, cnt, row, S[MAXM], H[MAXM], Q[MAXM], ans[MAXM]; 10 bool vis[MAXM]; 11 void 阅读全文
posted @ 2012-07-24 21:57 DrunBee 阅读(293) 评论(0) 推荐(0)
【HDU】3111 Sudoku
摘要:1 #include<cstdio> 2 #include<cstring> 3 #define MAXM 10 4 #define MAXL 324 5 #define MAXN 240000 6 #define INF 0x7FFFFFFF 7 char sd[MAXM][MAXM]; 8 int L[MAXN], R[MAXN], U[MAXN], D[MAXN], H[MAXN]; 9 int size, C[MAXN], S[MAXN], X[MAXN], Q[MAXN], vis[MAXL * 3]; 10 void Read() 11 { 12 int.. 阅读全文
posted @ 2012-07-24 20:21 DrunBee 阅读(201) 评论(0) 推荐(0)
【HDU】2780 Su-Su-Sudoku
摘要:1 #include<cstdio> 2 #include<cstring> 3 #define MAXM 10 4 #define MAXL 324 5 #define MAXN 240000 6 #define INF 0x7FFFFFFF 7 char sd[MAXM][MAXM]; 8 int L[MAXN], R[MAXN], U[MAXN], D[MAXN], H[MAXN]; 9 int size, C[MAXN], S[MAXN], X[MAXN], Q[MAXN], vis[MAXL * 3]; 10 void Read() 11 { 12 int.. 阅读全文
posted @ 2012-07-24 20:18 DrunBee 阅读(240) 评论(0) 推荐(0)