青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 62  文章 - 96  trackbacks - 0
<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

留言簿(7)

隨筆分類(66)

隨筆檔案(62)

文章分類(31)

文章檔案(32)

友情鏈接

最新隨筆

積分與排名

  • 積分 - 237629
  • 排名 - 108

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

昨天在PKU上做了一題2187,限時(shí)3s。
算法主要耗時(shí)在多次求不同整數(shù)的平方。
當(dāng)用pow函數(shù)求時(shí),超時(shí);
而直接乘才232ms。
相差也太大了吧。
于是就寫了一段代碼來測(cè)試pow的性能
首先產(chǎn)生10000個(gè)隨機(jī)整數(shù),然后重復(fù)1000次求整數(shù)的平方

#include <iostream>
#include 
<cmath>
#include 
<ctime>
using 
namespace std;
const int MAX = 10000;
int a[MAX];
int main()
{
    
int i, j, n = MAX;
    
int rep = 1000//重復(fù)次數(shù)
    clock_t beg, 
end;
    
for(i = 0; i < n; i++)
        a[i] 
= rand() % 20000 - 10000//-10000 <= a[i]< 10000

    cout
<<"test a[i]*a[i]"<<endl;
    beg 
= clock();
    
for(j = 0; j < rep; j++)
        
for(i = 0; i < n; i++)
            a[i] 
* a[i];
    
end = clock();
    cout
<<"time: "<<end - beg<<"ms"<<endl;
    
    cout
<<"test pow(a[i], 2.0)"<<endl;
    beg 
= clock();
    
for(j = 0; j < rep; j++)
        
for(i = 0; i < n; i++)
            pow(a[i], 
2.0);
    
end = clock();
    cout
<<"time: "<<end - beg<<"ms"<<endl;

    
return 0;
}

下面是測(cè)試結(jié)果:

test a[i]*a[i]
time: 31ms
test pow(a[i], 2.0)
time: 2828ms

所以下次遇到類似情況不再用pow函數(shù)了……
posted @ 2007-08-25 20:16 beyonlin 閱讀(5829) | 評(píng)論 (6)編輯 收藏

在做PKU2762時(shí),需要建鄰接表。
于是按部就班寫了下面一個(gè)插入邊到鄰接表中的函數(shù):

const int VMAX = 1010;
typedef struct Graph
{
    
int vex;
    Graph
* next;
}Graph;
Graph ArcGraph[VMAX];
void insert(
int u, int v)
{
    Graph
* t = new Graph;
    Graph
* p = ArcGraph[u].next;
    t
->vex = v;
    t
->next = p;
    ArcGraph[u].next 
= t;
}


完成完整的程序提交上去,得到結(jié)果
Memory:25796K  Time:375MS
Language:C++  Result:Accepted

再對(duì)比別人的程序
Memory:296K Time:109MS

無論是時(shí)間還是空間都相差很大。
于是就考慮怎么優(yōu)化自己的程序。
第一個(gè)問題:規(guī)模只有1000,為什么會(huì)用那么多內(nèi)存呢?
仔細(xì)一想數(shù)據(jù)是多case的,每次插入新節(jié)點(diǎn)時(shí)都要?jiǎng)討B(tài)創(chuàng)建一個(gè)節(jié)點(diǎn)。
一來動(dòng)態(tài)創(chuàng)建耗時(shí)間,二來每個(gè)case結(jié)束的鄰接表中的節(jié)點(diǎn)沒有釋放,故耗費(fèi)大量?jī)?nèi)存。
然后就想到了下面的算法,首先初始化一塊內(nèi)存Graph use[100*VMAX];這樣每次需要新節(jié)點(diǎn)時(shí),
就從use中獲取。如果use使用完畢就再動(dòng)態(tài)創(chuàng)建。

依此算法優(yōu)化后,得到的結(jié)果比較滿意
Memory:1000K  Time:218MS
Language:C++  Result:Accepted

