暈死,,,反正是對不了..都是自己寫代碼的風格不行呀,,怎麼也寫不對了- -#煩死了都,,,不知道是怎麼錯了..好像和別人寫的差不多呀自己的:#include <stdio.h>#include <string.h>#include <iostream>#include <string>#define max(a, b) (a) > (b) ? (a) : (b)using namespace std;struct node{int
希爾排序,可以更正的一點就是,增量是設計成偶數,還是設計成奇數,還是不用去管它,是什麼樣就是什麼樣呢?通過看前任的研究,可以發現,增量設計成奇數是可以減少點計算量的,但效果也不會很明顯.呵呵,不過,做知識還是要嚴謹一些比較好.貼出代碼:#include <stdio.h>#include <string.h>#include <math.h>#include <iostream>#include <string>#include
這個真的是,,,我頭一次見到這麼好玩的事情...以前做題從來都沒有考慮過這種事情呀,,,精度處理不對,題目是出不來的,,,,這種可真是考驗人的耐性呀,,,,下次直接把eps開的更小一點?事實我剛才給證明了,,我第一次開的是1e-8顯然不行,而小於1e-13的都可以..嘿嘿.所以以後一定要注意沒事,使勁開吧....呵呵.,因為你開的越小越接近答案...吃一塹長一智呀.貼出代碼:#include <stdio.h>#include <string.h>#include
這是以前用的最多的一種排序,而我今天還在想什麼才是選擇排序呢..可想而知自己的基礎打得是多麼的不牢實了...#include <stdio.h>#include <string.h>#include <math.h>#include <iostream>#include <algorithm>#include <string>#define inf 0x3fffffffusing namespace std;int
這道題目開始的時候也是沒有看明白到底是個什麼意思,,,看了別人的代碼才知道原來是個這麼意思,還是不懂是個什麼意思其實,,看代碼算了..嘿嘿貼出:#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>#define MAXN 1000001int prime[MAXN];int
很簡單的一道題目,分享My Code:#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>#define MAXN 100000bool p[MAXN];int main(){memset(p,1,sizeof(p));p[1]=0;for(int i=4;i<=MAXN;i+=2)p[i]=0;for(i=3;i<=sqrt(MAXN*1.0
冒泡排序,時間複雜度是O(n^2),但是它的有點也十分優越,那就是比較容易敲出來代碼,而且相對穩定,是一種穩定的排序方法.貼出代碼:#include <stdio.h>#include <string.h>#include <math.h>#include <iostream>#include <algorithm>#include <string>#define inf 0x3fffffffusing namespace
主要是要讀好題目,題目中已經說好了,是醜數;貼出代碼;#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>__int64 N;int find(int x){int sum=0;__int64 t=N;while(t%x==0){sum++;t/=x;}return sum;}int main(){int
我什麼都不想說了,我今天就是為了研究AC自動機的,,可是一天過去了,,自己還是什麼都不懂!我真想死了...自己看著別人的代碼敲都敲不對,我真崩潰了,不想放棄,但是,自己不放棄還真是不行..我真的沒有時間再去鑽研這個東西了. 明天還有很重要的任務需要完成...ac自動機....會有徵服你的那一天的!貼出別人的代碼://AC自動機 HDU 2222
這麼個水題,讓我敲了好長時間,,,我就不懂了.為什麼能用n/2,而就是不能用sqrt(n)呢能漏掉什麼答案麼? 我一定得弄清楚 而且.如果加上while的話,,就錯,我也不懂...等會研究清楚繼續整貼出代碼:#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>bool hash[40000];int main(){int
其實就是簡單的數學求極值問題.看了代碼大家都會知道的.本來是想好好學學二分尋找這種方法的,但是發現專門考二分尋找的不多,它只是種思想,是一種工具.貼出代碼:#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>const double eps=1e-8; int y;double g(double x){return
看來前面的思路還是對的,就是說,其實判斷0的個數就是判斷2和5的個數,,,而2和5的最小的個數取決於零的個數.但是,開始的時候不知道有那麼個規律 就是說,質因數分解的時候,前面的冪次必定小於後面的冪次.所以逾時了,,呵呵.貼出代碼,下面的是逾時的哦...#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>int main(){int
這個題目是一個很基礎的求最小產生樹的,唯一稍微拐一點彎的就是,你個建成邊的處理情況,可能有很多種情況,但我選擇的是:既然已經建成了,那麼說明他的花費是0,直接以0為權值,建到矩陣中就可以,而且這樣建的話也不會更新這些已經建成的邊,原因很簡單咯,因為你最初設這的dis[i]=0;貼上代碼:#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>#define
此題目,就是一定要注意建雙路邊,而且因為不知道有多少個頂點,所以開始的時候就要建最多的情況.也就是1005(習慣性的多出幾個咯),然後就是一個起點,對應的多個終點的兩重迴圈就好,其實還是比較簡單的.貼出代碼:#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>#define inf 0x3fffffffint M,S,D;//M represents
這個暴力法,還是比較好的不,但是一般在 比賽的過程中是遇不到的,,不可能就是這種純暴力的想法,但是也許就是個水題的話,自己還是可以做出來的不呵呵,,還是不錯的哈;;;貼出代碼:#include <stdio.h>#include <string.h>#include <iostream>#include <string>using namespace std;int a[22];int max[22];int main(){int n;while
/* hdu 1392 凸包 模板題*/#include <cstdio>#include <stdlib.h>#include <math.h>#include <conio.h>#include <algorithm>using namespace std;#define maxn 200#define inf 1e-6typedef struct{ double x; double y;}point;
快速排序的主要的思想就是在於劃分,就是先找一個關索引值,然後運用什麼樣的方法把資料分成小於關索引值的在關鍵的左邊,而大於關索引值的在關索引值的右邊. 然後分配好了之後就可以直接遞迴調用了.貼出我自己寫的代碼,這是根據資料結構的基本思想寫出來的:#include <stdio.h>#include <string.h>#include <math.h>#include <iostream>#include
這個主要是靠你自己退出來範圍,要是盲目的算,你是一點思路都沒有的.,..一般涉及到這種帶有不等號的題目,都會涉及到範圍的,,誒誒誒誒,今天就不寫了,,,想去看書了,,好想看沉思錄,,剛才順便掃了一眼電視,,,那個叫什麼梨花嫂的...嗚嗚.老天呀,為什麼年輕的時候你不讓我們在一起,老了的20年卻讓我們在一起,,,誒誒誒, 感情這事呀..#include <stdio.h>#include <string.h>#include <math.h>#include &
這道題目,其實和以前做過的還是有那麼點類似的,主要就是你把已經建成的先賦成0,因為人家已經建成了,你怎麼能讓人家繼續掏錢呢?本來想用並查集去判斷是不是通路的,在想一想,其實不用那麼複雜,你首先把dis[i]都賦成了最大值inf,那也就是如果沒有聯通的話,這個邊是不會更新的 所以在最後面加一個判斷是不是有inf的邊沒有更新就可以判斷出到底是不是通路了,貼出代碼:#include <stdio.h>#include <string.h>#include <stdlib.
這道題目,本來我是用的DFS,但是來的答案不一定是對的,,,,以你為DFS是找到了就是答案, 而題目中要求的是找到最小的次數,所以不能選擇DFS.而我寫BFS的時候也有點繞遠,該了N多次,才改正了,,,,所以代碼改出來及其醜,,,,主要提醒注意以下幾個知識點,,,,判斷起始點和結束點事一個點的時候(其中又包括兩個易錯點:此點是合理的與此點是不合理的情況兩張),然後就是寫BFS了...而且你也要用一個數組存起來步數,我用的是visit[]我寫的比較醜.,.嘿嘿代碼如下:#include