2017 2 11 初中部 GDKOI 模擬賽B組

2021-07-26 20:01:02 字數 913 閱讀 4996

t1:這題原來是如此的水。列舉選取的點,因為我們要讓邊權和:點權和最小,所以在點權和確定之後要讓邊權和最小,那麼我們可以用克魯斯卡爾求出最小生成樹,再從所有的結果中選出乙個最小的就行了。比賽時老想著如何得出一種選法使得選出的答案是最優,想不出來又去想暴力,最後只有70分。下次遇到多個因素時要多想想分開來處理。

t2:這題想到了二分+遞迴,結果超時10分,正解竟然是二分+dp!

二分乙個最小值,然後用dp判斷這個最小值是否可行。

設f[i][j]表示前i個人在完成了j個一項目的子專案的情況下,最多完成二專案的子專案的個數。那麼我們需要列舉乙個k,k表示到第i-1個人完成了k個一項目的子專案。那麼第i個人就是完成了j-k個,那他能完成的二專案的子專案的個數就為(mid-(j-k)*a[i])/b[i],那麼狀態轉移方程就是f[i][j]=max。

t3:比賽時看見是三維的就直接放棄了,想不到竟然是如此簡單,純的floyed。

我們可以把起點和終點看成半徑為0的星球,然後我們把每個星球看成乙個點,求出它們之間的距離,最後floyed一遍。

但關鍵是怎樣求出兩兩星球之間的距離。我們假設要求出星球i和星球j之間的距離,那麼它們中心點的距離就是sqrt((x[i]-x[j])^2+(y[i]-y[j])^2+(z[i]-z[j])^2),但是我們還要考慮到它們的半徑,於是我們用上面式子的值減去r[i]和r[j],但是如果i、j星球相交的話那麼減出來的值就會使負數,這是我們直接把i、j星球之間的值改為0就行了。

t4:這題正解竟然是遞迴爆搜。

我們可以用spfa求出當前的最短路徑,如果最短路徑不大於k,那麼說明當前的這條最短路徑中必須有乙個點被刪掉,但是我們不知道刪哪個點是最優的,所以我們需要用遞迴去列舉刪哪個點,遞迴結構如下:

1、如果1到你n的最短路的長度大於k,則更新ans,回溯。否則跳至第二步。

2、列舉最短路上除1和n以為的點,遞迴列舉刪除哪乙個。

2017 1 13 初中部 GDKOI 模擬賽B組

今天比賽有點不在狀態,所以成功地墊底了。t1 比賽時怎麼想都想不出來,知道正解後才發現如此簡單。我們知道,想刪掉朝向向左的花,最優一定是從右往左刪這些花,同理,想刪掉朝向向右的花,最優一定是從左往右刪這些花。然後我們可以計算一下先刪左和先刪右的值,最後選出最小。比賽時想得太複雜了,下次要注意做題時不...

2016 6 11初中部模擬賽總結

由於昨天在家裡腐了一晚上,起來還是昏昏沉沉的,假期綜合症又犯了。高考假沒了啊!8 10分才出發,在路上 宿舍有耽誤了一些時間,就9 00才到機房。來不及了,看題。t1莫名其妙,t2原題,t3一看dp。感覺今天熊老師變良心了,畢竟下午還要上課 o 仔細看了一下,t2沒有 頓時整個人都不好了,高精度神馬...

2016 7 8初中部模擬賽總結

開開森森地來到了機房,開啟了題目。t1,呵呵呵,送了一道原題,還是裸的。這是 搬來的帶修莫隊。直接秒。t2,神奇的dp。t3,一眼看成有多少種最小生成樹。嚇到了。然後定睛一看。只是求權值和而已。又是一道原題 o 既然送了200分,那我就不客氣嘍 o 切了t1,碼力 切了t3,碼力 亂寫了乙個t2的神...