給定n 個整數a ,a , ,an 1 2 組成的序列, a n i | |£ ,1 £ i £ n。如果對于i £ j ,有 0 = å = j k i k a ,則稱序列區間i i j a , a , , a +1 為一個零和區間,相應的區間長度為j-i+1。
上傳時間: 2015-07-23
上傳用戶:zhangzhenyu
給定n 個整數a ,a , ,an 1 2 組成的序列, a n i | |£ ,1 £ i £ n。如果對于i £ j ,有 0 = å = j k i k a ,則稱序列區間i i j a , a , , a +1 為一個零和區間,相應的區間長度為j-i+1。
上傳時間: 2013-12-21
上傳用戶:偷心的海盜
英文版,pdf格式。 詳細說明: Title: STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library (2nd Edition) URL: http://www.amazon.com/exec/obidos/tg/detail/-/0201379236/ ISBN: 0201379236 Author: David R. Musser / Gillmer J. Derge / Atul Saini / Gilmer J. Derge Publisher: Addison-Wesley Page: 560 Edition: 2nd edition (March 27, 2001) Catalog: C++ Format: PDF Size: 3.8M Supplier: December Summary: The Standard Template Library was created as the first library of genetic algorithms and data structures, with four ideas in mind: generic programming, abstractness without loss of efficiency, the Von Neumann computation model, and value semantics. This guide provides a tutorial, a description of each element of the library, and sample applications. The expanded second edition includes new code examples and demonstrations of the use of STL in real-world C++ software development it reflects changes made to STL for the final ANSI/ISO C++ language standard.
標簽: Programming Reference Standard Tutorial
上傳時間: 2015-09-02
上傳用戶:Breathe0125
地圖著色把地圖上的每個城市抽象為一個點,并給每個城市編號,,相鄰的城市之間用直線連接。據此做出鄰接矩陣,若第i個城市與第j個城市相鄰,則metro[i][j]=1,否則metro[i][j]=0。 算法:按照編號從小到大的順序檢查每個城市,對每個城市從1到4使用4種顏色著色,若當前顏色可用(即不與相鄰城市顏色相同),則著色;否則測試下一種顏色。
上傳時間: 2014-01-14
上傳用戶:450976175
Floyd-Warshall算法描述 1)適用范圍: a)APSP(All Pairs Shortest Paths) b)稠密圖效果最佳 c)邊權可正可負 2)算法描述: a)初始化:dis[u,v]=w[u,v] b)For k:=1 to n For i:=1 to n For j:=1 to n If dis[i,j]>dis[i,k]+dis[k,j] Then Dis[I,j]:=dis[I,k]+dis[k,j] c)算法結束:dis即為所有點對的最短路徑矩陣 3)算法小結:此算法簡單有效,由于三重循環結構緊湊,對于稠密圖,效率要高于執行|V|次Dijkstra算法。時間復雜度O(n^3)。 考慮下列變形:如(I,j)∈E則dis[I,j]初始為1,else初始為0,這樣的Floyd算法最后的最短路徑矩陣即成為一個判斷I,j是否有通路的矩陣。更簡單的,我們可以把dis設成boolean類型,則每次可以用“dis[I,j]:=dis[I,j]or(dis[I,k]and dis[k,j])”來代替算法描述中的藍色部分,可以更直觀地得到I,j的連通情況。
標簽: Floyd-Warshall Shortest Pairs Paths
上傳時間: 2013-12-01
上傳用戶:dyctj
動態規劃的方程大家都知道,就是 f[i,j]=min{f[i-1,j-1],f[i-1,j],f[i,j-1],f[i,j+1]}+a[i,j] 但是很多人會懷疑這道題的后效性而放棄動規做法。 本來我還想做Dijkstra,后來變了沒二十行pascal就告訴我數組越界了……(dist:array[1..1000*1001 div 2]...) 無奈之余看了xj_kidb1的題解,剛開始還覺得有問題,后來豁然開朗…… 反復動規。上山容易下山難,我們可以從上往下走,最后輸出f[n][1]。 xj_kidb1的一個技巧很重要,每次令f[i][0]=f[i][i],f[i][i+1]=f[i][1](xj_kidb1的題解還寫錯了)
上傳時間: 2014-07-16
上傳用戶:libinxny
function [U,center,result,w,obj_fcn]= fenlei(data) [data_n,in_n] = size(data) m= 2 % Exponent for U max_iter = 100 % Max. iteration min_impro =1e-5 % Min. improvement c=3 [center, U, obj_fcn] = fcm(data, c) for i=1:max_iter if F(U)>0.98 break else w_new=eye(in_n,in_n) center1=sum(center)/c a=center1(1)./center1 deta=center-center1(ones(c,1),:) w=sqrt(sum(deta.^2)).*a for j=1:in_n w_new(j,j)=w(j) end data1=data*w_new [center, U, obj_fcn] = fcm(data1, c) center=center./w(ones(c,1),:) obj_fcn=obj_fcn/sum(w.^2) end end display(i) result=zeros(1,data_n) U_=max(U) for i=1:data_n for j=1:c if U(j,i)==U_(i) result(i)=j continue end end end
標簽: data function Exponent obj_fcn
上傳時間: 2013-12-18
上傳用戶:ynzfm
//Euler 函數前n項和 /* phi(n) 為n的Euler原函數 if( (n/p) % i == 0 ) phi(n)=phi(n/p)*i else phi(n)=phi(n/p)*(i-1) 對于約數:divnum 如果i|pr[j] 那么 divnum[i*pr[j]]=divsum[i]/(e[i]+1)*(e[i]+2) //最小素因子次數加1 否則 divnum[i*pr[j]]=divnum[i]*divnum[pr[j]] //滿足積性函數條件 對于素因子的冪次 e[i] 如果i|pr[j] e[i*pr[j]]=e[i]+1 //最小素因子次數加1 否則 e[i*pr[j]]=1 //pr[j]為1次 對于本題: 1. 篩素數的時候首先會判斷i是否是素數。 根據定義,當 x 是素數時 phi[x] = x-1 因此這里我們可以直接寫上 phi[i] = i-1 2. 接著我們會看prime[j]是否是i的約數 如果是,那么根據上述推導,我們有:phi[ i * prime[j] ] = phi[i] * prime[j] 否則 phi[ i * prime[j] ] = phi[i] * (prime[j]-1) (其實這里prime[j]-1就是phi[prime[j]],利用了歐拉函數的積性) 經過以上改良,在篩完素數后,我們就計算出了phi[]的所有值。 我們求出phi[]的前綴和 */
上傳時間: 2016-12-31
上傳用戶:gyq
My JSP 'TeacherMain.jsp' starting page var $=function(id) { return document.getElementById(id); } function show_menu(num){ for(i=0;i
標簽: C++
上傳時間: 2015-07-03
上傳用戶:xiyuzhu
題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少? //這是一個菲波拉契數列問題 public class lianxi01 { public static void main(String[] args) { System.out.println("第1個月的兔子對數: 1"); System.out.println("第2個月的兔子對數: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"個月的兔子對數: "+f2); } } } 【程序2】 題目:判斷101-200之間有多少個素數,并輸出所有素數。 程序分析:判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除, 則表明此數不是素數,反之是素數。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素數個數是: " + count); } } 【程序3】 題目:打印出所有的 "水仙花數 ",所謂 "水仙花數 "是指一個三位數,其各位數字立方和等于該數本身。例如:153是一個 "水仙花數 ",因為153=1的三次方+5的三次方+3的三次方。 public class lianxi03 { public static void main(String[] args) { int b1, b2, b3;
上傳時間: 2017-12-24
上傳用戶:Ariza