原创 Codeforces 1353D Constructing the Array

題目鏈接: https://codeforces.com/contest/1353/problem/D 思路: 我們將所有待處理的子線段按照{長度,左端點序號,右端點序號}按序存儲在優先隊列中,然後挨個處理即可; 代碼:

原创 HDU 1850 Being a Good Boy in Spring Festival(Nim遊戲)

題目鏈接: http://acm.hdu.edu.cn/showproblem.php?pid=1850 思路: 1.Nim遊戲的N-position(即先手必勝態)爲nnn堆石子的異或和不爲0; 2.反之必敗態爲nnn堆石

原创 藍橋杯 PREV-14 高僧鬥法(Nim遊戲)

題目鏈接: http://lx.lanqiao.cn/problem.page?gpid=T37 思路: 1.假設從111開始給這nnn個小和尚從左往右編號,那麼編號爲1,2,3,...,n1,2,3,...,n1,2,3,

原创 團體程序設計天梯賽 L3-021 神壇(極角排序)

題目鏈接: https://pintia.cn/problem-sets/994805046380707840/problems/994805046577840128 思路: 1.一共n個點,對於每一個點我們都可以將它作爲頂

原创 洛谷 P1060 開心的金明(0/1揹包)

題目鏈接: https://www.luogu.com.cn/problem/P1060 思路: 揹包裸題 代碼: #include<bits/stdc++.h> using namespace std; const

原创 藍橋杯 BEGIN-4 Fibonacci數列

題目鏈接: http://lx.lanqiao.cn/problem.page?gpid=T4 思路: 接近藍橋杯比賽了…最近有一些同學過來問我爲什麼java代碼提交藍橋的OJ報運行錯誤,而且都是拿這題來問的… 所以寫這篇就

原创 HDU 2037 今年暑假不AC

題目鏈接: http://acm.hdu.edu.cn/showproblem.php?pid=2037 思路: 貪心思想,將節目結束時間從小到大排序,依次選取可以觀看的節目; 代碼: #include<bits/stdc

原创 藍橋杯 PREV-25 城市建設(最小生成樹)

題目鏈接: PREV-25 城市建設 思路: 1.先考慮沒有碼頭的情況,使用kruskal算得最小生成樹,但是需要檢查一下所有點之間是否連通; 2.而後考慮建碼頭的情況,所謂建碼頭的城市均可以互相連通,我們可以設立一個虛點,

原创 藍橋杯 PREV-42 九宮幻方(dfs)

題目鏈接: PREV-42 九宮幻方 思路: 直接dfs搜索所有可能,記錄能形成幻方的矩陣即可; 代碼: #include<bits/stdc++.h> using namespace std; int cnt, vs

原创 藍橋杯 PREV-35 正則問題

題目鏈接: PREV-35 正則問題 思路: 題目不解釋一下壓根不知道x () |這些符號是做什麼的… 簡單解釋: x就是代表一個字符,題目要求最長字符數; ()就是起到計算中的優先級作用; |代表或,既然取最長我們就需要找

原创 藍橋杯 PREV-50 對局匹配(貪心)

題目鏈接: PREV-50 對局匹配 思路: 1.我們將分數模kkk相同的放在一組,我們知道只有同一組的人才有可能相互匹配到; 2.我們遍歷每一組,按公差爲kkk的分數順序將該分數的人數組成一個序列,例如所有分數爲[2,2,

原创 藍橋杯 PREV-39 日期問題

題目鏈接: PREV-39 日期問題 思路: 1.將題目所給的三種格式都嘗試一下; 2.注意排序輸出; 3.算閏年遵守“四年一閏,百年不閏,四百再閏”的規則(閏年2月29天,平年2月28天); 4.注意計算得出的重複日期要刪

原创 藍橋杯 PREV-31 小朋友排隊(樹狀數組)

題目鏈接: PREV-31 小朋友排隊 思路: 分析題意不難理解出某個人的移動次數爲(排在他前面比他高的人數+排在他後面比他矮的人數); 使用樹狀數組可以高效地計算得到上面兩項數據(使用時注意將每個人的身高加1,因爲有0身高

原创 藍橋杯 PREV-37 分巧克力(二分)

題目鏈接: PREV-37 分巧克力 思路: 1.我們知道高爲hhh,寬爲www的矩形最多能分出[hd]+[wd][\frac{h}{d}]+[\frac{w}{d}][dh​]+[dw​]個d∗dd*dd∗d的正方形(其中

原创 藍橋杯 PREV-33 蘭頓螞蟻

題目鏈接: PREV-33 蘭頓螞蟻 思路: 按照題意模擬即可 代碼: #include<bits/stdc++.h> using namespace std; bool a[105][105]; int m, n,