首師大附中集訓第四天 雜

2021-09-25 14:02:09 字數 1789 閱讀 2238

今天講的是一些雜題

一開始的是一些搜尋。

1.長度為

n的數列,已知

n個字首和以及

n個字尾和共

2n個數打亂後的結果,已知數列中每個數的範圍是不超過

500的整數,求原數列,存在多組時間求字典序最小的。

1<=n

<= 1000

我們考慮將整個序列從小到大排序,然後第乙個元素一定是f[1]或者g[1]。就這樣按順序得向下選,就可以獲得乙個解。

但這樣不是很優,我們考慮

2.uva10605,我們可以預處理出乙個鑽石到另乙個鑽石的距離。然後ida*。估價函式就直接考慮答案的下界:去掉不相交的限制就可以了。刪掉限制之後,從當前已經拓展的點集合暴力擴充套件新的點出來,然後直接走滿足不相交條件下的最短路。

3.給出二維平面上的n個點,求乙個凸包,是的凸包上的點數最多。

直接考慮暴力n^4,列舉乙個凸包的最左點,然後把它右邊的點極角排序。設op[i][j]表示當前凸包擴充套件到i,j為最後兩個點的最大長度。然後直接列舉下乙個k逆時針轉。

好像很耗時間,有些狀態是廢掉的,考慮對於乙個在凸包上面的點,到其他點的距離是單峰的。所以我們就處理乙個點到其他點的最長單峰序列,然後再剪枝就好了。

4.noi 2001 解方程

發現這個等式可以把一半移到等式的另一邊。暴力列舉每乙個東西的取值,用乙個陣列來儲存左邊可能的值,右邊列舉的時候直接訪問就好了。

5.topcoder

single round match 572 - division i, level two

這題比較妙,我們對於每乙個位置取每乙個值的時候,處理乙個列向量表示它是否與條件的對應位置相等,右邊是限制組成的乙個列向量,那麼最後就是要對於每乙個位置取乙個值,使得左邊對應的列向量相加等於右邊的列向量。

我們再次把左邊的一半移到右邊,然後記錄下左邊所有的情況,右邊爆搜查情況就可以了。

6.usaco 2012 gold

給出n個正整數,從中選出若干個,把這些數分成兩部分,使得兩部分的和相等,求第一步選數的方案數。

乙個數有三種狀態

若所有的數乘上狀態等於0,那麼說明我們找到了一種方案。

我們還是把一半放在左邊,一半放在右邊,同時存下乙個陣列記錄一下這個數選還是不選。然後把左邊所有的狀態搜出來之後,右邊爆蒐時查詢就可以了。

7.topcoder

single round match 523 - division i, level three

給出乙個r*

c的矩陣,矩陣的每個格仔要麼是空的,要麼包含乙個

0-20

之間的整數,求有多少條包含

21個格仔的路徑滿足:路徑中相鄰的兩個格仔必須有一條公共邊,且每條邊至少出現一次。

直接列舉最中間乙個點是哪乙個點。從這個點向左搜10步,存狀態,再向右搜10步,找狀態就可以了。

8.給定n個字串集合,初始每個集合只有乙個字串,要求支援操作:把兩個集合合併成乙個,查詢乙個集合裡面的所有串在給定目標串中的出現次數。

字串總長

slen

不超過

10^5

關鍵是最後這句話。我們可以根據這句話來進行分塊。

對於長度》s的,它們的個數不多,直接kmp。

對於長度

9.給出乙個長度為n的

01串給出乙個正整數

m,每次可以將乙個位置取反,或者將乙個長度為

m的倍數的字首取反,問最少需要多少次操作可以讓這個串成為乙個迴圈節為

m的迴圈串。

考慮對於m來分塊,如果m

如果m>s,那麼我們直接列舉這些串是否翻轉,那麼剩下的操作就是對於單點翻轉,只要投票就好了。

首師大附中集訓第十二天綜合模測

第一題 分則能成 這是之前寫過的blog。第二題 明辨是非 這題一開始想了很久,腦子裡全是分塊並查集,然後不斷的把關係丟來丟去,很麻煩,其實只用考慮當前的一張關係圖,有一些白邊表示相等,有一些黑邊表示不相等,首先我們可以把白邊聯通的點用並查集縮起來,然後考慮縮點之間的黑邊,直接用set記錄每乙個聯通...

首師大附中OJ系統 0022 併聯電阻

併聯電阻 難度級別 a 執行時間限制 1000ms 執行空間限制 51200kb 長度限制 2000000b 試題描述 從鍵盤分別輸入電阻r1 r2的阻值,編寫程式計算出併聯電阻的阻值。併聯電阻的計算公式是r1 r2 r1 r2 輸入 兩個數,分別表示電阻r1和r2的值,兩數間用乙個空格分隔。輸出乙...

首師大附中OJ系統 0030 購買衣服

購買衣服 難度級別 a 執行時間限制 1000ms 執行空間限制 51200kb 長度限制 2000000b 試題描述 衣服每件 95 元,若消費滿300元,可打八五折。輸入購買衣服的件數,輸出需要支付的金額 單位 元 輸入乙個正整數 n,表示購買衣服的數量。輸出乙個數,表示需要支付的購物款。輸入示...