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

The Fourth Dimension Space

枯葉北風(fēng)寒,忽然年以殘,念往昔,語默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢令

#

Reverse Polish Notation-我的原創(chuàng)題目

Reverse Polish Notation


Time Limit: Nolimit


 


Memory Limit: 65536K



Description


標(biāo)準(zhǔn)的表達(dá)式如"A+B",在數(shù)學(xué)上學(xué)名叫中綴表達(dá)式(Infix Notation),原因是運(yùn)算符號(hào)在兩個(gè)運(yùn)算對(duì)象的中間。相對(duì)應(yīng)的還有前綴表達(dá)式(Prefix Notation),如:"+ - A * B C D",轉(zhuǎn)換成中綴表達(dá)式為:"A - B * C + D";后綴表達(dá)式(Postfix Notation),比如前所述的中綴表達(dá)式轉(zhuǎn)換為后綴表達(dá)式為:"A B C * - D +"。為了紀(jì)念波蘭數(shù)學(xué)家魯卡謝維奇(Jan Lukasiewicz),前綴表達(dá)式被稱作波蘭表達(dá)式,后綴表達(dá)式稱為逆波蘭表達(dá)式(Reverse Polish Notation)。
后綴表達(dá)式的優(yōu)點(diǎn)是顯而易見的,編譯器在處理時(shí)候按照從左至右的順序讀取逆波蘭表達(dá)式,遇到運(yùn)算對(duì)象直接壓入堆棧,遇到運(yùn)算符就從堆棧提取后進(jìn)的兩個(gè)對(duì)象進(jìn)行計(jì)算,這個(gè)過程正好符合了計(jì)算機(jī)計(jì)算的原理。
后綴表達(dá)式比前綴表達(dá)式更加易于轉(zhuǎn)換,并且它的最左面一定為數(shù)字,這一點(diǎn)在實(shí)際編程的時(shí)候就會(huì)體會(huì)到它的好處了。
逆波蘭表達(dá)式有一個(gè)更大的優(yōu)點(diǎn),就是拆括號(hào),根據(jù)運(yùn)算符的級(jí)別將中綴表達(dá)式轉(zhuǎn)換成逆波蘭表達(dá)式后,運(yùn)算順序就已經(jīng)替代了運(yùn)算符的級(jí)別,這樣也避免了括號(hào)提高運(yùn)算級(jí)別的特殊處理。
事實(shí)上,人的思維方式很容易固定~~!正如習(xí)慣拉10進(jìn)制。就對(duì)2,3,4,8,16等進(jìn)制不知所措一樣~~!人們習(xí)慣的運(yùn)算方式是中綴表達(dá)式。而碰到前綴,后綴方式。。迷茫其實(shí)僅僅是一種表達(dá)式子的方式而已(不被你習(xí)慣的方式)我這里教你一種也許你老師都沒跟你講的簡單轉(zhuǎn)換方式一個(gè)中綴式到其他式子的轉(zhuǎn)換方法~~這里我給出一個(gè)中綴表達(dá)式~a+b*c-(d+e)
第一步:按照運(yùn)算符的優(yōu)先級(jí)對(duì)所有的運(yùn)算單位加括號(hào)
~
        式子變成拉:
((a+(b*c))-(d+e))
第二步:轉(zhuǎn)換中綴與后綴表達(dá)式

        后綴:把運(yùn)算符號(hào)移動(dòng)到對(duì)應(yīng)的括號(hào)后面
        則變成拉:((a(bc)*)+(de)+)-
        把括號(hào)去掉:abc*+de+-  后綴式子出現(xiàn)

發(fā)現(xiàn)沒有,前綴式,后綴式是不需要用括號(hào)來進(jìn)行優(yōu)先級(jí)的確定的。
現(xiàn)在,你需要用計(jì)算機(jī)來實(shí)現(xiàn)這一過程,怎么樣,是否有興趣一試呢?如果答案是肯定的話,Let‘s go!

 


Input


按照人們?nèi)粘5妮斎肓?xí)慣,請(qǐng)輸入一個(gè)帶浮點(diǎn)型帶括號(hào)的中綴表達(dá)式(不需要添加等號(hào))。


