題目鏈結
密碼:12345678
有些題目用到了列舉,貪心,二分什麼的,實際上這並不是什麼演算法,只是一種思想,用多了就會覺得很自然。
找出最大值,計算每個數與他的差值求和即可
#include #include #include #include #include #include #include #include #include #include using namespace std;
int a[100005];
int main()
int sum=0;
for(int i=0;i#include#includeusing namespace std;
int a[100000+10];
int main()
else
}printf("%d\n",ans);
}} }
return 0;
}
c題:兩個遊戲手柄都要充電,但只有乙個充電器,每分鐘會消耗2%的電(就是數值減小2)不充電的情況下,會得到1%的電充電時(就是把數增加1),不能同時充電和消耗,然後給出初始電量,求能持續的最長時間。貪心模擬就行了,每次充電時優先給電量少的充電。
#include #include#includeusing namespace std;
int main()
else
s++;
}printf("%d\n",s);
}return 0;
}
d題:有n根木棍,每次兩個人輪流取出來k個,如果某一回合剩下不足k根,則遊戲結束。問第乙個人的操作次數是否會比第二個人的多。 思路:看比了幾場,偶數場就輸了,奇數場就贏了。
#includeusing namespace std;
int main()
int flag=0;
for(int i=0;i}
printf("\n");
}return 0;
}
有些題目用到了列舉,貪心,二分什麼的,實際上這並不是什麼演算法,只是一種思想,用多了就會覺得很自然。 演算法學習篇 17 比較字串
比較兩個字串a和b,確定a中是否包含b中所有的字元。字串a和b中的字元都是 大寫字母 樣例給出 a abcd b acd 返回 true 給出 a abcd b aabc 返回 false 1 先將字串轉換為陣列並排序 2 進行一些固定的判斷,例如陣列b的長度大於a的長度則返回false,兩個陣列都...
演算法學習 Union Find演算法
union find演算法有它的實際用途。多用於動態連通的應用場景。union find演算法是 給出兩個節點,判斷它們是否連通,如果連通,是不需要給出具體的路徑的 舉兩個例子作為主要表現 1 在網路連線中,當發現沒有連線的兩個節點,可以把他們連線起來,一旦節點都連線起來,又能把多餘的線拆除,這時候...
演算法學習 KM演算法
km演算法 用於求二分圖的最佳完美匹配 即權值最大的完美匹配 如果你也是個剛來學習km演算法的人 大概的用途肯定還是知道的吧 還是直接說重點吧 首先 理解km演算法前 必須有以下3個概念 1.可行頂標 對於乙個賦值二分圖g x,y,e,w x,y 代表二分圖的兩邊頂點標號 e代表邊 w代表邊的權值 ...