原创 Sicily 14513 Aaah!

水得毫無人性 #include <iostream> #include <string> #include <cstdio> using namespace std; int main() { string a, b; while

原创 Sicily 13981 Cow Baseball

二分查找即可,偷懶直接用了庫函數 #include <iostream> #include <cstdio> #include <algorithm> using namespace std; int num[1005]; int m

原创 POJ 2661 Factstone Benchmark

#include<iostream> #include<cmath> #include<cstdio> using namespace std; int main() { int y, i; double w; while (sca

原创 POJ 3258 River Hopscotch

白皮書上的課後習題,最大化最小值,典型二分搜索的應用。從石子中去掉若干個,使得剩下的石頭間距的最小值最大。第一次卡在不知道如何判斷某答案是否符合。後來發現除了常規思路考慮如何去掉其中若干個之外,也可以反向思考,如何放置剩餘的石頭。另,二分

原创 POJ 3617 Best Cow Line

有點技巧的貪心 #include<cstdio> #include<string> #include<iostream> using namespace std; int main() { int n; char a[20

原创 Sicily 4428 How Many Sets

動態規劃,狀態轉移方程dp[i][j] = dp[i - 1][j] + dp[i - 2][j - 1]其中i表示總數,j表示取出的數個數。初始化時要注意順序問題,設取出個數爲k,則所有2k-1的項都應當爲0,但特殊情況是取出一個時有幾

原创 Sicily 1570 Hopeless Coach

給定接下來的輪次以及最低獲得的積分,否則教練就會下課。剛開始推了很久的公式,覺得加起來項數好多,好煩。後來突然想到直接就是一個dp問題,按照上次的積分掃就可以,最後輸出N輪時得分大於P分的總和概率即可 // Problem#: 1570

原创 Sicily 1935 二叉樹重建

題目要求說的很清楚,給出一個數的先序和中序遍歷結果,構建樹並按照廣度優先輸出。先序遍歷的第一個數即爲根節點,在中序遍歷中找到之後它左面的都是左子孫結點右邊同理。 // Problem#: 1935 // Submission#: 3291

原创 Sicily 1920 Divide The Stones

每次最少分出一個,則最後每個堆的 石頭數量都是1, 共有sum(a[i])堆。而分出這些石頭共需要sum(a[i] - 1)次操作。對這個操作數進行奇偶判斷,若爲奇數則Alice勝,否則Bob必勝。 #include <iostream>

原创 POJ 2431 Expedition

貪心,及優先隊列或堆的使用。當路過一個城市或加油站時,不一定需要立刻加油,而可以將其保存在一個優先隊列中。當沒有油時,再取出優先隊列的頭加入等量的油,加油的先後是等價的。以加油站爲分段點考慮,並將距離轉化爲距起點的距離。距離需要排序,輸入

原创 POJ 2051 Argus

題目的意思是,給定任務的ID和執行間隔,每次按照執行的時間順序輸出前k個任務的ID號,當時間相同時,按照字典序輸出ID小的。解題思路建立一個最小堆,每次輸出最小堆之後將根節點加上週期重新調整堆。 #include <iostream> #

原创 Sicily 1686 Happy Children's Day

#include <iostream> #include <cstdio> #include <cstring> using namespace std; const int MAXN = 100010; // declarati

原创 Sicily 1543 Completing Brackets

簡單應用棧的模擬。先將字符串內已匹配的括號pop掉,剩下的依次儲存就好。 #include<iostream> #include<string> #include<stack> using namespace std; int main(

原创 Sicily 4423 Calculate the Sum

暴力枚舉異或操作是會TLE的。按二進制每位的權重拆開,每位上用1出現的數量乘以0出現的數量,再乘以相對應的權, 這其實也就是異或操作中得到1的結果,將它們累加求和即可,結果比較大,用long long儲存。 // Problem#: 44

原创 Sicily 1373 Cows Of The Round Ta

看了半天題目,好像除了暴力枚舉沒什麼別的方法...而且題目3s,這是在暗示枚舉啊... // Problem#: 1373 // Submission#: 3311134 // The source code is licensed un