輸入的算式可以包含整數(shù),小數(shù),+,-,*,/,(,)這幾種類型,


當(dāng)然,為了體現(xiàn)和諧社會(huì)的客觀要求及人文關(guān)懷,你可以假設(shè)這個(gè)算式的總字符長度小于100字節(jié)。


Output


輸出與此中綴表達(dá)式對(duì)應(yīng)的逆波蘭表達(dá)式,為了區(qū)分?jǐn)?shù)字,請(qǐng)將數(shù)字與數(shù)字或字符與字符以空格隔開。


最后一個(gè)字符后不需要添加空格,各組測試數(shù)據(jù)之間請(qǐng)用空行隔開。(輸出到文件尾)


Sample Input


1.5+2.5*3-4+5


1*2+3/4


Sample Output


1.5 2.5 3 * + 4 5 + -

 


 


1 2 3 + * 4 /


Source


Weitao(偉濤) 's first submitting problem for njust ACM team;

 

posted @ 2009-02-19 13:02 abilitytao 閱讀(1183) | 評(píng)論 (0)編輯 收藏

POJ 1088 動(dòng)態(tài)規(guī)劃之經(jīng)典問題——滑雪

動(dòng)態(tài)規(guī)劃之經(jīng)典問題——滑雪解題報(bào)告

                                           

原題鏈接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1088

Description

Michael喜歡滑雪百這并不奇怪,因?yàn)榛┑拇_很刺激。可是為了獲得速度,滑的區(qū)域必須向下傾斜,而且當(dāng)你滑到坡底,你不得不再次走上坡或者等待升降機(jī)來載你。Michael想知道載一個(gè)區(qū)域中最長底滑坡。區(qū)域由一個(gè)二維數(shù)組給出。數(shù)組的每個(gè)數(shù)字代表點(diǎn)的高度。下面是一個(gè)例子

4 5

16 17 18 19 6

15 24 25 20 7

14 23 22 21 8

13 12 11 10 9

一個(gè)人可以從某個(gè)點(diǎn)滑向上下左右相鄰四個(gè)點(diǎn)之一,當(dāng)且僅當(dāng)高度減小。在上面的例子中,一條可滑行的滑坡為24-17-16-1。當(dāng)然25-24-23-...-3-2-1更長。事實(shí)上,這是最長的一條。

Input

輸入的第一行表示區(qū)域的行數(shù)R和列數(shù)C(1 <= R,C <= 100)。下面是R行,每行有C個(gè)整數(shù),代表高度h,0<=h<=10000。

Output

輸出最長區(qū)域的長度。

Sample Input

5 5

1 2 3 4 5

16 17 18 19 6

15 24 25 20 7

14 23 22 21 8

13 12 11 10 9

Sample Output

25

個(gè)人心得:記得前段時(shí)間曾經(jīng)做過一個(gè)求最長下降子序列的題(相信大家都做過該題,故不另附原題),如果說說那道題是dp問題的基礎(chǔ),那么這道題就可以稱得上是求最長下降子序列的變種或者更確切的說是一種升華!

對(duì)比來看,前者是求最長下降子序列在一維條件下的解,而1088滑雪這道題則是將此下降問題至于二維平面的背景下。相信弄明白這道題是非常有必要的,因?yàn)樗粌H升華了我們對(duì)該類問題的理解,而且能啟發(fā)我們用同樣的思維方式去解決更多動(dòng)態(tài)規(guī)劃的問題。

 

 

題目意思其實(shí)很簡單,給出一個(gè)二維數(shù)組,在其中找出一個(gè)點(diǎn),是它能找到一條高度依次下降的路徑并使得這條路徑最長。

算法:開一個(gè)二維數(shù)組height記錄每個(gè)點(diǎn)的高度,一個(gè)二維數(shù)組len記錄每個(gè)點(diǎn)能搜索到的最長下降子序列的長度(初始值全為零),一個(gè)結(jié)構(gòu)體數(shù)組dot line[20000]記錄每個(gè)點(diǎn)的坐標(biāo)(x,y)和高度值 h.

