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

巢穴

about:blank

7月30日 練習(xí)

題解
題目名稱    二進(jìn)制除法          奇怪的函數(shù)      最小函數(shù)值          矩陣乘法
源文件名稱  binary.(pas/c/cpp)  xx.(pas/c/cpp)  minval.(pas/c/cpp)  matrix.(pas/c/cpp)
輸入文件名  binary.in           xx.in           minval.in           matrix.in
輸出文件名  binary.out          xx.out          minval.out          matrix.out
時(shí)間限制    1秒                 1秒             1秒                 1秒
內(nèi)存限制    32M                 32M             32M                 32M
測(cè)試點(diǎn)      10個(gè)                10個(gè)            10個(gè)                10個(gè)
分值        100分               100分           100分               100分


Problem 1 : binary
二進(jìn)制除法

問(wèn)題描述
    二進(jìn)制數(shù)n mod m的結(jié)果是多少?

輸入數(shù)據(jù)
    第一行輸入一個(gè)二進(jìn)制數(shù)n。
    第二行輸入一個(gè)二進(jìn)制數(shù)m。

輸出數(shù)據(jù)
    輸出n mod m的結(jié)果。

輸入樣例
1010101010
111000

輸出樣例
1010

時(shí)間限制
    各測(cè)試點(diǎn)1秒

內(nèi)存限制
    你的程序?qū)⒈环峙?2MB的運(yùn)行空間

數(shù)據(jù)規(guī)模
    n的長(zhǎng)度(二進(jìn)制數(shù)的位數(shù))<=200 000;
    m的長(zhǎng)度(二進(jìn)制數(shù)的位數(shù))<=20。

題解:  進(jìn)制轉(zhuǎn)換,當(dāng)然,直接用二進(jìn)制去做也是可以的

#include <iostream>
#include 
<fstream>
#include 
<string>
#include 
<math.h>
using namespace std;

ifstream fin(
"binary.in");
ofstream fout(
"binary.out");

string str1;
string str2;
int len1,len2;
int num1,num2;
long StrToInt(string str)
{
    
     
long reNum=0;
     
int len=str.length();
     
int p=0;
     
for (int i=len-1;i>=0;i--)
     
{
         
int u=(int)pow(2,p);p++;
         
switch(str[i])
         
{
          
case '1':reNum+=u;break;
          
default:break;
         }

     }

     
return reNum;
}

string IntToStr(int value)
{
       
string str="";
       
while (value!=0)
       
{
             
int x=value%2;
             
if (x==0) str='0'+str; else str='1'+str;
             value
=value/2;
       }

       
return str;
}

void readp()
{
     fin
>>str1;
     fin
>>str2;
     num2
=StrToInt(str2);
}

void solve()
{
     
string str="";
     
for (int i=0;i<str1.length();i++)
     
{
         str
+=str1[i];
         num1
=StrToInt(str);
         
if (num1>=num2)
         
{
          
int x=num1-num2;
          str
=IntToStr(x);
         }

     }

     fout
<<str<<endl;
}

int main()
{
    readp();
    solve();
    
return 0;
}

 Problem 2 : xx
奇怪的函數(shù)

問(wèn)題描述
    使得x^x達(dá)到或超過(guò)n位數(shù)字的最小正整數(shù)x是多少?

輸入數(shù)據(jù)
    輸入一個(gè)正整數(shù)n。

輸出數(shù)據(jù)
    輸出使得x^x達(dá)到n位數(shù)字的最小正整數(shù)x。

輸入樣例
11

輸出樣例
10

時(shí)間限制
    各測(cè)試點(diǎn)1秒

內(nèi)存限制
    你的程序?qū)⒈环峙?2MB的運(yùn)行空間

數(shù)據(jù)規(guī)模
    n<=2 000 000 000

題解:  關(guān)鍵是trunc((x*log10(x)/log10(10)+1))這個(gè)公式.可以直接求出x^x的位數(shù).然后二分..糾結(jié)的是我二分竟然寫錯(cuò)了2次..

#include <iostream>
#include 
<fstream>
#include 
<string>
#include 
<math.h>
using namespace std;

ifstream fin(
"xx.in");
ofstream fout(
"xx.out");

const long maxn=250000000;
long n;

void readp()
{
     fin
>>n;
     
}

