原创 hdu 1404 sg

題目唯一的難點在於dp中某些狀態的轉移不好用。原因是有些狀態不能用int表示,比如002這種的數,但容易知道第一個是0的 都是必勝態,轉移時,比如201,能轉移乘001,如果不考慮前導0,會到1,而1是必輸態,這樣201會是必勝態,但是

原创 pku 1704

import java.util.*; public class Main {     /**      * @param args      */     static int[] grid=new int [100

原创 sg函數

給出百度百科解釋:(應該是從論文裏截的一段,可以看出有前後文) 給定一個有向無環圖和一個起始頂點上的一枚棋子,兩名選手交替的將這枚棋子沿有向邊進行移動,無法移 動者判負。事實上,這個遊戲可以認爲是所有Impartial Combinato

原创 sfys

1.2.1 不一定。 1.2.2位置*方案,等我做的時候再思考吧。 1.2.3答案:0 1 2 2 4 4 4 4 2 0 abcceeeeca; 1.2.4枚舉,注意邊界條件。 1.2.5枚舉列然後貪心 1.2.6注意只需枚舉相鄰兩個

原创 每日小結2 baby-step_giant_step

維基百科:baby-step_giant_step 名字已經暗示了算法的精髓。感覺和桶計數很像。就是把小單位合併。用大單位和小單位一起精確查找。和杭州網絡賽的中值濾波很像呀。 an==b(mod c)  給定你n的範圍。可能很大。但是由數

原创 知識點

時間複雜度(漸近時間複雜度的嚴格定義,NP問題,時間複雜度的分析方法,主定理)排序算法(平方排序算法的應用,Shell排序,快速排序,歸併排序,時間複雜度下界,三種線性時間排序,外部排序)數論(整除,集合論,關係,素數,進位制,輾轉相除

原创 sg變形——一堆變多堆

原題連接 http://www.acm.cs.ecnu.edu.cn/problem.php?problemid=1328 Stripes Time Limit:1000MS Memory Limit:30000KB Total

原创 poj 3710

組合遊戲。 import java.util.*; public class Main {     /**      * @param args      */     static int N;     sta

原创 PKU 3537

這題的中間狀態比較好想。但是邊界有點繞人。原因是子游戲出現了邊界,未定義的情況。 import java.util.*; public class Main {     /**      * @param args     

原创 整數行列式計算 高斯方法 無精度損失

沒用double,用的分數表示。不能算太大的。   #include <iostream>#include <cstring>#include <cstdio>#include <cmath>#define MAXN 50#define

原创 1006

  關鍵是精度; 3600*24=86400; 10E-4 題目要求的是10E-5 所以最少也要把一秒分爲10份,但是我分到1000纔對的。 爲啥呢,其實算上四捨五入的話,題目要求E-6,而計算時應該更小,因爲有累加效果。當然我的這個方法

原创 sfys2

給出個官方答案:http://wenku.baidu.com/view/05c3f2eae009581b6bd9eb80.html 1.2.8 不一定。有些數學方法比貪心更直接。 1.2.9 感覺不行。因爲不管怎麼貪心,後面的狀態都會根據

原创 hdu 3221

汗死的題。 做這題時,以爲a^x%P=a^(x%PI(P))%P,結果一直wa。以爲是long long的問題。其實一開始的公式如果a和P互質,就是對的。但是如果a和P不互質的話,這樣有一種情況是錯的。比如a=2,P=6,pi(6)=2(

原创 HDU 3341

Qinz的題。。。 題意: 給定AGTC的數目,求組成的串中能含給定的串最大數目;trick可以有一樣的給定串,但是要算兩次。題目不嚴謹呀^_^;   之前自動機只是侷限於入門級的題。這回在構建auto時,每個節點的next都有值;這和之

原创 hdu 2965

這道題其實有更簡單的做法。四個判斷就ok。由於我比較死板。什麼都想套理論。3000ms的代碼就誕生了。 考慮時,可以這樣。先放一條邊。如果這條邊能用小長方形的兩條邊精確覆蓋,那麼考慮另一條邊的覆蓋。 wa了那麼多次,只不過是個大括號的問題