摘要:
#include <stdio.h>#include <iostream>using namespace std;#define maxsize 1000000typedef struct Num{int a[maxsize];int len;}Num;int t;void Insert_List(Num *&l){int i, n;l=new Num;cin>>n;cin>>t;for(i = 0;i<n;i++){cin>>l->a[0];if(i!=n-1){for(int j = i;j>=0;j--
閱讀全文
摘要:
一》下載要安裝系統的鏡像文件,也就是iso文件,你懂的。二》下載并安裝UltraISO,你懂的。三》插上U盤到電腦。四》打開UltraISO。 在菜單欄選擇 文件-->打開-->選擇在第一步下載的iso文件。 在菜單欄選擇 啟動-->寫入硬盤映像... 在彈出的對話框中選擇寫入 等等成功即可。五》成功之后,重啟電腦,選擇從u盤啟動,剩下的就和用光盤安裝是一樣的了。
閱讀全文
摘要:
兩點注意:1. cmp函數必須返回int型。2.qsort中必須有4個參數。也就是說一定有cmp函數存在,不然它不知道怎么排序。Number 1: int 型排序。(數組)View Code ……int intcmp(const void *a, const void *b){ return (*(int*)a)-(*(int*)b);}int main(){ int n[10]={1, 3, 4, 9, 7, 0 , 8, 5, 4, 3}; qsort(n, 10, sizeof(n[0]), intcmp); ……}Number 2: do...
閱讀全文
摘要:
1.hud 1166http://acm.hdu.edu.cn/showproblem.php?pid=1166 敵兵布陣 本題目涉及到了區間操作和點操作兩種操作。 區間操作(區間和):我們采用了遞推的方法來建樹,建好了葉子結點之后,我們再回溯來建整個區間。(這個操作是關鍵) 點操作:點操作必然涉及到區間的改動,我們判定,只要這個點在一個區間上,那么我們就對這個區間操作。View Code #include "iostream"#include "string"#include "algorithm"using namespace s
閱讀全文
摘要:
hdu 1536 http://acm.hdu.edu.cn/showproblem.php?pid=15361.首先,mex的介紹:mex運算這是一個集合的運算,表示最小的不屬于這個集合的非負整數。例如mex{0,1,2,3}=4;mex{0,1,3,4}=2; mex{1,2,3,5}=?2.然后,sg函數的定義和性質:sg函數sg函數的定義如下:g(x)=mex{g(y) | y是x的后繼}很明顯這是一個遞歸運算。sg函數的性質了:如果g(x)=0 那么 x 位置就是必敗點。如果g(x)>0 那么 x 位置就是必勝點。View Code #include "iostrea
閱讀全文
摘要:
隊列,從一頭進入,從另一頭刪除的數據結構。第一步:初始化|_||_||_||_||_||_| t=h=0第二步:從隊尾加入一個元素8|_||_||_||_||8| t=1|_| h=0第三步:從隊尾刪除一個元素|_||_||_||_||8||_| t=h=0在這里雖然8仍然存在,但是由于t=0,所以下次如果在加入一個元素會將其覆蓋掉,所以我們認為t--,就是對數據的刪除隊列的典型的題目是:poj 2823 http://poj.org/problem?id=2823代碼如下:View Code #include <stdio.h> #include <string.h>
閱讀全文
摘要:
我們所說的堆棧其實就是棧這種數據結構。只能在棧頂來進行添加和刪除。第一步:初始化|_||_||_||_||_||_| top=0;第二步:加入一個元素8|_||_||_||_||8| top=1;|_|第三步:刪除一個元素|_||_||_||_||8| |_| top=0;典型的堆棧的題目是:poj 3250 http://poj.org/problem?id=3250代碼如下:(不用stl的代碼,141ms)View Code include "iostream"#include "string"#include "algorithm&quo
閱讀全文
摘要:
線段樹,后綴樹(KMP,AC自動機),后綴數組,樹狀數組1.樹形dphdu 1011 題意http://www.rzrgm.cn/183zyz/archive/2011/07/19/2110983.htmlhdu 1011 題解http://acm.hdu.edu.cn/viewcode.php?rid=64458092.線段樹hdu 1166 題目http://acm.hdu.edu.cn/showproblem.php?pid=1166hdu 1166 題解http://acm.hdu.edu.cn/viewcode.php?rid=64494153.后綴樹構造后綴樹的詳細算法描述
閱讀全文
摘要:
子串: 字符串s的子串r[i..j],i<=j,表示r串中從 i 到 j 這一段。后綴: 后綴是從某個位置 i 開始到整個串末尾結束的一個特殊子串。 也就是說suffix(i)=r[i..len(s)];后綴數組:后綴數組sa是一個一維數組,它保存的是1..n的某個排列. sa[1],sa[2],..,sa[n],并保證suffix(sa[i]) < suffix(sa[i+1]) 也就是將s的n個后綴從小到在進行排序之后把排好序的后綴 的開頭位置順序放入sa中。名次數組:名次數組rank[i]保存的是suffix(i)在所有后綴中從小到大排列的名次。后綴...
閱讀全文
摘要:
算法模板:View Code #define F(x) ((x)/3+((x)%3==1?0:tb))#define G(x) ((x)<tb?(x)*3+1:((x)-tb)*3+2)int wa[maxn],wb[maxn],wv[maxn],ws[maxn];int c0(int *r,int a,int b){return r[a]==r[b]&&r[a+1]==r[b+1]&&r[a+2]==r[b+2];}int c12(int k,int *r,int a,int b){if(k==2) return r[a]<r[b]||r[a]==
閱讀全文