使用者工具

網站工具


programming:acm_temp

這是本文件的舊版!


目錄表

Hash、大數

146

給一個字串,找出下一個權重的字串。可用 algorithm.h 中的 bool next_permutation(iterator_start, iterator_end);

abaacb -> ababac
cbbaa -> no solution(lastest one)

642

http://acm.uva.es/p/v6/642.html

將字典中的每個字都放到一個 1~26 的陣列中,代表字母出現的次數

719

http://acm.uva.es/p/v7/719.html

頭尾相連,哪個位置開始會是最小字串

10127

http://acm.uva.es/p/v101/10127.html

要有多少 1 可以讓 n 整除。ex: 111111 / 7 = 15873 Ans: 6

利用長除法的原理,將每次的餘數乘以十加上一,然後再用 n 除一次,再取餘數,直到整除,算加了幾次 1 即可。

或:

1
10 ≡ 3 (mod 7)
100 ≡ 30 ≡ 2
1000 ≡ 20 ≡ 6
10000 ≡ 60 ≡ 4
10^5 ≡ 40 ≡ 5

1 + 3 + 2 + 6 + 4 + 5 = 0 (mod 7)

10225

http://acm.uva.es/p/v102/10225.html

B^L ≡ N (mod P)

Shank's Algorithm

m = ceiling( √(P-1) )
0 <= i <= m-1
0 <= j <= m-1
......

10745

http://acm.uva.es/p/v107/10745.html

字串長度最大 10,依照字典排序印出不會被其他字串所包含(dominant)的字串,若 A 字串單字長度大於 B 字串,代表 B 絕對不可能 dominant A,同 642 方法試試。

programming/acm_temp.1178102996.txt.gz · 上一次變更: 2007/05/02 18:57 (外部編輯)