原创 UVA 10870 遞推關係 矩陣快速冪

題意:f(n) = a1 *f(n - 1) + a2 *f(n - 2) + a3 *f(n - 3) + … + ad* f(n - d),  n > d.求f(n) 見白書 155頁。  由於n太大,不能直接遞推,需要用矩陣快速冪來

原创 HDU 5750 數學題

隨便推導下, 令y=xdy=xd, 如果dd是yy的maximum positive proper divisor, 顯然要求xx是yy的最小質因子. 令mp(n)mp(n)表示nn的最小質因子, 那麼就有x \le mp(d)

原创 POJ 2947 (高斯消元解同模方程)

公司被吞併,老員工幾乎全部被炒魷魚。一共有n種不同的工具,編號1-N(代碼中是0—N-1), 每種工具的加工時間爲3—9天 ,但是現在老員工不在我們不知道每種工具的加工時間,慶幸的是還保留着一些對工人制造工具的記錄,對於每個老員工,他的記

原创 POJ 1026 Cipher(置換羣)循環節

Bod 和 Alice 計劃使用一種全新的編碼方案,令人驚訝的是這不是一個公開的公匙密碼,但是他們的編碼基於密匙,在Philadelphia on February 16th他們的會議中選擇了密匙,他們選擇的密匙是一個兩兩不等的整數序列

原创 POJ 1166 枚舉或者高斯消元

給出9個鐘錶的狀態,給出九種操作,問最少要操作幾次能把所有的鐘表調回12點。 思路: 對於9個鐘錶分別列方程,然後高斯消元即可。 然後用每個未知量表示是否進行此操作。所以取值是1或者0 接下來就是枚舉每個未知量得係數使得每個等式都成立。

原创 HDU 5818 2016多校賽第七場 數組模擬鏈表,來模擬棧

http://acm.hdu.edu.cn/showproblem.php?pid=5818 比較簡單巧妙的一個做法是引入一個新的棧C,每次合併的時候就把A和B合併到C上,然後把A和B都清空. push還是按正常做,pop注意當遇到要po

原创 HDU 5719 貪心,腦洞題

點擊打開鏈接 題意: 這兒共有nn堆稻穀,編號爲11到nn。Psyche需要將這些谷堆以某種順序排列,設最終排在第ii位的谷堆是A_iA​i​​。 她得知了一些該排列的要求: 1. 對於任意整數i \in [1,n]i∈[1,n

原创 HDU 5667 矩陣快速冪關於指數的遞推

Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 14

原创 POJ 3270 Cow Sorting (置換羣利用) 位置交換問題

題目:有一串數字,要將它排列成升序,每次可以交換兩個數,交換一次的代價爲兩數之和。要求代價最小。所有的數都是唯一的。 將原有數列排序之後,得到目標串,這樣就與原串形成了置換。 1.對於單個循環羣來說(大小大於1),所有的數的位置與目

原创 HDU 5821 多校腦洞題貪心

題意: 有N個盒子,每個盒子最多裝一個球. 球的顏色不一定相同. 現在要進行m次區間操作: 每次操作 [l, r] 後可以隨意將區間內的球重新分配回去. 問經過上述操作後是否有可能達到給定的狀態.   思路 貪心. 首先應該明

原创 POJ 1703 並查集的應用 關係並查集l兩種方法

/***************** 有兩個幫派,有兩種操作 D a b表示a 和 b不是一個幫派;A a b 表示詢問a b是否是一個幫派, 若至此還不確定,輸出“Not sure yet”。 思路: 關係並查集;只要兩者的關係確定了

原创 HDU 5833 高斯消元 異或方程組

題意:給出n個正整數,從中選出1個或者多個,使得選出來的整數乘積是完全平方數,一共有多少種選法。 思路:用01向量表示一個數,再用n個01向量來表示我們的選擇,因爲完全平方數要求素因子的次數一定要是偶數的,所以我們可以統計的將奇數當作1

原创 sg函數應用 多校 HDU5795A Simple Nim 與其他題 NIM變形

點擊打開鏈接 題意: 一個n堆的取石子游戲,每次可以取一堆中的任意個,或者將當前堆分爲三個非空堆。求先手/後手必勝。 思路:根據sg定理,遊戲和的sg函數等於各個遊戲的sg函數的nim和。 所以需要把各個狀態的sg函數打表打出來,找找規律

原创 POJ 1061擴展gcd

擴歐的使用,要學會構建方程,首先要先寫出等式關係出來,然後再將等式關係進行構建方程。 這道題是: 假設兩隻青蛙都跳了t步之後兩者相遇。 則 青蛙A 的位置爲x+mt ,青蛙B爲 y+nt。 則 x+mt-y-nt=pL  (p爲圈數) 所

原创 HDU5616 揹包 天平平衡問題

題目大意:有一個只能判斷兩邊是否相等的天平,現在給你一些已知重量的砝碼,問你是否可以通過這些砝碼測量一個任意給定的重量(input),即可以通過在天平兩側放一定數量的砝碼,使天平平衡。 #include <bits/stdc++.h> #