long digit(long x)
{
     
if (x==0return 0;
     
return trunc((x*log10(x)/log10(10)+1));
}

void solve()
{
 
     
long left=0;
     
long right=maxn;
     
long mid=0;
     
while (true)
     
{
      mid
=(right+left)/2;
      
if (digit(mid-1)>=n) right=mid-1
      
else
      
if (digit(mid)<n) left=mid+1;
      
else
      
break;
     }

    
     fout
<<mid<<endl;
     
}

int main()
{
    readp();
    solve();
    
return 0;
}

 
Problem 3 : minval
最小函數(shù)值

問(wèn)題描述
    有n個(gè)函數(shù),分別為F1,F2,...,Fn。定義Fi(x)=Ai*x^2+Bi*x+Ci(x∈N*)。給定這些Ai、Bi和Ci,請(qǐng)求出所有函數(shù)的所有函數(shù)值中最小的m個(gè)(如有重復(fù)的要輸出多個(gè))。

輸入數(shù)據(jù)
    第一行輸入兩個(gè)正整數(shù)n和m。
    以下n行每行三個(gè)正整數(shù),其中第i行的三個(gè)數(shù)分別位Ai、Bi和Ci。輸入數(shù)據(jù)保證Ai<=10,Bi<=100,Ci<=10 000。

輸出數(shù)據(jù)
    輸出將這n個(gè)函數(shù)所有可以生成的函數(shù)值排序后的前m個(gè)元素。
    這m個(gè)數(shù)應(yīng)該輸出到一行,用空格隔開(kāi)。

樣例輸入
3 10
4 5 3
3 4 5
1 7 1

樣例輸出
9 12 12 19 25 29 31 44 45 54

時(shí)間限制
    各測(cè)試點(diǎn)1秒

內(nèi)存限制
    你的程序?qū)⒈环峙?2MB的運(yùn)行空間

數(shù)據(jù)規(guī)模
    n,m<=10 000

題解: 用小頭堆來(lái)維護(hù)這些函數(shù)的值..每次取出最小的保存.然后對(duì)其更新..O(m log n)

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

ifstream fin(
"minval.in");
ofstream fout(
"minval.out");

const int MAXNM=10001;
int n,m;
int a[MAXNM],b[MAXNM],c[MAXNM];
int fcNum[MAXNM],fcId[MAXNM],fcT[MAXNM];
int answer[MAXNM];
int len=0;
void swap(int &x,int &y)
{
     
int temp;
     temp
=x;x=y;y=temp;
}



void insert(int num,int id,int t)
{
     len
++;
     fcNum[len]
=num;
     fcId[len]
=id;
     fcT[len]
=t;
       
int x=len;
       
while (x>1)
       
{
             
if (fcNum[x]<fcNum[x/2])
             
{
                                      
                swap(fcNum[x],fcNum[x
/2]);
                swap(fcId[x],fcId[x
/2]);
                swap(fcT[x],fcT[x
/2]);
                x
=x/2;
             }

             
else
                
break;
       }

}

void update()
{
     
int id=fcId[1];
     fcT[
1]++;
     fcNum[
1]=a[id]*fcT[1]*fcT[1]+b[id]*fcT[1]+c[id];
     
     
int x=1;
     
while (x*2<=n)
     
{
           
int left=x*2,right=x*2+1,u;
           
if (right>n) u=left;
           
else
           
{
               
if (fcNum[left]<=fcNum[right]) u=left;
               
else
               
{
                   u
=right;
               }

           }

           
if (fcNum[x]>fcNum[u])
           
{
              swap(fcNum[u],fcNum[x]);
              swap(fcId[u],fcId[x]);
              swap(fcT[u],fcT[x]);
              x
=u;
           }

           
else
               
break;
     }

}

void readp()
{
     
     fin
>>n>>m;
     
for (int i=1;i<=n;i++)
     
{
         fin
>>a[i]>>b[i]>>c[i];
         
int num,id,t;
         num
=a[i]+b[i]+c[i];
         id
=i;
         t
=1;
         insert(num,id,t);
     }

}

void solve()
{
     
for (int i=1;i<=m;i++)
     
{
         answer[i]
=fcNum[1];
         
         update();
     }

}

void writep()
{
     
for (int i=1;i<=m;i++)
     
{
         
if (i==m) {fout<<answer[i];continue;}
         fout
<<answer[i]<<" ";
     }

}

int main()
{
    readp();
    solve();
    writep();
    
return 0;
}



Problem 4 : matrix
矩陣乘法

問(wèn)題描述
    一個(gè)A x B的矩陣乘以一個(gè)B x C的矩陣將得到一個(gè)A x C的矩陣,時(shí)間復(fù)雜度為A x B x C。矩陣乘法滿足結(jié)合律(但不滿足交換律)。順序給出n個(gè)矩陣的大小,請(qǐng)問(wèn)計(jì)算出它們的乘積的最少需要花費(fèi)多少時(shí)間。