先將每個(gè)點(diǎn)的記錄信息保存在結(jié)構(gòu)體數(shù)組中。然后以高度由低到高的順序排序,初始狀態(tài)下指針就位于結(jié)構(gòu)體數(shù)組的起始位置。

接著順序的掃描此結(jié)構(gòu)體數(shù)組內(nèi)的信息,因?yàn)橐呀?jīng)排好序,所以高度是一次遞增的,這樣做的好處是只需要朝著一個(gè)方向搜索,而且還可以有效避免越界的問題。

當(dāng)指針每指向一個(gè)結(jié)構(gòu)體個(gè)體時(shí),我們均可以找到該點(diǎn)在height數(shù)組里的位置,如果存在任意一個(gè)點(diǎn),在它周圍的四個(gè)方向上而且高度比該點(diǎn)大且這個(gè)任意點(diǎn)的最長下降子序列小于或等于該店的長度。那么這個(gè)任意點(diǎn)的最長下降子序列的長度就+1;

等到結(jié)構(gòu)體數(shù)組掃描完成,再去遍歷len這個(gè)二維數(shù)組,求出最大值即為所求;

 

 

 

CODE:

 

#include<iostream>

#include
<cmath>

#include
<cstring>

#include
<cstdio>

#include
<algorithm>

using namespace std;

 

 

struct dot//創(chuàng)建一個(gè)結(jié)構(gòu)體存儲(chǔ)每個(gè)點(diǎn)的信息

{

    
int x;

    
int y;

    
int h;

}
;

dot line[
20000]; //將每個(gè)點(diǎn)存入該結(jié)構(gòu)體數(shù)組

int height[120][120]; //用于存儲(chǔ)input

int len[120][120];  //dp數(shù)組,存儲(chǔ)每個(gè)點(diǎn)的最優(yōu)解

int cmp( const void *a ,const void *b) //快速排序的參考函數(shù)

{

 

    
if((*(dot *)a).h>(*(dot *)b).h)

        
return 1;

    
else return -1;

 

}


int main ()

{

    
int m,n;

    cin
>>m>>n;

    
int i,j;

    
int flag=-1;

    
int max=0;

    
for(i=1;i<=m;i++)

    
{

 

        
for(j=1;j<=n;j++)

        
{

            flag
++;

            scanf(
"%d",&height[i][j]);

            line[flag].x
=i;

            line[flag].y
=j;

            line[flag].h
=height[i][j];

        }


    }
 //這個(gè)雙層循環(huán)用來完成數(shù)據(jù)收集的工作

    qsort(line,m
*n,sizeof(line[0]),cmp); //對(duì)結(jié)構(gòu)體的h參數(shù)進(jìn)行排序

    
for(i=0;i<m*n;i++)

    
{

    
if(height[line[i].x][line[i].y]<height[line[i].x][line[i].y+1]&&len[line[i].x][line[i].y]>=len[line[i].x][line[i].y+1])

        
{

            len[line[i].x][line[i].y
+1]=len[line[i].x][line[i].y]+1;

        }


    
if(height[line[i].x][line[i].y]<height[line[i].x+1][line[i].y]&&len[line[i].x][line[i].y]>=len[line[i].x+1][line[i].y])

        
{

            len[line[i].x
+1][line[i].y]=len[line[i].x][line[i].y]+1;

        }


    
if(height[line[i].x][line[i].y]<height[line[i].x][line[i].y-1]&&len[line[i].x][line[i].y]>=len[line[i].x][line[i].y-1])

        
{

            len[line[i].x][line[i].y
-1]=len[line[i].x][line[i].y]+1;

        }


        
if (height[line[i].x][line[i].y]<height[line[i].x-1][line[i].y]&&len[line[i].x][line[i].y]>=len[line[i].x-1][line[i].y])

        
{

            len[line[i].x
-1][line[i].y]=len[line[i].x][line[i].y]+1;

        }


    }
 //動(dòng)態(tài)規(guī)劃過程

    
for(i=1;i<=m;i++)

    
{

        
for(j=1;j<=n;j++)

        
{

 

           

            
if(len[i][j]>max)

                max
=len[i][j];

        }


    }
 //遍歷len數(shù)組,求出最大值

    cout
<<max+1<<endl;// 因?yàn)槌跏贾凳?,所以最后要加一

    
return 0;

}


 

 

