原创 藍橋杯 PREV-32 分糖果(模擬)

題目鏈接: PREV-32 分糖果 思路: 按題意模擬即可 代碼: #include<bits/stdc++.h> using namespace std; int n, a[105], ans, b[105]; in

原创 藍橋杯 PREV-23 數字遊戲(等差數列)

題目鏈接: PREV-23 數字遊戲 思路: 根據題意我們易計算出第i(0≤i<T)i(0\leq i<T)i(0≤i<T)次說出的數字爲[1+in(in+1)2]%k[1+\frac{in(in+1)}{2}]\%k[1+

原创 藍橋杯 PREV-26 最大子陣(二維最大子序列和)

題目鏈接: PREV-26 最大子陣 思路: 首先我們需要學會求一維最大子序列和(這裏就不多贅述啦) 此題我們枚舉這個子矩陣的上底和下底即原矩陣的兩行,對於原矩陣的每一列我們都用前綴和數組記錄下來; 假設現在枚舉第r和第rr

原创 團體程序設計天梯賽 L3-011 直搗黃龍 (30分)

題目鏈接: L3-011 直搗黃龍 (30分) 思路: 很複雜的變形,最短路就使用dijkstra,注意細節就好 代碼: #include<bits/stdc++.h> using namespace std; inl

原创 團體程序設計天梯賽 L3-016 二叉搜索樹的結構 (30分)

題目鏈接: L3-016 二叉搜索樹的結構 (30分) 思路: 用map來映射某個點的左孩子和右孩子,同時記錄層次; 然後依據輸入進來的字符串挨個判斷即可; 代碼: #include<bits/stdc++.h> usi

原创 團體程序設計天梯賽 L3-001 湊零錢 (30分)(0/1揹包)

題目鏈接: L3-001 湊零錢 (30分) 思路: 將每個硬幣的面值既當作它的價值也當作它所消耗的容量,我們的目標即是在容量爲m的情況下,所能得到的最大總價值能否爲m; 既然是求一定容量下的最大價值,那麼就是經典的0/1揹

原创 2020牛客寒假算法基礎集訓營1

題目鏈接: https://ac.nowcoder.com/acm/contest/3002 A題 思路: 既然三角形面積爲1且有一條邊平行於座標軸,那麼這條邊爲1或者2,我們枚舉1平行於x/y軸的情況,加上2平行於x/y軸

原创 團體程序設計天梯賽 L3-006 迎風一刀斬 (30分)(幾何規律題)

題目鏈接: L3-006 迎風一刀斬 (30分) 思路: 這是PAT頂級原題~ 不用很複雜地模擬,找個規律很快就能過啦~ 題解請看我頂級那篇文章啦~ https://blog.csdn.net/qq_45228537/art

原创 團體程序設計天梯賽 L3-020 至多刪三個字符 (30分)(DP)

題目鏈接: L3-020 至多刪三個字符 (30分) 思路: PAT頂級有一道類似的,至多刪兩個字符最多能得到多少不同字符串,題解就請參考這篇啦: https://blog.csdn.net/qq_45228537/arti

原创 藍橋杯 PREV-3 帶分數(dfs)

題目鏈接: PREV-3 帶分數 思路: 根據題意我們需要找到滿足(n−x)=z/y(n - x) = z / y(n−x)=z/y的(x,y,z)(x, y, z)(x,y,z)三元組解的個數,且x,y,zx,y,zx,

原创 藍橋杯 PREV-8 買不到的數目

題目鏈接: PREV-8 買不到的數目 思路: 結論:a,b爲質數,x,y爲非負整數,則ax+by最大不能表示的數爲ab-a-b,因此ab-a-b即爲答案; 但是題目似乎並沒有說a,b爲質數? 所以嚴謹一點還是用動態規劃吧;

原创 藍橋杯 PREV-7 連號區間數

題目鏈接: PREV-7 連號區間數 思路: 5w的數據用O(n2)O(n^2)O(n2)算法能過,測試數據也太水了吧… 至於並查集,沒研究出來和並查集有啥關係… 代碼: #include<bits/stdc++.h>

原创 團體程序設計天梯賽 L3-013 非常彈的球 (30分)

題目鏈接: L3-013 非常彈的球 (30分) 思路: 我們由動能公式可以求得速度v=2Emv=\sqrt{\frac{2E}{m}}v=m2E​​ 設ang爲θ\thetaθ,則水平速度爲vx=cos⁡θ2Emv_{x}

原创 藍橋杯 PREV-6 翻硬幣

題目鏈接: PREV-6 翻硬幣 思路: 題目似乎並沒有提到第一種狀態不能轉化到第二種狀態的情況啊…實際上兩種狀態不相同的位置總數如果是奇數的話就沒辦法相互轉化…題目也沒說給定的兩種狀態一定可以相互轉化,那我們就默認可以好了

原创 藍橋杯 PREV-4 剪格子

題目鏈接: PREV-4 剪格子 思路: 我們從左上角的格子開始dfs,途中記錄sum和遍歷的格子數,稍微剪枝即可; 代碼: #include<bits/stdc++.h> using namespace std; c