輸入數(shù)據(jù)
    第一行輸入一個(gè)正整數(shù)n,表示有n個(gè)矩陣。
    接下來(lái)m行每行兩個(gè)正整數(shù)Xi,Yi,其中第i行的兩個(gè)數(shù)表示第i個(gè)矩陣的規(guī)模為Xi x Yi。所有的Xi、Yi<=100。輸入數(shù)據(jù)保證這些矩陣可以相乘。

輸出數(shù)據(jù)
    輸出最少需要花費(fèi)的時(shí)間。

樣例輸入
3
10 100
100 5
5 50

樣例輸出
7500

樣例說(shuō)明
    順序計(jì)算總耗時(shí)7500;先算后兩個(gè)總耗時(shí)75000。

時(shí)間限制
    各測(cè)試點(diǎn)1秒

內(nèi)存限制
    你的程序?qū)⒈环峙?2MB的運(yùn)行空間

數(shù)據(jù)范圍
    n<=100。

題解:  動(dòng)態(tài)規(guī)劃,最小代價(jià)子母樹 

#include <iostream>
#include 
<fstream>

using namespace std;

ifstream fin(
"matrix.in");
ofstream fout(
"matrix.out");

const int MAXN=101;
int n;


int le[MAXN],ri[MAXN];
int dpl[MAXN][MAXN],dpr[MAXN][MAXN],dp[MAXN][MAXN];
void readp()
{
     fin
>>n;
     
for (int i=1;i<=n;i++)
       fin
>>le[i]>>ri[i];
}



