原创 樹形結構 —— 樹與二叉樹

【概述】 樹是一種非線性的、遞歸定義的有序數據結構,能很好地描述有分支和層次特性的數據集合。 二叉樹是樹的一種形態,是 n 個結點的有限集合,該集合或爲空集(空二叉樹),或由一個根結點與兩棵互不相交的,稱爲根結點的左子樹、右子樹的二叉樹構

原创 2019 ICPC南京站總結

人生第一場 ICPC 區域賽,血崩 去比賽之前看到參賽手冊,清一色的強隊,對拿獎沒抱太大希望,只想着能出幾個就出幾個,盡最大努力就好了 週六下午熱身賽,記錯時間了去晚了盡半個小時,到場後先測了測 IDE,發現一個都不能用。。。聯繫現場的技

原创 2019 ICPC徐州站總結

退役了 自南京站爆零血崩之後,一直在跟隊友調整狀態,在徐州站之前狀態調整的差不多,比賽預案也重做了一下,但還是打鐵,由於一直在想以後的發展方向,這篇總結也就一直拖着沒寫 徐州站,到了徐州後身體不舒服,第一天直接在酒店躺了一天,熱身賽沒去,

原创 松鼠聚會(洛谷-P3964)

題目描述 草原上住着一羣小松鼠,每個小松鼠都有一個家。時間長了,大家覺得應該聚一聚。但是草原非常大,松鼠們都很頭疼應該在誰家聚會才最合理。 每個小松鼠的家可以用一個點x,y表示,兩個點的距離定義爲點(x,y)和它周圍的8個點(x-1,y

原创 Product of Three Numbers(CF-1294C)

Problem Description You are given one integer number n. Find three distinct integers a,b,c such that 2≤a,b,c and a⋅b⋅c

原创 常用技巧 —— 位運算

【概述】 在計算機中,數據都是以二進制形式存儲的,因此位運算實質就是對整數在內存中的二進制位直接進行操作。 靈活使用位運算,不僅能有效的提高程序的效率,而且還能爲代碼提供亮點。 此外,在程序設計競賽中,位運算,也是一種常考的要點,例如:樹

原创 魔板(洛谷-P2730)

題目描述 在成功地發明了魔方之後,魯比克先生髮明瞭它的二維版本,稱作魔板。這是一張有8個大小相同的格子的魔板: 1 2 3 4 8 7 6 5 我們知道魔板的每一個方格都有一種顏色。這8種顏色用前8個正整數來表示。可以用顏色的序列來表示

原创 Array with Odd Sum(CF-1296A)

Problem Description You are given an array a consisting of n integers. In one move, you can choose two indices 1≤i,j≤n

原创 Food Buying(CF-1296B)

Problem Description Mishka wants to buy some food in the nearby shop. Initially, he has s burles on his card. Mishka c

原创 Yet Another Walking Robot(CF-1296C)

Problem Description There is a robot on a coordinate plane. Initially, the robot is located at the point (0,0). Its pa

原创 Collecting Packages(CF-1294B)

Problem Description There is a robot in a warehouse and n packages he wants to collect. The warehouse can be represent

原创 樹形結構 —— 樹與二叉樹 —— 樹的中心

【概述】 樹的中心問題是指:當給出 n 個結點與 n-1 條邊後,要選定一個點作爲整棵樹的根結點,使得從該點到每個葉結點的最長路徑最短。 樹的中心問題主要有兩種方法:DFS/BFS 進行搜索、樹形 DP 進行狀態轉移 【DFS】 根據樹的

原创 搜索 —— 啓發式搜索 —— 爬山法

【概述】 爬山法(Hill Climbing,HC)是一種局部擇優的貪心搜索算法,其本質上是梯度下降法。 該算法每次從當前的節點開始,與周圍的鄰接點進行比較: 若當前節點是最大的,那麼返回當前節點,作爲最大值 若當前節點是最小的,就用最高

原创 Buried memory(HDU-3007)

Problem Description Each person had do something foolish along with his or her growth.But,when he or she did this that

原创 搜索 —— 啓發式搜索

【概述】 啓發式搜索算法,就是在狀態空間中的搜索對每一個搜索的位置進行評估,得到最好的位置,再從這個位置進行搜索直到目標。 有時我們會遇到這樣的一類題:題目描述的是一道時間複雜度很高的 NP 問題,我們要找到其中的最優解,顯然不可能在短時