http://acm.hdu.edu.cn/showproblem.php?pid=2394

題目的大概意思就是,判斷關于x的二次同余方程 a x^2 + b x + c = 0 ( mod 2 ^32 ) 是否有解

看到這道題目的時候剛好看了一些二次互反律之類的知識,思維被定向到了那邊,又在網上找了一些資料,但是都不能解決此題(起碼我沒有想出來怎么辦,大牛勿鄙視)。跟haozi討論了一下,也沒什么結果,后來haozi用java的大數把這題過了,我也不知道他怎么做的,他只說是很暴力的方法。今天在ACM_DIY群里請教了一下 UESTC 的 love8909 大牛,原來只要分來討論 a b c 的奇偶性一共8種情況,比如:abc都是偶數,那么方程等價于 a/2 x^2 + b/2 x + c/2 = 0 ( mod 2 ^31 ), 通過討論可以將mod的數降下來,一直到2^0為止,若能達到,必然有解,還有一些情況詳見我代碼:

hdu_2394