原创 HDOJ-2669 Romantic(數論)

裸的擴展歐幾里得算法,但要注意題目中要求a爲非負數,擴展歐幾里得算出來的a可能是負的,需要對a,b進行一下調整,否則會WA。 #include <cstdio> #include <cstdlib> #include <cstring>

原创 TJU-3862 Determinant(數學)

看到題目的時候,查了一下“Determinant”——行列式。沒學過線代的哭瞎。大一不開線代課的感覺除了我們學院也沒誰了 後來參考算導713頁(原書1223頁)遞歸的算法做了一遍。 #include <cstdio> #include <

原创 HDOJ-4089 Activation(概率DP)

 題意: n個人在服務器上排隊激活仙劍5遊戲,番茄排在第m位。服務器給每個人激活時,可能會發生一下4種情況: 事件1:激活失敗,隊伍保持不變,概率爲p1; 事件2:連接失敗:隊首的人回到隊尾,概率爲p2; 事件3:激活成功:隊首的人出隊,

原创 POJ-1222 EXTENDED LIGHTS OUT(高斯消元)

題意: 給你一個5*6的矩陣,每個點上都有一個燈,按下f[i][j]的按鈕,f[i][j]位置的燈的狀態會改變,它上下左右的燈的狀態也會改變(開變關,關變開)。 現在給出這個矩陣的初始狀態,輸出按下哪些按鈕,使所有的燈都關閉。 做法:

原创 HDOJ-1788 Chinese remainder theorem again(數論)

就是求模線性方程組 #include <cmath> #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> using namespace

原创 HDOJ-1287 破譯密碼(數學)

異或性質: C=A XOR B--> C XOR B=A 枚舉異或的字母,如果是合法的,那麼所有解密出來的字母都在[A,Z]之間。 自己被優先級坑了一回 if((text[i]^key) <'A' || (text[i]^key)>'Z'

原创 HDOJ-5371 Hotaru's problem(Manacher)

2015 Multi-University Training Contest 7 1003題 當時想到了用Manacher和二分,但是沒想到用set去維護,可惜。 題解: 先用求迴文串的Manacher算法,求出以第i個點和第i+1個點

原创 HDOJ-1211 RS(數論)

這道題介紹了一種叫做RSA的加密解密算法,非常有趣的。最近開始學習數論,正好拿來入門。 關於RSA算法 1、選擇兩個大素數p,q 2、令n=p*q,Fn=(p-1) * (q-1) 3、選擇一個數e,滿足1<e<Fn,且e與Fn互質,稱e

原创 HDOJ-1576(數論)

看着像擴展歐幾里得,努力往上面湊吧。 令M=9973,X=A/B, Y=A/M 因爲n=A%M=A-(A/M)*M=BX-MY 現在有BX-MY=n了,B和M是已知的,X,Y未知的,距離擴展歐幾里得還差一點。 由於gcd(B,M)=1(題

原创 HDOJ4828 Grids(數論)

一開始想成DP了,後來暴力打表找規律發現原來是卡特蘭數列。 於是乎就變成了卡特蘭數取模問題。 遞推公式h[n]=h[n-1]*(4n-2)/(n+1) 公式中有除法,所以取模的時候要用到乘法逆元。 比較方便的一點是,10^9+7是質數,必

原创 HDOJ-3240 Counting Binary Trees(數論)

典型的卡特蘭數問題,答案就是卡特蘭數列前n項和。 關於卡特蘭數列: http://www.cppblog.com/MiYu/archive/2010/08/07/122573.html 這裏比較棘手的問題就是取模問題,要用到乘法逆元,但

原创 TJU-3860 Basex(模擬)

題目: http://acm.tju.edu.cn/toj/showp3860.html 先是RE,再是WA。。。。。。 坑之處: 1、RE的原因,題目裏只說了模是被空格隔開的,沒說是幾個空格,我當一個空格處理的。 2、WA的原因:人家沒

原创 乘法逆元的作用

轉載自以下博客,源出處不明,如有侵權請告知博主,我會立即刪除: http://blog.csdn.net/tsaid/article/details/7365936 若對於數字A,C 存在X,使A * X = 1 (mod C) ,那麼

原创 HDOJ-4344 Mark the Rope(數論)

概括一下題意:將一個合數n的因數(不包括1和n)看做一個集合,求一個最大的子集使集合內所有元素都互質,並求出在上述條件下集合元素最大的和是多少。 解法:既然要保證子集內的元素互質,就要保證任意兩個元素沒有質因子。要元素數目做多,則每個元素

原创 HDOJ1411 校慶神祕建築/2015HDU Summer Trainning(3) - Team 1008 (幾何)

HDOJ1411:按照一定順序給出四面體的六條邊長,求四面體體積。 公式題目: 計算的時候注意把邊和角對應好,sqrt裏面注意浮點誤差,不要對負數開方。 #include <cmath> #include <cstdio> #inclu