锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
騫垮憡錛?br />鎴戝仛鐨勪笐闄嬬殑USACO錛屽ぇ瀹跺仛鐨勫悓鏃跺府鎴戝弬鐪嬩互涓嬶紝濡傛灉浣犵殑鏂規硶姣旀垜濂斤紝鎴栧彂鐜版垜鐨勮В娉曟槸閿欑殑錛屾垨鑰呯湅涓嶆噦鎴戠殑xls閲岄潰鍐欑殑璇濓紝璇峰強鏃跺憡璇夋垜錛屽挨鍏舵槸椹瀺灞辯殑鍚屼粊浠晩銆?br />涓嬭澆鍦板潃錛?a >http://dl.dbank.com/c0ecq94jha
]]>
]]>
鐩綍
闆躲傝鏄?br />涓銆傚涔犲唴瀹?br />浜屻傜粌涔犻
涓夈傛帹鑽愪功鐩?br />鍥涖傝祫鏂?br />
闆躲傝鏄?br /> -絎竴閮ㄥ垎鍒椾婦浜嗘墍鏈夋垜鎵鐭ラ亾鐨勮瀛︾殑鐭ヨ瘑錛堜笉浠呬粎鏄殑NOIP鎵闇鐨勭煡璇嗭級錛屼笉瑕佽鏁伴噺鍚撳埌錛屽叿浣撶殑浜烘垜鍙互鍏蜂綋鎺ㄨ崘瀛︿範鍐呭銆?br /> -鍙互鐩存帴璺沖埌絎簩閮ㄥ垎鍋氱粌涔狅紝鐒跺悗瀵圭収絎竴閮ㄥ垎錛岀湅鐪嬭嚜宸辨帉鎻′簡閭d簺鐭ヨ瘑銆?br /> -浠呬唬琛ㄤ釜浜鴻鐐癸紝璇蜂互鑰佸笀鐨勮姹備負鍑嗐?br /> -鎴戜篃寰堝急錛屼簰鐩稿涔犮?br />
涓銆傚涔犲唴瀹癸紙涓嶆槸寰堝ソ鍖哄垎闅懼害錛岃瑙佺粌涔犻錛夛細
0.windos鍙妉inux鍩烘湰鐨勭郴緇熷懡浠や互鍙婂鎷嶆柟娉曘?br />1.鍩虹鐭ヨ瘑錛堝緟鎵╁睍錛屼絾瑙夊緱鍙鍋歎SACO灝卞彲浠ユ帉鎻★級
2.鎼滅儲錛堟垜浠叏闃熼兘澶急浜嗭紝涓瀹氳鍔犲己錛?br /> -N閲嶅驚鐜?br /> -BFS
=鍙屽悜
=鍒ら噸
+HASH錛堝挨鍏舵槸瀛楃涓睭ASH錛?br /> +鍒嗘HASH
+鍚勭鏁版嵁緇撴瀯鍒ら噸錛圱ire鏁般佸鉤琛℃爲絳夛級
=A*
-DFS
=鍚勭鍓灊
-ID-DFS
-ID-A*
-DLX
-榪戜技綆楁硶鍙婂叾浠?br /> =妯℃嫙閫鐏?br /> =閬椾紶綆楁硶
=闅忔満璋冩暣
=闅忔満璐績
3.DP錛堜富瑕佹槸鑷繁鍋氶鎬葷粨錛屾劅鎮?鏁板鑳藉姏錛?br />4.瀛楃涓叉搷浣?br /> -c++鐨剆tring
-KMP
-ExKMP
-鏈灝忚〃紺烘硶
-Tire鏍?br /> -AC鑷姩鏈?br /> -鍚庣紑鏁扮粍
-鍚庣紑鏍戯紙濂藉儚琚窐姹頒簡錛?br /> -鍚庣紑鑷姩鏈恒愯繖涓彲浠ュ拷鐣ャ?br />5.鏁版嵁緇撴瀯
-閾捐〃
=鏅氶摼琛?br /> =璺寵穬琛?br /> =Dancing links
-闃熷垪
=鏅氶槦鍒?br /> =寰幆闃熷垪
=鍗曡皟闃熷垪
-鏍?br /> =鎵嬪伐鏍堟悳绱?br /> =琛ㄨ揪寮忓鐞?br /> -鍫?br /> =鍝堝か鏇兼爲
=鍙悎騫跺爢
+宸﹀亸鏍?br /> +鏂滃爢
+浜岄」鍫?br /> -騫舵煡闆?br /> -鏍戠姸鏁扮粍
-綰挎鏍?閲嶇偣鎺ㄨ崘)
-騫寵 鏍?br /> =綰㈤粦鏍戯紙鐭ラ亾鐞嗚+浼氱敤set鍜宮ap錛?br /> =AVL
=Treap
=瓚呭揩SBT(閲嶇偣鎺ㄨ崘)
=涓囪兘Splay(閲嶇偣鎺ㄨ崘)
-鍧楃姸閾捐〃
-鏍戦摼鍓栧垎錛堟垜涔熶笉鐭ラ亾錛?br />6.鍥捐涓庢爲
-鍥劇殑鑱旈氭?br /> =floodfill
=BFS鍒嗗眰
=涓ゆBFS姹傚己榪為氬垎閲?br /> =鎷撴墤鎺掑簭
=鍏抽敭璺緞
=姹傜幆
=嬈ф媺鍥炶礬
=姹夊瘑灝旈】鍥炶礬
=Tarjan綆楁硶
+姹傚己榪為氬垎閲?br /> +姹傚壊鐐?br /> +姹傛ˉ
-鏈鐭礬
=floyd
=dijstra
=SPFA
=dijstra+heap
=Bellman-ford姹傚樊鍒嗙害鏉熺郴緇?br /> =floyd*姹傛渶灝忕幆
=K鐭礬
=闄愬埗鏉′歡鏈鐭礬
=鍒嗗眰鍥炬渶鐭礬
=鐘舵佸帇緙╂渶鐭礬
-鐢熸垚鏍?br /> =prim
=Kruskal
=prim+heap
=鐮寸幆娉曟眰鏈灝忕敓鎴愭爲
=鍔ㄦ佹渶灝忕敓鎴愭爲
=嬈″皬鐢熸垚鏍?br /> =鏈澶т環鍊兼瘮鐢熸垚鏍?br /> =鐗規畩鐢熸垚鏍?br /> =緇熻鐢熸垚鏍戠殑涓暟錛堢粍鍚堟暟瀛︼級
-鏍戜笂闂
-LCA鍜孯MQ
-鑺傜偣鍒版牴鐨勮窛紱?br /> -鏍戠殑鐩村緞
-鏍戠殑涓績
-浠繪剰鐐瑰闂磋窛紱?br /> - 2-SAT闂
7.緗戠粶嫻侊紙鎴戞葷粨鍦ㄤ簡絎笁鏈瑪璁版湰錛?br /> -浜屽垎鍥?br /> =鍖堢墮鍒╃畻娉?br /> =KM綆楁硶
=瑕嗙洊闆嗕笌鐙珛闆?br /> =鏈灝忚礬寰勮鐩?br /> -鏈澶ф祦
=DINIC
=SAP
=HLLP
=鏈変笂涓嬬晫鐨勬渶澶ф祦
-鏈灝忓壊
=姹傚綋鍓嶆祦鐨勬渶灝忓壊
=騫抽潰鍥炬渶灝忓壊杞渶鐭礬
=闂悎鍥?br /> =鏈灝忕偣鏉冭鐩栭泦涓庢渶澶х嫭绔嬬偣鏉冮泦
=0/1鍒嗘暟瑙勫垝
=鏈澶у瘑搴﹀瓙鍥?br /> -璐圭敤嫻?nbsp;
=鏈鐭礬澧炲箍璐圭敤嫻?br /> =zkw-璐圭敤嫻佹渶灝忚垂鐢ㄥ彲琛屾祦
-鏋勫浘鎶宸э紙璇峰涔犵綉緇滄祦24棰橈紝浣滆咃細閮瀹濓級
8.鏁拌錛堟垜鎬葷粨鍦ㄤ簡鏈緇堢瑪璁版湰錛?br /> -gcd
=stein綆楁硶
=嬈у嚑閲屽緱綆楁硶
=鎷撳睍嬈у嚑閲屽緱綆楁硶
-璐ㄦ暟
=MR嫻嬭瘯
=蹇熷箓
=sqrt錛坣錛夊垽瀹?br /> =鍙嶈川鏁?br /> =綆楁暟鍩烘湰瀹氱悊鍙婃帹璁?br /> -鍚屼綑
=濞佸皵閫婂畾鐞?br /> =璐歸┈灝忓畾鐞?br /> =嬈ф媺瀹氱悊
=涓浗鍓╀綑瀹氱悊
-榪涘埗鐩稿叧
=綺懼埗杞崲=楂樼簿寰幆灝忔暟
=Self-number
-鍏朵粬
=px+qy鍛介
=姹俷錛佷綅鏁扮殑鏂規硶鍙婃帹騫?br /> =P^xTm錛佺殑搴旂敤
9.緇勫悎鏁板錛堣繕鏈涔狅級
10.璁$畻鍑犱綍錛堣繕鏈涔狅級
11.鍗氬紙璁猴紙榪樻湭瀛︿範錛?br />12.姒傜巼璁猴紙榪樻湭瀛︿範錛?br />13.楂樼瓑鏁板涓庣嚎鎬т唬鏁幫紙姝e湪瀛︿範錛?br />
浜屻傜粌涔犻
NOIP錛?br /> -USACO-C1~C4錛堟垜AC浜嗭級
-澶ч儴鍒哊OIP鐪熼
鐪侀夛細
-鎵鏈塏OIP鐪熼錛堟垜宸竴鐐癸級
-閮ㄥ垎NOI鐪熼錛堝熀鏈病鏈夊仛錛?br /> -USACO-C5~C6錛堟垜AC浜嗭級
-SGU鑳藉仛澶氬皯鍋氬灝戯紙鎴戣繕娌″仛錛?br />鏇撮珮鏇村錛氾紙瀹屽叏闈炴垜鎵鍙婏紝浣嗕綘浠細瓚呰繃鎴戠殑錛?br /> -USACO涓婄殑鍚勭姣旇禌
- www.topcoder.com/tc
- www.codeforces.com
璇存槑錛?a >http://hi.baidu.com/buaa_babt/blog/item/522fb239ef912cdc7d1e71b5.html
涓夈傛帹鑽愪功鐩紙鎴戜拱浜嗗ソ澶氫功鏀懼湪浜屼腑錛?
鍥涖傝祫鏂欙紙榪樻湭鏁寸悊錛?nbsp;
]]>
鍚屾椂鍙戠幇鎴戝啓鐨凞INIC姣斿寛鐗欏埄綆楁硶榪樺揩,涓轟粈涔堝憿錛熷寛鐗欏埄綆楁硶鏄掑綊鐨勫惂銆傘傘?img src ="http://www.shnenglu.com/zyn1996/aggbug/173776.html" width = "1" height = "1" />
]]>
澶嶅埗a[i..i+k]緇檅[j..j+k]
memcpy(b+j,a+i,sizeof(a[0])*(k+1));
鏄劇劧a鍜宐鍒扮被鍨嬭涓鏍風殑銆?img src ="http://www.shnenglu.com/zyn1996/aggbug/173674.html" width = "1" height = "1" />
]]>
]]>
/*
USER: zyn19961
TASK: window
LANG: C++
*/
#include<iostream>
#include<fstream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
//
using namespace std;
#define MM(a,i) memset(a,i,sizeof(a))
#define FOR(i,l,r) for (int i=(l);i<=(r);i++)
#define PFOR(p,a,next) for(int p=a;p;p=next[p])
//
typedef long long int64;
const int INF=~0U>>2;
//
int maxp=0, minp=0;//maxp鏈鍚庨潰鐨勶紝 minp鏈鍓嶉潰鐨?
class Window{
public:
int x1,y1,x2,y2,pos;
void init(int a, int b, int c, int d){
if(a>c)swap(a,c);if(b>d)swap(b,d);
x1=a,y1=b,x2=c,y2=d,pos=minp--;}
double area(){return (x2-x1)*(y2-y1);}
};
Window window[256];
bool map[300][300];
int hx[50000],hy[50000];
int fx[1000], fy[1000];
double query(char ch){
MM(hx,0),MM(hy,0),MM(fx,0),MM(fy,0);
int fxn=0,fyn=0;
//step 1, 鎵懼嚭鍦╟h鍓嶉潰鐨勭獥鍙?br /> //step 2, 紱繪暎鍖?
FOR(i,0,255)
if(window[i].pos!=-INF)// && i != ch){
if(window[i].pos<=window[ch].pos)
hx[window[i].x1]=true,hx[window[i].x2]=true,
hy[window[i].y1]=true,hy[window[i].y2]=true;
FOR(i,0,32767){
if(hx[i])fx[fxn++]=i,hx[i]=fxn-1;//else hx[i]=-1;
if(hy[i])fy[fyn++]=i,hy[i]=fyn-1;//else hy[i]=-1;
}
//step 3, fillflood
MM(map,false);
FOR(i,0,255)
if(window[i].pos!=-INF&&i!=ch){
if(window[i].pos<window[ch].pos){
int bx=hx[window[i].x1],
by=hy[window[i].y1];
for(int x=bx;fx[x]<window[i].x2; x++)
for(int y=by;fy[y]<window[i].y2;y++)
map[x][y]=true;
}
}
//step 4, 璁$畻闈㈢Н鐧懼垎姣?
double area=window[ch].area();
int bx=hx[window[ch].x1],
by=hy[window[ch].y1];
double white=0.0;
for(int x=bx;fx[x]<window[ch].x2;x++)
for(int y=by;fy[y]<window[ch].y2;y++){
if(!map[x][y])
white+=(fx[x+1]-fx[x])*(fy[y+1]-fy[y]);
}
return white/area;
}
int main(){
freopen("window.in","r",stdin);
freopen("window.out","w",stdout);
char op, ch;
int x1,y1,x2,y2,cnt=0;
while(scanf("%c",&op) != EOF){
if (op!='s')
scanf("(%c,%d,%d,%d,%d)\n",&ch,&x1,&y1,&x2,&y2);
else
scanf("(%c)\n",&ch);
switch(op){
case 'w': window[ch].init(x1,y1,x2,y2);break;
case 't': window[ch].pos=minp--; break;
case 'b': window[ch].pos=maxp++; break;
case 'd': window[ch].pos=-INF; break;
case 's': printf("%.3f\n", query(ch)*100); break;
default: break;
}
}
return 0;
}
]]>
=绱犳暟鐜?img src ="http://www.shnenglu.com/zyn1996/aggbug/172275.html" width = "1" height = "1" />
]]>
緇撳悎 Charper6鐨勬爣棰樸婂ぇ璧涘疄璺點嬪彲浠ユ帹嫻嬶細姣旇禌鐨勪富瑕佸唴瀹瑰氨鏄疍P+鍥捐+鏁版嵁緇撴瀯銆?br />
瀹屾瘯銆?img src ="http://www.shnenglu.com/zyn1996/aggbug/172223.html" width = "1" height = "1" />
]]>
鍏堟槸绱姞錛坸or錛屼竴寮濮嬬湡鍐欐垚+浜嗭紝緇撴灉鏌ヤ簡閭d箞涔呫傘傘傘傦級
鐒跺悗浣滃樊錛屾劅瑙夌被浼煎崟璋僁P錛屾湁涓綾誨崟璋僁P浣跨敤騫寵 鏍戠殑錛屼絾榪欎釜涓嶉渶瑕佺敤騫寵 鏍戯紝鍙鐢╰ire鏍戙?br />鑰冭檻鍒?/1鎬у拰鏈鍧忔儏鍐典笅鏍戠殑瀵嗛泦搴︼紝浜庢槸鍐欎簡闈欐佸畬鍏ㄤ簩鍙夋爲銆傘傘傘?br />浜庢槸MLE錛岀劧鍚庨檷浣巑axa錛孯T錛屽悓鏃墮檷浣巑axt錛學A銆?br />鐒跺悗宸﹀彸鏂熼厡鎻愪氦澶氭錛孧LE鎴朩A銆?br />鏈鍚庡崱甯告暟錛屾妸鏍戠殑鍓峬axt-1灞傜敤bool錛屾渶鍚庝竴灞傜敤int銆傘傘傘傘侫C浜嗐傘傘傘傘?
琚敼孌嬬殑浠g爜
]]>