原创 回溯法解決裝箱問題

題目描述 有一個箱子容量爲V(正整數,0≤V≤200000 ),同時有n個物品(0<n≤300),每個物品有一個體積(正整數)。 要求n個物品中,任取若干個裝入箱內,使箱子的剩餘空間爲最小。 輸入格式 1個整數,表示箱子容量 1個

原创 旅行商問題回溯法求解

問題描述 某售貨員要到若干城市去推銷商品,已知各城市之間的路程(旅費),他要選定一條從駐地出發,經過每個城市一遍,最後回到駐地的路線,使總的路程(總旅費)最小。 解空間 解空間:排列樹 x=[1 2 3……n] 相應的排列樹由x

原创 0-1揹包回溯法求解

問題描述 思路 回溯法求解,解空間是一棵子集樹。 算法的時間複雜度爲O(2n) 代碼 #include <iostream> using namespace std; #include<stdio.h> #include<std

原创 求冪的位數,求階乘的位數

筆者總結自己的思路,有以下兩種方法解決求冪的長度,求階乘的長度。從而解決形如 “請你計算數a的b次冪共有多少位(十進制的數)!” “N! (N的階乘) 是非常大的數,計算公式爲:N! = N * (N - 1) * (N - 2)

原创 C++排序與sort

對於一個連續存儲空間的數組進行排序,我們可以使用C++中提供 的sort。 C++中已經爲我們寫好了sort函數,需要調用是我們要引入一個頭文件 #inlcide<algorithm> 要提醒的是sort可以排序任何類型的元素,

原创 最大團問題回溯法求解

問題描述 完全子圖:給定無向圖G=(V,E)。如果U<=V,且對任意u,v<=U有(u,v)<=E,則稱U是G的完全子圖。 團:G的完全子圖U是G的團當且僅當U不包含在G的更大的完全子圖中。 G的最大團:是指G中所含頂點數最多的團

原创 求N!後面有多少個0

Description 從輸入中讀取一個數n,求出n!中末尾0的個數。 Input 輸入有若干行。第一行上有一個整數m,指明接下來的數字的個數。然後是m行,每一行包含一個確定的正整數n,1<=n<=1000000000。 Outp

原创 圖的m着色問題回溯法求解

問題描述 給定無向連通圖G和m種不同的顏色。 用這些顏色爲圖G的各頂點着色,每個頂點着一種顏色。是否有一種着色法使G中每條邊的2個頂點着不同顏色。這個問題是圖的m可着色判定問題。 若一個圖最少需要m種顏色才能使圖中每條邊連接的2個

原创 藍橋杯省賽訓練營——棧與遞歸

今天博主複習了一下棧與遞歸的知識,做了計蒜客平臺的一章習題。下面貼出來和大家交流分享。如有不正之處,請求指教。 蒜頭君喫桃 題目描述 思路分析 設第i天還剩下g(n)個桃子 那麼第i-1天還剩下g(n-1)個桃子。 根據遞推關係

原创 最優分解問題貪心求解

問題描述 設m是一個正整數,現在要求將n分解爲若干個互不相同的自然數的和,且使得這些自然數的乘積最大。 注意:這個問題不同於剪繩子問題,因爲剪繩子問題可以使得每一段重複相等,而此問題必須使得劃分出來的每一個數都互斥。 算法設計 對

原创 藍橋杯省賽訓練營——常用STL

動態數組 using namespace std; #include<vector> vector<T>vec;//C++中直接構造一個動態數組的方法 用動態數組存儲自定義類型 struct Student { st

原创 HDU 3351:Seinfeld

題目來源 http://acm.hdu.edu.cn/showproblem.php?pid=3351 問題描述 我沒有故事了。多年來,我一直在寫故事,有些故事很愚蠢,只是爲了使簡單的問題看起來很難而複雜的問題看起來很容易。 通過

原创 算法訓練 審美課

問題描述 《審美的歷程》課上有n位學生,帥老師展示了m幅畫,其中有些是梵高的作品,另外的都出自五歲小朋友之手。老師請同學們分辨哪些畫的作者是梵高,但是老師自己並沒有答案,因爲這些畫看上去都像是小朋友畫的……老師只想知道,有多少對同

原创 藍橋杯——進制轉換練習

基礎練習 十進制轉十六進制 問題描述 十六進制數是在程序設計時經常要使用到的一種整數的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16個符號,分別表示十進制數的0至15。十六進制的計數方法是滿16

原创 數據結構複習——習題一

一、單項選擇題 數據結構是指( )。 A.數據元素的組織形式 B.數據類型 C.數據存儲結構 D.數據定義 數據在計算機存儲器內表示時,物理地址與邏輯地址不相同的,稱之爲( )。 A.存儲結構