題解 luogu P1090 【合併果子】
下面是插排的做法
總之就是每次將最小的合併,但是有些網上的變態資料卡插排,所以我們接下來寫一個優先佇列
#include<bits/stdc++.h> using namespace std; int a[10050],n; int main() { long long i,y=0,j; // freopen("fruit.in","r",stdin); // freopen("fruit.out","w",stdout); cin>>n; for (i=1;i<=n;i++)cin>>a[i]; sort(a+1,a+n+1); for(i=1;i<=n-1;i++) { a[i+1]+=a[i];y+=a[i+1]; for(int j=i+1;j<=n-1;j++) { if(a[j]>a[j+1]) swap(a[j],a[j+1]); else break; } } cout<<y; return 0; }
相關推薦
題解 luogu P1090 【合併果子】
下面是插排的做法 總之就是每次將最小的合併,但是有些網上的變態資料卡插排,所以我們接下來寫一個優先佇列 #include<bits/stdc++.h> using namespace std; int a[10050],n; int main() { long long
洛谷 P1090 【合併果子】題解
題目傳送門 各位又是priority queue又是heap的,做了個弱點的,送上來 策略很簡單,每次拿兩個最小的和並,這個用堆來做簡直就是送分題 但是我那個時候還不會堆,所以這裡採用的方法是 1、走來做一次快排,使得這些堆升序 2、合併最前面的兩個(也就是兩個
題解 luogu P2083 【找人】
蒟蒻學完並查集,看啥都是並查集。 於是我就神奇的用並查集解出了此題 思路就是從1至n* m掃一圈,將當前房間所在位置與它指向房間merge注意必須把它merge到它指向房間的兒子節點。最後,你就會發現同學家正好是一個根節點 樣例merge後樣子如下,但樣例中無死迴圈情況,這題是可
題解 luogu P1536 【村村通】
非常弱的一道黃題。 明明裸並查集還是要加一個“生成樹”的標籤。 並查集判同村,若不同村就ans++ 下面貼程式碼 #include<bits/stdc++.h> using namespace std; int bcj[5010]; int get(int x)
題解 luogu P2068 【統計和】
小水題 話說rayment大佬噓寒問暖兩天,差點教會我怎麼用splay求區間和。這題我差點就下狠手使用splay了。 線段樹1的退化版,change區間變成了change一個數,延遲標記?不存在! 所以我們只需要簡單建一棵線段樹,然後輕鬆模擬就好了。建樹其實只需要將樹的區間搞出來
Luogu P1967 【貨車運輸】題解
一看到這道題,就想到了某次小生成樹 一般對於無向圖且不是樹的情況,求路徑經過邊的最小(最大)值且不考慮路徑總長,通常考慮最小(最大)生成樹 由於求儘量通過邊,最大生成樹即可 很愉快的,問題轉換成了如何求樹上兩點間的邊權最小值。 對於樹上路徑問題,我們通常考慮倍增或樹剖 (但我太菜
題解 luogu P1135 【奇怪的電梯】
DFS題 首先,思想是一個佇列,一個數組判樓層是否重複,還有一個樓層陣列記錄當前樓層數 (我之前把head和樓層混為一談,導致RE無數遍) #include<bits/stdc++.h> using namespace std; int t[250][3]; int
題解 luogu P1588 【丟失的牛】
此題用 bfs 一定要記得特判過10000和小於0!!! #include<bits/stdc++.h> using namespace std; int head,tail; int a[3][500000]; bool t[500000]; int main()
題解 luogu P1803 【凌亂的yyy】
這題是一個基本的貪心思想,由於我們要讓一個比賽給後面的比賽空出儘可能多的時間,我們要讓每個出現在日程表上比賽的結束時間越早越好。 先排序,再根據結束時間順序選擇。 #include<bits/stdc++.h> using namespace std; int a[101
題解 luogu P1024 【一元三次方程求解】
這道題的二分原理題目已給出:f(x)*f(x+1)<0時,x至x+1中必有一根。那麼,我們只需要迴圈-100至100,再用分治考慮小數部分就可以了。下面附上程式碼: #include<bits/stdc++.h> using namespace std; double
題解 luogu P3366 【【模板】最小生成樹】
最小生成樹kruskal演算法! 最弱紅名的首道圖論題 貪心演算法,按邊的權值排序,然後看當前指定的兩點有木有已經在一棵樹上,如果有,不管,沒有,merge。然後ans加上那條邊的權值。 #include<bits/stdc++.h> using namespace
題解 luogu P1547 【Out of Hay】
圖論基本題第一道! kruskal演算法!! #include<bits/stdc++.h> using namespace std; struct path { int k,l,q; }p[200000]; int bcj[200000]; int get(int x
題解 luogu P2360 【地下城主】
感謝奆佬王總! sto orz 簡單廣搜,多一維而已,並沒有什麼區別。。。 話說我部落格的證書是什麼鬼。。。別人的部落格都進得去,我的還要新增例外?! #include<bits/stdc++.h> using namespace std; int x[10]={
題解 luogu P2757 【[國家集訓隊]等差子序列】
首先,用一個桶儲存每個數的位置 因為等差數列只需三個便可成立,所以我們可以直接暴力列舉前兩個數,然後直接用桶判斷第三個數是否在前兩個數後面就可以了,直接輸出‘Y’ #include<bits/stdc++.h> using namespace std; int b[100
Luogu P1566 【加等式】
ring HR family clu sizeof namespace font ret using 看到這道題,我們首先註意到“找出其所有的加等式的個數”,自然地考慮運用計數DP求出若幹數相加的和的個數考慮將每個元素排序後DP處理若幹數相加的和的個數用f[i]表示對於一個
題解 DTOI 1515【三塔合一】
歡迎訪問 My Luogu Space。 題目描述 輸入輸出格式 輸入格式: 輸出格式: 輸入輸出樣例 輸入樣例: 5 1 1 2 2 輸出樣例: 643 標籤 模擬,數學推演。
【題解】Luogu P3052 【USACO12】摩天大樓裏的奶牛Cows in a Skyscraper
eat ring real several define courier u+ awt help 叠代加深搜索基礎 題目描述 A little known fact about Bessie and friends is that they love stair c
【luogu P1082 同余方程】題解
ont 當前 int 關於 學習 並且 div iostream color 最近一直在學習數論,講得很快,害怕落實的不好,所以做一道luogu的同余方程練練手。 關於x的同余方程 ax ≡ 1 mod m 那麽x其實就是求a關於m的乘法逆元 ax + my = 1 對
【luogu P1865 A % B Problem】題解
prim clas cross tdi const mem amp nbsp pac 題目鏈接:https://www.luogu.org/problemnew/show/P1865 其實就是埃拉托色尼篩素數模板... 好像每個數暴力枚舉到sqrt()也可以...就算當我無
【luogu P2023 [AHOI2009]維護序列】 題解
line lazy fine 題解 new res ati names OS 題目鏈接:https://www.luogu.org/problemnew/show/P2023 把P3373改一改直接粘過來就A 1 #include <iostream>