原创 lightoj 1301 - Monitoring Processes 貪心

給定n個任務,每個任務都有開始時間和結束時間,問要同時有多少臺機器才能完成工作... 開始以爲直接排序用優先隊列就好了沒想到WA了,當時想到了一些BUG...萬一結束時間晚的那個開始時間太早,每次找出來最小的結束來做任務會有BUG...

原创 lightoj 1219 - Mafia 貪心

給定一顆有n個節點的樹,每個節點都有一個人數,問將每個節點都有1個人最低的消耗是多少(每人走一步消耗1)。 輸入比較扯,先輸入節點u然後在輸入這個點有多少人,再輸入這個點與那些邊相連了... 單向邊就好了,畢竟是顆樹,找到根應該就能遍歷所

原创 lightoj 1425 - The Monkey and the Oiled Bamboo 二分答案or亂搞

給定n個數字分別代表臺階高度,初始人在0,然後如果最大能跨越k步,如果跨越一次k步,那麼k--,問最後能通過的最小k值是多少。 一眼看去二分答案直接算... 有一個簡單辦法,在找最大值的過程如果出現一個與最大值相同的數字,那麼這個答案要+

原创 lightoj 1363 - Binary Matrix (II) 貪心

給定一個01矩陣,每次可以交換相鄰兩列的一個點或者相鄰兩行的一個點(第一行和最後一行也算相鄰,同理列也是),問能否使矩陣變爲以下三種情況之一:1.每行每列的1都相等2.每行的1都相等.3.每列的1都相等,或者不可能,對於前三種情況輸出最小

原创 lightoj 1020 - A Childhood Game 簡單博弈

給定n個石子,每個人可以取1或2個,A先取取完的人失敗,B先取取完的人成功... 剛開始沒看到AB先手不同最後結果不同死活不過樣例... 簡單的巴什博奕... #include<bits/stdc++.h> using namespace

原创 lightoj 1198 - Karate Competition 貪心

給定雙方的n個數字,如果a比b大兩分,平1分,輸了不得分,問a最多多少分。 田忌賽馬的標準問題(參考某年區域賽)...以前做過類似的,排序先。 類似問題比如hdu 1528...不過這個是平了不得分.. 那麼平了咋辦,不平的話直接就是wh

原创 lightoj 1076 - Get the Containers 二分答案

參考lightoj 1048,一模一樣的題目,只是不用輸出每一堆都是什麼了...原來的代碼提交上去就可以AC,注意這個是n,k了不是n+1,k+1了.. #include<bits/stdc++.h> using namespace st

原创 lightoj 1078 - Integer Divisibility 暴力數學

給定一個n和x,問最少多少個x組成的數字可以整除n... 直接暴力,依次枚舉x的數量... 因爲沒想到其他做法只能嘗試暴力了..沒想到過了。 大概是如果有解的話餘數最多出現n個...所以n次內必然有解?n*t貌似不超時 #include<

原创 lightoj 1048 - Conquering Keokradong 二分答案

給定n+1個數字,將這些數字組合爲k+1個數字(因爲都是從0開始的)...問最大的數字最小的情況是啥,並且要求排在前面的數字儘可能大。 二分答案,判定是否成立。 判定的時候考慮應該怎麼組合爲k+1個數字都小於x...後來想想真tm傻逼,如

原创 lightoj 1328 - A Gift from the Setter 貪心

給定k,c,n,a[0],自己構造出a數組,然後找出所有的abs(a[i]-a[j])(i<j)的和。 這個題剛好whu的網絡賽做過類似的。 對於數組排序後不影響結果的...不過就是原先的負數取絕對值變爲了全是正數。 首先最小數字被減去了

原创 微軟電面

今天接到ms的電話面試...第一次面試效果很不好,一上來自我介紹。 然後就問了一些關於C++方面的東西,比如多態和繼承是什麼,編譯器如何識別多態。 然後說編程有用過這些沒?直接回答基本不用,對方說你們大作業呢?寫大作業的時候用到但是沒有去

原创 lightoj 1148 - Mad Counting 簡單數學

統計人數,詢問了n個人每個人都回答了除了自己外支持同一球隊的其他人數是多少,問最小有多少人。 統計每個數字出現多少次,有a[i]+1個人回答的一樣可以剛好組成一個團體...如果有剩餘的話也是一個新的團體。 #include<bits/st

原创 lightoj 1008 - Fibsieve`s Fantabulous Birthday 亂搞

給定一個數字,輸出其座標,座標從下往上從左往右遞增...方法就如矩陣裏面的。 對於一個數字,如果是完全平方數就直接特判輸出,非完全平方數的話可以判斷出在第幾層(半包圍結構). 第n層的元素有2n-1個。判斷完層數可以得知起點終點的方式就知

原创 lightoj 1389 - Scarecrow 貪心

給定一個1*n的圖,#代表壞的地,點代表莊稼,要放置稻草人防止烏鴉,一個稻草人可以保護本身和左右兩端,問最少需要多少個稻草人。 三個點爲一組。遇到一個#可能的情況是前面的點數量是三的倍數,剛好不用管,餘數爲2,那麼就必須要放置一個啦。餘數

原创 lightoj 1179 - Josephus Problem 約瑟夫環

約瑟夫環問題,採取遞推式求解.... #include<bits/stdc++.h> using namespace std; #define ll long long #define ull unsigned long long #de