2018年6月23日 星期六

TOJ315

這題看似基礎的快速冪
但他給的M實在太大了...
導致一點也不水阿...
個人目前想了一個晚上還是找不出正解
目前個人是覺得有三個以上的解
1.某個我想不出來的正解
2.把乘拆開用加的 ->太慢
3.用大數 ->太麻煩

大數直接複製14就好,

只是大數mod的部分要實作又要爬一堆資料了,實在不想浪費時間在這...

315-2.cpp(加法ver,時間很慢(370)


更新:
失敗想法:
f315.cpp(其實稍微調整一下c的取法,我認為有機會成功

更新:

315-3.cpp(大數ver,但時間還是很慢(360~400)
我想應該是mod方面的演算法需要改進

這方面我真的懶的研究...

更新:

315-2.1.cpp(加法ver,時間已經優化到極限了(60~80),
排行榜上0聽說好像是用大數做的,結果這題還是要用大數阿...
那可能就沒什麼我想像中的正解了

更新:
315-3.1.cpp(大數ver,不用寫麻煩的函數,輕輕鬆鬆直接用(0)
索性去問了學長
好心的他馬上丟了關鍵字給我「__int128」
哇!竟然還有這麼好用的東西我不知道
除了cin跟cout不能直接用還要定義以外
其他的加減乘除模都可以用
超棒的!!!
最後丟上去果然就runtime0了,好爽