003、pycharm執行pytest
阿新 • • 發佈:2021-07-13
只要你敢想,沒啥能擋得住你拿分
遇到不會的題,隨機化演算法也不失為一種很好的對策
無論你是歐皇還是非酋,在極大似然法面前眾生平等
生成隨機數
cout<<rand();會輸出一個隨機數,需要用到cstdlib庫
但是,這些隨機數是偽隨機數,每次輸出的都一樣。
需要這麼做srand(time(0));
其中srand()是用來更換rand()的引數,引數不同,隨機數不同
time(0)則是返回自GMT時間1970年1月1日零點以來的秒數,不理解沒關係,只要知道每次呼叫這個函式的時候返回的值不同就行。
注意:windows下和linux下生成的隨機數範圍不一樣(一定要提前瞭解考試評測機的系統!)
windows下返回值較小,想要個大的怎麼辦?
define YYCH ((rand()<<14)|rand())
cout<<YYCH;
不用兩個rand()相乘是因為這種做法不能生成質數
隨機化亂搞
只要膽子大,搜尋最優化
隨機搜尋,隨機轉移DP......只有你想不到,沒有隨機做不到
不會的時候一定要試試隨機演算法呦
對拍
看這裡
模擬退火
在提交答案題裡有神奇功效
看這裡