原创 C++之構造函數初始化成員列表的用法、虛繼承的原理

C++的構造函數有初始化成員列表這個用法,初學時不明白其存在的必要性,覺得只是使淺拷貝多了種寫法。直到寫了這道題,才明白初始化成員列表有其必須存在的意義,在一些情況下,只能使用初始化成員列表。通過這道題,我還明白了繼承時該怎麼寫構造函數最

原创 C++之常引用對象只能調用常成員函數、重載爲成員函數和友元函數的區別

        近日寫了一道題,遇到了新bug,使博主對C++的邏輯嚴密性有了更深的體會,特寫此博客。本文標題是對兩個bug的總結,即本文內容分爲兩部分。         題目如下:         設計一個CShape抽象類,類中包含純

原创 奶酪(不用回溯:剪枝+深搜dfs)

Description 現有一塊大奶酪,它的高度爲 h,它的長度和寬度我們可以認爲是無限大的,奶酪 中間有許多 半徑相同 的球形空洞。我們可以在這塊奶酪中建立空間座標系,在座標系中, 奶酪的下表面爲z=0,奶酪的上表面爲z=h。

原创 棋盤問題:有色可用魔法(不用回溯:剪枝+深搜dfs)

Description 有一個m×m的棋盤,棋盤上每一個格子可能是紅色、黃色或沒有任何顏色的。你現在要從棋盤的最左上角走到棋盤的最右下角。 任何一個時刻,你所站在的位置必須是有顏色的(不能是無色的), 你只能向上、 下、左、 右四

原创 數串問題(歸併排序、前綴和變體後綴和)

Description 給定一個數串,數串的長度爲 n ,現在將一個子串的每個數字之和定義爲該子串的數串和,請你求出數串中有多少個子串的數串和爲正數。 Input 第一行一個數 n ,表示數串的長度。第二行一共 n 個數,表示數串

原创 計算幾何(二分答案or二分搜索)

Description uncle-lu對計算幾何有着濃厚的興趣。他經常對着平面直角座標系發呆,思考一些有趣的問 題。今天,他想到了一個十分有意思的題目: 首先,uncle-lu會在x軸正半軸和y軸正半軸分別挑選n個點。隨後,他將

原创 棋盤問題:任意兩棋子不能同行同列(深搜dfs)

Description 在一個給定形狀的棋盤(形狀可能是不規則的)上面擺放棋子,棋子沒有區別。 要求擺放時任意的兩個棋子不能放在棋盤中的同一行或者同一列。請編程求解對於給定形狀和大小的棋盤,擺放k個棋子的所有可行的擺放方案C。 I

原创 數列分段(二分答案or二分搜索)

Description 對於給定的一個長度爲N的正整數數列A[1…N],現要將其分成M(M≤N)段,並要求每段連續,且每段和的最大值最小。 關於最大值最小: 例如一數列4 2 4 5 1要分成3段。 將其如下分段:[4 2] [

原创 抓住那頭牛(寬搜bfs)

Description 農夫知道一頭牛的位置,想要抓住它。農夫和牛都位於數軸上,農夫起始位於點N,牛位於點K。 農夫有兩種移動方式: 1.從X移動到X−1或X+1,每次移動花費一分鐘。 2.從X移動到2∗X,每次移動花費一分鐘。

原创 奇怪的電梯(深搜dfs)

Description 有一天uncle-lu做了一個夢,夢見了一種很奇怪的電梯。 大樓的每一層樓都可以停電梯,而且i層樓上有一個數字。電梯只有四個按鈕:開,關,上,下。上下的層數等於當前樓層上的那個數字。 當然,如果不能滿足要求

原创 網線主管(二分答案or二分搜索)

Description 仙境的居民們決定舉辦一場程序設計區域賽。裁判委員會完全由自願組成,他們承諾要組織一次史上最公正的比賽。他們決定將選手的電腦用星形拓撲結構連接在一起,即將它們全部連到一個單一的中心服務器。爲了組織這個完全公正

原创 逆序對個數(歸併排序)

Description 給出一個數組a,問這個數組中有多少個逆序對。 逆序對定義:若i<j且a[i]>a[j],則(a[i]​,a[j]​)是一個逆序對。 如數組3 4 1 2中的逆序對有(3,1),(3,2),(4,1),

原创 整數奇偶數排序(o(n^2)排序算法)

Description 給定10個整數的序列,要求對其重新排序。排序要求:1.奇數在前,偶數在後;2.奇數按從大到小排序;3.偶數按從小到大排序。 Input 輸入一行,包含10個整數,彼此以一個空格分開,每個整數的範圍是大於等於

原创 分數線劃定(o(n^2)排序算法)

Description 世博會志願者的選拔工作正在 A 市如火如荼的進行。爲了選拔最合適的人才,A市對所有報名的選手進行了筆試,筆試分數達到面試分數線的選手方可進入面試。 面試分數線根據計劃錄取人數的150%劃定,即如果計劃錄取m

原创 矩形分割(二分答案or二分搜索)

Description 平面上有一個大矩形,其左下角座標 (0,0),右上角座標 (R,R)。大矩形內部包含一些小矩形,小矩形都平行於座標軸且互不重疊。所有矩形的頂點都是整點。要求畫一根平行於y軸的直線x=k( k 是整數),使得