-
給定n 個整數a ,a , ,an 1 2 組成的序列, a n i | |£ ,1 £ i £ n。如果對于i £ j ,有
0 = å
=
j
k i
k a ,則稱序列區(qū)間i i j a , a , , a +1 為一個零和區(qū)間,相應的區(qū)間長度為j-i+1。
標簽:
61516
an
整數
序列
上傳時間:
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)算法小結:此算法簡單有效,由于三重循環(huán)結構緊湊,對于稠密圖,效率要高于執(zhí)行|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
-
動態(tài)規(guī)劃的方程大家都知道,就是
f[i,j]=min{f[i-1,j-1],f[i-1,j],f[i,j-1],f[i,j+1]}+a[i,j]
但是很多人會懷疑這道題的后效性而放棄動規(guī)做法。
本來我還想做Dijkstra,后來變了沒二十行pascal就告訴我數組越界了……(dist:array[1..1000*1001
div 2]...)
無奈之余看了xj_kidb1的題解,剛開始還覺得有問題,后來豁然開朗……
反復動規(guī)。上山容易下山難,我們可以從上往下走,最后輸出f[n][1]。
xj_kidb1的一個技巧很重要,每次令f[i][0]=f[i][i],f[i][i+1]=f[i][1](xj_kidb1的題解還寫錯了)
標簽:
動態(tài)規(guī)劃
方程
家
上傳時間:
2014-07-16
上傳用戶:libinxny
-
一、問題的提出:
某廠根據計劃安排,擬將n臺相同的設備分配給m個車間,各車間獲得這種設備后,可以為國家提供盈利Ci j(i臺設備提供給j號車間將得到的利潤,1≤i≤n,1≤j≤m) 。問如何分配,才使國家得到最大的盈利L
二.算法的基本思想:
利用動態(tài)規(guī)劃算法的思想,設將i臺設備分配給j-1個車間,可以為國家得到最大利潤Li (j-1)(1≤i≤n,1≤j≤m),那么將這i臺設備分配給j個車間,第j個車間只能被分配到0~i臺,所以我們只要算出當第j個車間分配到t(0<=t<=i)臺時提供的最大利潤Lt(j-1)+C(i-t)j,
標簽:
上傳時間:
2016-09-19
上傳用戶:希醬大魔王
-
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[]的前綴和
*/
標簽:
phi
Euler
else
函數
上傳時間:
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
-
實驗源代碼
//Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("請輸入矩陣第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可傳遞閉包關系矩陣是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元關系的可傳遞閉包\n"); void warshall(int,int); int k , n; printf("請輸入矩陣的行數 i: "); scanf("%d",&k);
四川大學實驗報告 printf("請輸入矩陣的列數 j: "); scanf("%d",&n); warshall(k,n); }
標簽:
warshall
離散
實驗
上傳時間:
2016-06-27
上傳用戶:梁雪文以