最后不得不說,動(dòng)態(tài)規(guī)劃的確是一個(gè)值得研究的問題,相比于遞歸,他能夠節(jié)省大量的運(yùn)行時(shí)間。

鑒于現(xiàn)在還處于學(xué)習(xí)的初級(jí)階段,如果有所不足,還請(qǐng)老師和學(xué)長們多多指點(diǎn).

Thank you~

posted @ 2009-02-19 13:00 abilitytao 閱讀(10790) | 評(píng)論 (13)編輯 收藏

帶括號(hào)浮點(diǎn)型計(jì)算器final

     摘要: 課程設(shè)計(jì)一:                                &n...  閱讀全文

posted @ 2009-02-19 01:12 abilitytao 閱讀(2155) | 評(píng)論 (3)編輯 收藏

線性表類——張宏數(shù)據(jù)結(jié)構(gòu)第一課

晚上花了2個(gè)多小時(shí)寫的,感覺不是很難,下次嘗試下寫成鏈表+模板的形式 O(∩_∩)O~

#include<iostream>
#include
<algorithm>
using namespace std;

#define LISTVOLUME 10000


class sqlist
{
private:
    
int a[10001];
    
int lenth;
    
int max;
public:
    sqlist()
    {
        memset(a,
0,sizeof(a));
        lenth
=0;
        max
=LISTVOLUME;


    }
    
void initial();
    
void creat();
    
void print();
    
void inset(int num,int pos);
    
void deletenode(int pos);
    
void sortlist();
    
int size();
    
bool empty();
    
bool full();
    
void findnode(int num);


};


void sqlist::initial()
{
    memset(a,
0,sizeof(a));
    lenth
=0;
    max
=LISTVOLUME;
}
void sqlist::creat()
{

    cout
<<"請(qǐng)順序鍵入鏈表中的數(shù)值,用空格隔開,并以'-1'結(jié)束"<<endl;
    
int pos=1;
    
int temp;
    
while(cin>>temp)
    {
            
if(temp==-1)
            
break;
        
if(lenth>=LISTVOLUME)
        {

            cout
<<"抱歉,線性表已滿,無法輸入數(shù)據(jù),請(qǐng)重新初始化該數(shù)據(jù)表"<<endl;
            cout
<<"請(qǐng)問需要重新初始化嗎?(Y/N)"<<endl;
            
char temp;
            cin
>>temp;
            
if(temp=='Y'||temp=='y')
            {

                initial();
                creat();
                
break;
            }
            
else
                
break;
        }

    
        a[pos]
=temp;
        pos
++;
        lenth
++;

        

    }

}

void sqlist::print()
{

    
int i;
    
for(i=1;i<=lenth;i++)
    {

        cout
<<a[i]<<' ';

    }
    cout
<<endl;

}

void sqlist::inset(int num, int pos)
{

    
if(lenth>=LISTVOLUME)
    {

        cout
<<"數(shù)據(jù)表已滿,無法添加數(shù)據(jù)"<<endl;
        
return;
    }
    
if(pos<1||pos>lenth+1)
    {

        cout
<<"您輸入的位置不合法,請(qǐng)重新輸入(僅需要輸入插入的位置):";
        cin
>>pos;
    }
    
int i;
    
for(i=lenth;i>=pos;i--)
    {
        a[i
+1]=a[i];
    }
    a[pos]
=num;
    lenth
++;

}

void sqlist::deletenode(int pos)
{
    
if(pos<1||pos>lenth)
    {

        cout
<<"您輸入的位置不合法,請(qǐng)重新輸入";
        cin
>>pos;
    }
    
int i;
    
for(i=pos+1;i<=lenth;i++)
    {

        a[i
-1]=a[i];

    }
    a[lenth]
=0;
    lenth
--;
    cout
<<"成功刪除"<<pos<<"號(hào)結(jié)點(diǎn)"<<endl;
}

