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

巢穴

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à)子母樹(shù) 

#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>
            国产欧美日韩麻豆91| 国产精品高潮呻吟久久av无限| 一本色道久久综合狠狠躁的推荐| 在线亚洲伦理| 久久久久综合网| 欧美视频在线观看一区| 亚欧成人精品| 另类天堂视频在线观看| 欧美一区二区三区成人| 亚洲综合精品自拍| 午夜欧美大片免费观看| 午夜精品成人在线视频| 亚洲一区在线播放| 欧美亚洲免费| 久久精品首页| 麻豆精品网站| 亚洲国产一区在线观看| 夜夜嗨av一区二区三区| 欧美日韩午夜精品| 欧美国产一区二区| 欧美不卡在线视频| 久久高清免费观看| 久久九九精品99国产精品| 欧美日本精品一区二区三区| 国产一区二区三区黄视频| 一区二区三区**美女毛片| 乱中年女人伦av一区二区| 午夜在线精品偷拍| 国产精品成人v| 亚洲网站视频| 一区二区三区视频观看| 欧美视频官网| 亚洲无线视频| 欧美在线视频一区| 亚洲最新中文字幕| 欧美伊人精品成人久久综合97| 久久精品国产一区二区三区免费看 | 日韩一级黄色片| 一区二区三区四区五区视频| 在线亚洲免费视频| 久久激情五月婷婷| 欧美激情bt| 国产精品女主播| 精品91在线| 亚洲欧美电影院| 久久亚洲精品一区二区| 亚洲人成在线观看网站高清| 亚洲天堂免费在线观看视频| 久久国产精品久久久久久电车| 久久亚洲综合色| 国产精品护士白丝一区av| 国内伊人久久久久久网站视频| 亚洲美女av在线播放| 欧美中文字幕精品| 欧美激情在线观看| 久久国产88| 国产乱人伦精品一区二区| 99精品欧美一区二区三区综合在线 | 亚洲精品男同| 久久精品日韩一区二区三区| 亚洲人成亚洲人成在线观看| 久久婷婷综合激情| 模特精品裸拍一区| 国产日韩欧美视频| 国产女主播一区二区| 午夜精品视频在线| 亚洲欧洲一区二区在线观看| 久久久中精品2020中文| 亚洲欧美综合v| 亚洲国产欧美一区二区三区丁香婷| 亚洲国产99精品国自产| 国产精品国色综合久久| 蜜桃视频一区| 欧美日韩在线播放三区四区| 久久九九国产精品怡红院| 欧美黄色一级视频| 久久久久国产精品一区二区| 欧美国产一区视频在线观看| 欧美一区二区成人6969| 欧美成人久久| 久久久国产亚洲精品| 欧美日本久久| 国产精品亚洲综合| 91久久夜色精品国产网站| 亚洲成色精品| 欧美福利一区二区三区| 亚洲伦伦在线| 99这里只有久久精品视频| 欧美美女操人视频| 一区二区三区免费观看| 99精品国产热久久91蜜凸| 欧美日韩一级片在线观看| 999在线观看精品免费不卡网站| 亚洲国产成人高清精品| 欧美日韩在线播放一区| 亚洲影院免费| 欧美在线视频一区| 亚洲福利精品| 亚洲欧洲综合另类| 欧美日韩不卡一区| 亚洲欧洲99久久| 欧美在线三级| 亚洲日韩欧美视频一区| 99热在这里有精品免费| 国产精品美女在线观看| 久久精品国产2020观看福利| 另类尿喷潮videofree | 久久人人爽人人爽爽久久| 在线精品国产成人综合| 亚洲国产成人久久| 欧美日韩综合另类| 久久精品综合一区| 欧美国产视频一区二区| 欧美中文字幕视频在线观看| 久久视频在线看| 日韩午夜一区| 欧美在线视频在线播放完整版免费观看 | 欧美二区不卡| 欧美成人一品| 欧美视频免费在线观看| 韩国亚洲精品| 久久精品91| 欧美成人自拍| 亚洲日本中文| 欧美日韩一区二区三区免费| 一本色道久久综合亚洲精品婷婷| 亚洲视频在线一区| 欧美成人免费视频| 久久久一本精品99久久精品66| 欧美日韩国产首页| 另类av一区二区| 亚洲国产精品va在线看黑人动漫| 老牛影视一区二区三区| 欧美国产视频在线观看| 亚洲麻豆视频| 国产精品福利在线| 久久国产精品久久国产精品| 久久九九99视频| 久久精品国产第一区二区三区最新章节| 麻豆国产va免费精品高清在线| 亚洲一级影院| 欧美黄污视频| 亚洲黄色天堂| 亚洲成人中文| 久久久蜜桃精品| 久久久国产91| 国产日韩专区| 亚洲欧美精品一区| 亚洲网站在线观看| 欧美日本簧片| 亚洲三级免费电影| 亚洲精品久久久久久久久| 久久在线91| 免费看精品久久片| 亚洲大胆视频| 久久中文字幕导航| 毛片精品免费在线观看| 国产午夜精品美女视频明星a级| 一区二区三区四区在线| 这里只有精品视频在线| 欧美激情在线狂野欧美精品| 亚洲国产精品悠悠久久琪琪| 亚洲精品女av网站| 欧美国产免费| 亚洲精品社区| 亚洲一区美女视频在线观看免费| 欧美日韩免费高清| 亚洲视频第一页| 欧美在线观看一二区| 国产欧美精品日韩精品| 亚洲欧美日韩国产精品| 欧美主播一区二区三区美女 久久精品人 | 国产午夜久久| 久久国产福利| 欧美xxxx在线观看| 亚洲人人精品| 欧美日韩国产在线看| 在线一区二区三区四区五区| 香蕉久久一区二区不卡无毒影院 | 欧美激情精品久久久久久蜜臀| 有码中文亚洲精品| 久久在线播放| 久久理论片午夜琪琪电影网| 国产精品电影网站| 亚洲精品一品区二品区三品区| 夜夜爽av福利精品导航| 欧美日韩麻豆| 久久久久成人精品| 一区二区欧美在线| 欧美电影在线观看| 欧美亚洲视频在线看网址| 亚洲精品视频在线| 国产在线乱码一区二区三区| 欧美激情自拍| 免费看亚洲片| 久久精品国产亚洲精品| 99天天综合性| 亚洲高清一区二| 六十路精品视频| 欧美在线首页|