void solve()
{
     
for (int j=1;j<=n;j++)
     
{
         
for (int i=1;i<=n;i++)
         
{         
            
if (j==1{dpl[i][i]=le[i];dpr[i][i]=ri[i];dp[i][i]=0;continue;}
            
int k=i+j-1;
            
if (k>n) continue;
            
int min=10000000;
            
for (int l=i;l<k;l++)
            
{
                
int u=dpl[i][l]*dpr[i][l]*dpr[l+1][k]+dp[i][l]+dp[l+1][k];
                
if (min>u)
                
{
                   dpl[i][k]
=dpl[i][l];
                   dpr[i][k]
=dpr[l+1][k];
                   min
=u;
                   dp[i][k]
=u;
                }

                
            }

         
                   
                 
         }

     }

     fout
<<dp[1][n]<<endl;
}

int main()
{
    readp();
    solve();
    
return 0;
}

 

posted on 2009-07-31 12:46 Vincent 閱讀(1047) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 數(shù)據(jù)結(jié)構(gòu)與算法


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲欧美国产另类| 欧美自拍偷拍| 欧美在线播放高清精品| 亚洲国产精品久久久久秋霞影院| 尤妮丝一区二区裸体视频| 久久久天天操| 欧美精品免费在线| 欧美一级专区免费大片| 国产亚洲精久久久久久| 国产偷国产偷精品高清尤物| 久久久久一区二区| 99精品视频免费全部在线| 亚洲欧美日本伦理| 一区二区三区波多野结衣在线观看| 欧美一区二区播放| 99国产精品久久久| 久久久精品tv| 欧美一级二区| 欧美日韩国产成人在线91| 久久综合中文字幕| 国产精品久久网| 欧美高清成人| 国内揄拍国内精品久久| 亚洲天堂av在线免费观看| 亚洲人成网站777色婷婷| 欧美怡红院视频| 亚洲综合视频一区| 日韩午夜三级在线| 另类国产ts人妖高潮视频| 亚洲精品国产精品乱码不99| 欧美韩日亚洲| 亚洲欧美一区二区原创| 亚洲欧洲一区二区天堂久久| 亚洲一区二区免费看| 亚洲激情成人网| 国外成人在线视频| 亚洲尤物视频网| 久久在线免费观看视频| 欧美在线精品免播放器视频| 欧美日韩亚洲一区三区| 欧美国产日韩xxxxx| 欧美成人免费观看| 一区二区三区成人| 国产自产2019最新不卡| 国产日韩欧美91| 欧美日韩日本视频| 欧美va天堂va视频va在线| 久久精品一本| 欧美一区二区三区视频免费| 亚洲已满18点击进入久久| 亚洲福利视频在线| 久久在线播放| 国产精品qvod| 欧美精品导航| 六月天综合网| 亚欧美中日韩视频| 亚洲欧美日韩中文播放| 亚洲字幕一区二区| 国产精品裸体一区二区三区| 欧美精品在线视频| 欧美四级伦理在线| 亚洲一区二区在线| 久久精品亚洲热| 性色av一区二区三区红粉影视| 欧美日韩在线播放三区| 一本色道久久综合亚洲精品小说| 中文亚洲欧美| 国产精品少妇自拍| 久久国产精品亚洲va麻豆| 久久蜜桃香蕉精品一区二区三区| 欧美激情在线| 欧美大秀在线观看| 一区二区三区你懂的| 在线视频中文亚洲| 一区二区三区 在线观看视| 午夜天堂精品久久久久| 久久久精品tv| 国产精品国产| 在线视频一区二区| 亚洲视频第一页| 制服诱惑一区二区| 欧美日韩综合视频网址| 亚洲欧美视频在线观看视频| 久久久久成人精品| 亚洲精品美女免费| 国产精品视频免费| 久久视频在线免费观看| 亚洲美女福利视频网站| 欧美中在线观看| 亚洲人精品午夜| 国产精品久久久一本精品| 美女国产一区| 亚洲综合国产精品| 欧美激情bt| 香蕉成人伊视频在线观看| 亚洲国产精品一区在线观看不卡 | 国产亚洲精品bt天堂精选| 久热精品视频在线观看一区| 99精品国产福利在线观看免费| 狠狠色丁香婷婷综合影院| 久久精品人人爽| 欧美在线视频一区| 欧美视频中文在线看| 亚洲人成网在线播放| 欧美激情第二页| 在线综合亚洲欧美在线视频| 欧美成人精品h版在线观看| 欧美在线日韩| 伊人精品在线| 久久久久国内| 99视频在线观看一区三区| 久久久久久999| 99re6这里只有精品视频在线观看| 国产欧美在线观看| 欧美日韩一区二区三区免费看| 久久久久国产成人精品亚洲午夜| 在线亚洲欧美视频| 亚洲激情视频网| 欧美好吊妞视频| 久久手机免费观看| 精品成人一区二区| 欧美激情一区二区三区四区| 国产综合视频在线观看| 久久精品30| 美女图片一区二区| 先锋影音网一区二区| 久久久久久久999精品视频| 亚洲精品一区二区三| 亚洲欧美国产日韩天堂区| 在线观看视频一区二区| 亚洲欧洲一区二区天堂久久| 国产日韩在线看片| 99精品国产99久久久久久福利| 国产日韩欧美一区二区三区在线观看 | 欧美色视频在线| 久久久久一区二区三区| 亚洲性视频网站| 在线欧美三区| 久久精品国产一区二区三| 销魂美女一区二区三区视频在线| 亚洲一区二区免费在线| 在线亚洲精品| 亚洲无玛一区| 亚洲一区欧美| 亚洲欧美日韩精品综合在线观看| 亚洲一区三区在线观看| 亚洲欧美国产毛片在线| 欧美在线播放一区| 欧美激情免费在线| 国产一区二区三区黄视频| 亚洲美女少妇无套啪啪呻吟| 狠狠狠色丁香婷婷综合久久五月| 午夜国产精品视频免费体验区| 久久久久久久91| 久久天天躁狠狠躁夜夜爽蜜月| 欧美日韩综合一区| 日韩视频一区二区| 久久精品视频在线看| 久久人人97超碰国产公开结果| 日韩一级在线| 欧美日韩亚洲高清一区二区| 欧美日韩情趣电影| 国产美女精品视频| 精品99一区二区三区| 亚洲人成毛片在线播放| 亚洲欧美电影在线观看| 久久亚洲一区二区| 亚洲三级免费电影| 在线视频你懂得一区| 久久激情综合网| 欧美理论电影在线播放| 国产乱码精品一区二区三区忘忧草| 激情小说亚洲一区| 宅男精品导航| 美女精品视频一区| 亚洲一二三四区| 麻豆av一区二区三区| 国产精品va在线| 韩国成人精品a∨在线观看| 日韩亚洲欧美一区| 久久国产一二区| 亚洲精品日韩综合观看成人91 | 韩国av一区二区三区在线观看| 久久久久久夜精品精品免费| 亚洲人体1000| 欧美国产一区二区在线观看 | 香蕉久久a毛片| 国产视频观看一区| 欧美成人一区二区三区| 欧美一级视频精品观看| 99精品欧美一区二区三区综合在线 | 亚洲欧洲一区二区天堂久久| 一区二区三区日韩精品| 久久精品国产99精品国产亚洲性色 | 欧美日韩在线免费观看| 亚洲综合色自拍一区| 99riav1国产精品视频| 91久久精品www人人做人人爽| 久久久噜噜噜久久久| 欧美一区二区三区精品 |