void sqlist::sortlist()
{

    
int temp;
    cout
<<"請(qǐng)問您需要從小到大排列(鍵入1)還是從大到小排列(鍵入-1)"<<endl;
    cin
>>temp;
    
if(temp==1)
        sort(a
+1,a+1+lenth);
    
else if(temp==-1)
    {

        sort(a
+1,a+1+lenth);
        reverse(a
+1,a+1+lenth);

    }
    cout
<<"排序完成"<<endl;
}
int sqlist::size()
{
    
return lenth;
}

bool sqlist::empty()
{

    
if(lenth==0)
        
return true;
    
else
        
return false;
}

bool sqlist::full()
{

    
if(lenth>=max)
        
return true;
    
else
        
return false;

}

void sqlist::findnode (int num)
{

    
int i;
    
for(i=1;i<=lenth;i++)
    {

        
if(a[i]==num)
        {
            cout
<<"該元素位于"<<i<<"號(hào)位置"<<endl;
            
return ;
        }


    }
    cout
<<"沒有搜索到改元素,請(qǐng)重新查找"<<endl;
}





int main ()
{
    sqlist test;
    
int m,n;
    cin
>>m>>n;
    test.creat();
    test.print();
    test.initial();
    test.creat();
    test.print();
    test.inset(m,n);
    test.sortlist ();
    test.deletenode(
3);
    test.findnode(
3);
    
return 0;

}



posted @ 2009-02-19 00:51 abilitytao 閱讀(1009) | 評(píng)論 (3)編輯 收藏