const int VMAX = 1010;
typedef struct Graph
{
    
int vex;
    Graph
* next;
}Graph;
Graph ArcGraph[VMAX];
Graph use[
100*VMAX];
int size = 0;
void insert(
int u, int v)
{
    Graph
* t;
    
if(size < 100*VMAX)
    {
        t 
= &use[size];
        size
++;
    }
    
else t = new Graph;
    Graph
* p = ArcGraph[u].next;
    t
->vex = v;
    t
->next = p;
    ArcGraph[u].next 
= t;
}
posted @ 2007-08-13 00:29 beyonlin 閱讀(1578) | 評(píng)論 (0)編輯 收藏
發(fā)現(xiàn)用stl中的bitset求子集樹只要短短的幾行代碼
#include<iostream>
#include
<bitset>
using 
namespace std;
const int n = 4;
int main()
{
    
for(int i = 0; i < (1 << n); i++)
    {
        bitset
<n> bit(i);
        
for(int j = bit.size() - 1; j >= 0; j--)
            cout
<<bit[j];
        cout
<<endl;
    }
    
return 0;
}
n個(gè)元素有2^n個(gè)子集,
i從0到2^n - 1,
把它換算成二進(jìn)制就分別對(duì)應(yīng)一個(gè)子集。
posted @ 2007-07-23 15:56 beyonlin 閱讀(1101) | 評(píng)論 (0)編輯 收藏
以前求子集樹都是用回溯法,
今天在topcoder做SRM時(shí)學(xué)到一種求子集樹的新方法:位運(yùn)算。
第一重循環(huán)是枚舉所有子集,共2^n個(gè),即1 << n個(gè)
第二重循環(huán)求集合所有j個(gè)元素的值,0或1。
求一下1 & (1 << j)的值就可以知道它的原理。
#include<iostream>
using 
namespace std;
const int n = 4;
int x[n];
//回溯法
void backtrack(
int t)
{
    
if(t >= n)
    {
        
for(int i = 0; i < n; i++)
            cout
<<x[i];
        cout
<<endl;
    }
    
else
    {
        
for(int i = 0; i <= 1; i++)
        {
            x[t] 
= i;
            backtrack(t 
+ 1);
        }
    }
}
//位運(yùn)算
void bitOperate()
{
    
for(int i = 0; i < (1 << n); i++)
    {
        
for(int j = 0; j < n; j++)
        {
            
if( (i & (1 << j) ) == 0)
                x[j] 
= 0;
            
else
                x[j] 
= 1;
        }
        
for(int j = 0; j < n; j++)
            cout
<<x[j];
        cout
<<endl;
    }
}
int main()
{
    backtrack(
0);
    cout
<<endl;
    bitOperate();
    
return 0;
}
posted @ 2007-07-22 02:59 beyonlin 閱讀(1780) | 評(píng)論 (0)編輯 收藏
#include<iostream>
using namespace std;
const int MAXV = 10000//素?cái)?shù)表范圍
bool flag[MAXV
+1]; //標(biāo)志一個(gè)數(shù)是否為素?cái)?shù)
int prime[MAXV+1]; //素?cái)?shù)表,下標(biāo)從0開始
int size; //素?cái)?shù)個(gè)數(shù)
void genPrime(
int max)
{
    memset(flag, 
true, sizeof(flag));
    
for(int i = 2; i <= max / 2; i++)
    {
        
if(flag[i])
        {
            
for(int j = i << 1 ; j <= max; j += i)
            {
                flag[j] 
= false;
            }
        }
    }
    
for(int i = 2 ; i <= max; i++)
    {
        
if(flag[i])
        {
            prime[size
++= i;
        }
    }
}
int main()
{
    genPrime(MAXV);
    return 
0;
}
posted @ 2007-05-18 16:13 beyonlin 閱讀(2698) | 評(píng)論 (2)編輯 收藏
僅列出標(biāo)題
共12頁(yè): 1 2 3 4 5 6 7 8 9 Last 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            麻豆精品视频在线观看视频| 亚洲第一色在线| 亚洲视频一区二区免费在线观看| 欧美 日韩 国产在线| 亚洲乱码国产乱码精品精98午夜| 亚洲国产91精品在线观看| 欧美黄色日本| 亚洲午夜精品一区二区三区他趣| 在线午夜精品自拍| 国产婷婷97碰碰久久人人蜜臀| 久久激情婷婷| 免费91麻豆精品国产自产在线观看| 亚洲欧洲精品一区二区三区不卡| 亚洲黄色在线看| 国产精品久久久久久超碰| 久久精品最新地址| 欧美11—12娇小xxxx| 亚洲网站在线看| 欧美中文字幕在线| 亚洲久久视频| 欧美一区二区三区精品 | 99国产精品99久久久久久| 欧美视频一区二区| 久久免费视频这里只有精品| 欧美国产精品一区| 亚洲欧洲av一区二区| 久久久久久亚洲综合影院红桃| 亚洲人午夜精品| 午夜视频久久久久久| 亚洲精品韩国| 午夜伦欧美伦电影理论片| 亚洲国产成人午夜在线一区 | 欧美一区免费| 欧美成人综合一区| 久久精品国产免费观看| 欧美激情精品久久久久| 久久视频一区二区| 欧美午夜久久久| 欧美激情在线观看| 国模吧视频一区| 亚洲天堂av在线免费观看| 亚洲人被黑人高潮完整版| 性色av一区二区三区| 中日韩午夜理伦电影免费| 麻豆久久婷婷| 久久久久久夜精品精品免费| 国产精品成人一区二区三区夜夜夜 | 香蕉久久国产| 欧美日韩精品久久| 亚洲高清毛片| 在线免费一区三区| 久久gogo国模啪啪人体图| 亚洲一区激情| 欧美日韩视频在线| 亚洲精品少妇| 亚洲毛片网站| 欧美黄网免费在线观看| 欧美激情成人在线视频| 一区二区在线不卡| 久久精品免费播放| 久久频这里精品99香蕉| 国产亚洲女人久久久久毛片| 亚洲一区二区综合| 欧美一区二区三区啪啪| 国产精品久久看| 亚洲一区视频| 久久国产精品久久久久久电车| 国产精品私拍pans大尺度在线| 一区二区三区久久久| 亚洲影视中文字幕| 国产精品影视天天线| 性欧美videos另类喷潮| 久久精品理论片| 在线成人免费观看| 男人的天堂成人在线| 最新高清无码专区| 在线视频日韩精品| 国产精品日韩欧美| 久久福利影视| 欧美成人精品一区| 99精品视频免费在线观看| 欧美日韩一二三四五区| 亚洲一区视频在线观看视频| 欧美一区网站| 亚洲国产精品一区二区www在线| 久热爱精品视频线路一| 亚洲黄色在线观看| 亚洲欧美中文另类| 一区二区三区在线免费播放| 欧美~级网站不卡| 一区二区三区产品免费精品久久75 | 在线国产精品一区| 欧美日韩成人激情| 午夜精品久久一牛影视| 欧美777四色影视在线| 亚洲三级电影全部在线观看高清| 欧美日韩 国产精品| 亚洲欧美在线另类| 欧美激情a∨在线视频播放| 在线视频亚洲欧美| 国产亚洲欧美日韩日本| 欧美激情第五页| 性欧美18~19sex高清播放| 亚洲动漫精品| 欧美在线播放一区二区| 日韩视频中文| 国产亚洲欧美日韩在线一区 | 亚洲午夜一区二区三区| 麻豆精品在线视频| 亚洲在线中文字幕| 亚洲国产精品久久91精品| 国产精品久久久久三级| 久热精品视频在线观看一区| 亚洲色图制服丝袜| 亚洲福利国产| 久久免费精品视频| 亚洲欧美国产另类| 亚洲理论电影网| 国内精品亚洲| 国产欧美日韩综合精品二区| 欧美日韩成人在线视频| 看欧美日韩国产| 欧美一区二区视频在线观看| aa日韩免费精品视频一| 亚洲福利电影| 欧美波霸影院| 久久亚洲欧美| 久久精品99国产精品| 亚洲男女自偷自拍图片另类| 亚洲精品一区在线观看| 在线欧美日韩国产| 国产一区二区高清| 国产欧美日韩综合一区在线观看| 欧美色偷偷大香| 欧美精品一区二区三区久久久竹菊| 久久久久在线观看| 久久riav二区三区| 欧美在线www| 午夜精品久久久久久久99黑人| 一区二区三区福利| 在线视频精品一| 亚洲一区二区三区涩| 亚洲手机成人高清视频| 99国产精品久久久| 一区二区日韩精品| 亚洲天堂久久| 午夜欧美不卡精品aaaaa| 亚洲综合日韩| 性欧美xxxx大乳国产app| 香蕉久久夜色精品国产| 欧美伊人久久久久久久久影院| 欧美在线网站| 久久天堂精品| 欧美电影美腿模特1979在线看| 欧美.com| 国产精品扒开腿做爽爽爽软件| 欧美视频国产精品| 国产毛片一区二区| 一区二区三区在线观看视频| 在线欧美日韩| 亚洲视频你懂的| 欧美一区影院| 欧美成ee人免费视频| 亚洲精品影院| 亚洲欧美日韩一区在线| 久久精品国产第一区二区三区| 久久精品一区| 欧美日韩精品免费观看视频完整| 国产精品福利在线观看| 狠狠干综合网| 99热这里只有精品8| 午夜在线一区| 免费亚洲一区| 亚洲天堂久久| 美女国产一区| 国产精品伦一区| 亚洲成人在线免费| 亚洲少妇中出一区| 久久综合激情| 夜夜嗨av色综合久久久综合网| 午夜精品久久| 欧美人与禽猛交乱配视频| 国产午夜精品全部视频播放| 亚洲人体偷拍| 久久精品盗摄| 一本久道久久综合狠狠爱| 欧美一区二区精品| 欧美日韩在线免费观看| 伊人成年综合电影网| 亚洲一区免费在线观看| 免费欧美视频| 午夜精彩视频在线观看不卡 | 欧美在线免费观看| 欧美精品导航| 在线日韩中文| 久久久国产午夜精品| 亚洲午夜羞羞片| 欧美日韩精品一区二区| 91久久国产自产拍夜夜嗨| 久久久亚洲国产美女国产盗摄|