原创 洛谷 P1094 紀念品分組

P1094 紀念品分組 先按價格對紀念品排序(這裏是從大到小),然後從兩端向中心開始配對,有兩個變量i和j,表示正在處理的兩個紀念品編號,開始時i=1,j=n,如果a[i]+a[j]>w則第i貴的紀念品無法與任何較小的紀念品配對,那麼該紀

原创 並查集--算法,優化,變種

一、定義並查集是一種樹型的數據結構,用於處理一些不相交集合的合併及查詢問題。 基礎的並查集能實現以下三個操作:1.建立集合;2.查找某個元素是否在一給定集合內(或查找一個元素所在的集合); 3.合併兩個集合.“並”“查”“集”三字由此而

原创 洛谷 P2024 食物鏈

P2024 食物鏈 法一:種類並查集 #include<cstdio> int fa[250000]; int n,k,ans; //fa[i]表示與i同類的集合,fa[i+n]表示i吃的集合,fa[i+2n]表示吃i的集合 int fi

原创 洛谷 P1060 開心的金明

P1060 開心的金明 ans[i][j]表示前i件物品用j元時最大結果 則ans[i][j]=max(ans[i-1][j-v[i]+v[i]*w[i],ans[i-1][j]) 顯然,ans[i][j]只會用到ans[i-1][p](

原创 洛谷 P1086 花生採摘

P1086 花生採摘 將植株按花生數從大到小排序,然後按排序後的順序摘,每次摘前計算能否在摘後回到路邊,如果能就將ans加上該植株花生數,如果不能就直接輸出當前ans並退出。 var a:array[1..405,1..3] of int

原创 洛谷 P1019 單詞接龍

P1019 單詞接龍var a:array[1..21] of string; b:array[1..21] of integer; i,n,x,max:longint; ch:char; function min(a,b:lon

原创 洛谷 P1892 團伙

P1892 團伙 並查集 #include<cstdio> int fa[2500];//fa[i]表示i的朋友所在集合,fa[i+n]表示i的敵人所在集合 bool boo[2500]; int ans,n,m; int find(i

原创 洛谷 P1017 進制轉換

P1017 進制轉換 先從正進制開始考慮。 例如二進制: 18=1*2^4+0*2^3+0*2^2+1*2^1+0*2^0=0+2(1+2(0+2(0+2(1)))) k=a[n]*2^n+a[n-1]*2^(n-1)+...+a[0]

原创 洛谷 P1032 字串變換

P1032 字串變換 #include<iostream> #include<string> #include<map> using namespace std; map<string,bool> map1; string s1,s2;

原创 洛谷 P1908 逆序對

P1908 逆序對 法一:歸併排序求逆序對(不好理解,記一下) (此處用的是從大到小排序,畢竟求的是序列中ai>aj且i<j的有序對) 在二路歸併的時候,設l<=i<=mid,mid+1<=j<=r,要歸併的是a[l]到a[mid]還有a

原创 洛谷 P1031 均分紙牌

P1031 均分紙牌 這道題告訴我們,對於實在想不出算法的題,可以大膽按照直覺用貪心,而且在考試中永遠不要試着去證明貪心算法,因爲非常難證,會浪費大量時間。 (這就是你們都不去證的理由??) 這道題貪心算法就是,計算牌的平均數,然後除了最

原创 洛谷 P1042 乒乓球

P1042 乒乓球var s:string; a1:array[1..50000] of char; i,n,x,y:longint; procedure f1; begin while not eof do begin

原创 洛谷 P1090 合併果子

大佬的做法 自己的做法: var n,i,ans,a1,k,temp:longint;a:array[1..10001] of longint; procedure qsort(l,r:longint); var i,j,k,p

原创 洛谷 P1219 八皇后

搜索+打點 type ar=array[0..25] of integer; var arr:ar; i,j,n,p,q,ans:longint; function ok(x,y:integer):boolean; var k,m

原创 洛谷 P1196 銀河英雄傳說

P1196 銀河英雄傳說 加權並查集,簡介見加權並查集,具體方法見代碼及註釋 //P1196 銀河英雄傳說 #include<cstdio> int fa[30010]; int r[30010];//r[i]表示第i號戰艦在其父親之後