僅列出標(biāo)題
共42頁: First 34 35 36 37 38 39 40 41 42 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            小嫩嫩精品导航| 久久av一区二区三区亚洲| 欧美一区午夜精品| 午夜精品一区二区三区在线播放 | 亚洲欧美文学| 亚洲欧美另类久久久精品2019| 亚洲视频日本| 亚洲影院在线| 久久嫩草精品久久久精品一| 免费亚洲电影| 欧美日韩一区二区三区四区五区| 国产精品成人免费精品自在线观看| 欧美午夜视频在线观看| 午夜精品福利在线观看| 久久精品国产欧美激情| 久久综合色一综合色88| 欧美aa国产视频| 亚洲人线精品午夜| 欧美高清视频在线| 夜夜嗨av一区二区三区| 欧美一区二区精美| 欧美一区二区三区四区视频| 国产麻豆午夜三级精品| 亚洲成人在线网| 亚洲免费成人av电影| 亚洲精品护士| 一本一本久久a久久精品综合妖精| 国产午夜精品全部视频在线播放| 国产婷婷色综合av蜜臀av | 亚洲国产精品日韩| 一本一本久久a久久精品综合妖精| 午夜久久tv| 久久婷婷国产综合尤物精品| 亚洲欧洲精品一区二区三区 | 亚洲人成高清| 午夜精品理论片| 久久久国产精品亚洲一区| 国模精品一区二区三区| 农村妇女精品| 国产精品专区第二| 亚洲精品在线观| 久久久久国产精品一区| 亚洲国产精品第一区二区三区| 国产精品99久久久久久宅男 | 嫩草国产精品入口| 亚洲欧美精品在线观看| 男女精品网站| 国内精品视频666| 亚洲无线视频| 亚洲激情电影中文字幕| 久久综合九色九九| 亚洲毛片在线| 欧美 日韩 国产 一区| 国产精品亚洲а∨天堂免在线| 91久久精品国产91久久性色| 久久精品国产免费看久久精品| 欧美亚一区二区| 欧美日本中文字幕| 亚洲国产高清自拍| 久久精品99国产精品日本 | 欧美国产亚洲另类动漫| 中日韩高清电影网| 亚洲国产一区二区三区在线播 | 久久久久久久综合色一本| 国产精品亚洲综合一区在线观看| 亚洲精品社区| 亚洲区欧美区| 欧美—级高清免费播放| 欧美片第一页| 亚洲日本理论电影| 亚洲电影自拍| 欧美日本国产精品| 亚洲日本理论电影| 亚洲国产成人av好男人在线观看| 亚洲看片一区| 亚洲国产精品欧美一二99| 欧美亚洲一区二区三区| 国产精品久久波多野结衣| 99精品视频免费观看视频| 亚洲国产精品999| 欧美国产日韩一区| 亚洲免费观看高清完整版在线观看| 欧美国产精品日韩| 老司机aⅴ在线精品导航| 伊人久久成人| 亚洲国产精品传媒在线观看| 欧美日本不卡视频| 久久国产精品亚洲va麻豆| 午夜精品国产更新| 国产丝袜一区二区三区| 激情av一区二区| 欧美在线高清视频| 久久久久91| 亚洲高清视频一区二区| 亚洲精品三级| 国产精品尤物| 欧美日韩视频在线一区二区 | 久久精品毛片| 亚洲风情亚aⅴ在线发布| 欧美成人午夜视频| 牛牛精品成人免费视频| 亚洲欧美国产va在线影院| 亚洲一区在线观看视频| 亚洲第一在线综合在线| 亚洲六月丁香色婷婷综合久久| 国产亚洲激情视频在线| 亚洲国产一成人久久精品| 国产精品久久久久aaaa九色| 韩国av一区二区三区四区| 猫咪成人在线观看| 欧美美女福利视频| 欧美影院精品一区| 男人的天堂成人在线| 欧美一区影院| 欧美日韩精品综合在线| 国产欧美日韩精品丝袜高跟鞋| 久久国产欧美| 亚洲国产毛片完整版| 国产一区二区精品久久99| 日韩手机在线导航| 亚洲国产精品第一区二区| 午夜精品久久久| 亚洲一区国产| 欧美日韩播放| 亚洲国产欧美在线| 亚洲高清在线播放| 久久国产一二区| 欧美一区二区三区视频在线观看 | 亚洲综合成人婷婷小说| 亚洲天堂网在线观看| 国产亚洲a∨片在线观看| 最新日韩精品| 亚洲欧洲视频| 欧美在线国产精品| 欧美专区亚洲专区| 久久精品30| 欧美综合激情网| 久久精品国产一区二区电影 | 欧美91视频| 久久久噜噜噜久久中文字幕色伊伊| 欧美日韩免费高清一区色橹橹| 欧美黄色小视频| 91久久久久久久久| 欧美激情第五页| 欧美黄色aaaa| 激情丁香综合| 久久综合久久综合九色| 蜜桃久久av| 亚洲成色www久久网站| 久久久噜噜噜久久久| 亚洲国产精品久久久久婷婷884| 久久免费精品视频| 欧美激情按摩在线| 夜夜精品视频| 国产精品国产三级国产专播品爱网 | 亚洲嫩草精品久久| 模特精品在线| 亚洲国产精品va在看黑人| 久久综合狠狠综合久久综合88 | 久久精品国产2020观看福利| 国产麻豆精品视频| 久久久之久亚州精品露出| 亚洲高清色综合| 亚洲午夜在线| 国产亚洲女人久久久久毛片| 久久天天躁夜夜躁狠狠躁2022| 亚洲国产天堂网精品网站| 亚洲女人天堂成人av在线| 国内成人精品一区| 欧美成人一品| 亚洲综合色丁香婷婷六月图片| 伊人久久婷婷| 亚洲欧美激情一区| 亚洲日韩视频| 欧美一站二站| 亚洲精选久久| 国产一区二区三区网站| 欧美激情国产日韩| 亚洲欧美日韩一区二区| 欧美国产欧美综合| 欧美成人高清视频| 亚洲一区二区三区精品在线| 国产情侣一区| 欧美精品国产精品日韩精品| 欧美一区二视频| 亚洲免费久久| 欧美成人精品一区二区| 性色av一区二区三区在线观看| 在线观看国产成人av片| 国产精品白丝jk黑袜喷水| 久久永久免费| 欧美一级在线视频| 一本久久综合亚洲鲁鲁| 亚洲综合成人婷婷小说| 欧美日韩视频在线| 蜜桃av综合| 先锋影音国产一区| 一本久道久久综合婷婷鲸鱼| 91久久黄色| 黄色一区三区|