NOIP模擬 隔壁

2022-05-12 04:38:24 字數 814 閱讀 9852

隔壁學校地形圖可以通過乙個高度矩陣表示,矩陣中每乙個位置都有乙個數表示這個座標的海拔,我們姑且將其稱為海拔圖,容易發現,我們可以通過這個矩陣輕鬆算出隔壁學校的主檢視,左檢視。相反的,我們卻不能通過主檢視和左檢視唯一確定海拔圖,現在問題來了,已知主檢視左檢視,我們需要知道剷平隔壁學校的代價上限和下限(即可能的體積最大值與最小值)

給出的正檢視和側檢視其實就是那一行(列)的最大值了,因此,為避免衝突,求最大值的時候就在兩個最大值中去min

而求最小值,要使出現的數字盡量少,則其他全部填0,只滿足最大的點出現就可以了。

#includeusing

namespace

std;

#define n 1010

#define ll long long

#define rt register ll n,m,minx,maxx;

ll a[n],b[n],flag[n];

template

inline

void read(t &x)

while(ch>='

0'&&ch<='

9')

x*=f;

} int

main()

}

} for(rt ll i=1;i<=m;++i)

if(!flag[i])

minx+=b[i];

printf(

"%lld %lld

",minx,maxx);

return

0;

}

noip模擬賽 隔壁

分析 體積最大的比較好處理,對於第 i,j 格的高度取min a i b j 就好了,保證讓每個格仔的高度最大.對於最小的情況,只要讓第i列上有乙個格仔高度為a i 其它全是0,第j行有乙個高度為b j 其它全是0就好了.如果a,b中有相同的元素,那麼它們可以共用乙個格仔,因為最後每個高度都要取到,...

NOIP模擬 修路

這題第一眼看上去有些懵逼,還以為是dp。第二眼,哦,這麼裸的最小生成樹,2分鐘打完,拍都沒對,自信100分。最終100分。每條邊的權值減去連個節點的權值,所有的邊做一次最小生成樹就好了。include include include include include define fo i,a,b f...

NOIP模擬 項鍊

經過一番周折,bob找到了alice,為了安慰alice驚魂未定的心,bob決定給alice買一條手鍊,這條手鍊由m個珍珠組成,每個珍珠上刻著不同的小寫字母。當alice看到一些字母按照一定的順序排列成的字串時,就會產生一定的愉悅值。bob現在可以在這m個珍珠上刻上字母,現在他想知道,如何刻字母可以...