摘要:
#include<stdio.h>int map[101][101];int dijsk(int n){ int visit[101]={0}; int dis[101]; int i,j,k,min; for(i=1;i<=n;++i) dis[i]=map[1][i]; visit[1]=1; for(i=1;i<n;++i) { min=0x7ffffff; k=0; for(j=1;j<=n;++j) { if(!visit[j]&&min>dis[j]) { min=dis[j]; k=j; } } visit[k]=1; for(
阅读全文
posted @ 2012-06-26 23:51
可笑痴狂
阅读(322)
推荐(0)
编辑
摘要:
树状数组先废话一下.嗯 嗯 从今天开始 从基础一步一步开始 追逐我的梦想!今天先来讨论一下树状数组.问题提出:已知数组a[],元素个数为n,现在更改a中的元素,要求得新的a数组中i到j区间内的和(1<=i<=j<=n).思考:对于这个问题,我们可以暴力地来解决,从a[i]一直累加到a[j],最坏的情况下复杂度为O(n),对于m次change&querry,合起来的复杂度为O(m*n),在n或m很大的情况下,这样的复杂度是让人无法忍受的.另外,如果没有元素的变更,我们完全可以存储sum[1,k](k=1,2,……),然后对任意给定的查找区间[i,j],都可以方便的用an
阅读全文
posted @ 2012-06-26 22:08
可笑痴狂
阅读(195)
推荐(0)
编辑