隨筆 - 147  文章 - 71  trackbacks - 0
          <2009年10月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(1)

          隨筆分類(146)

          隨筆檔案(147)

          文章分類(28)

          文章檔案(28)

          喜歡的Blog

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          Problem A: Easy problem

          對于ans+=a[i]&a[j], 實(shí)際上是加上sum{2^i}(0<=i<k && c[i] == 1)其中c[i] a[i]&a[j]用二進(jìn)制表示時(shí)第i位的值,k代表a[i]&a[j]用二進(jìn)制表示時(shí)共有幾位

          所以,我們可以統(tǒng)計(jì)所有輸入的數(shù),當(dāng)它們用二進(jìn)制表示時(shí),第 i位為1時(shí)的次數(shù),咱們用c[i]表示(注意此c[i]跟上面的c[i]意義不一樣),觀察到, 當(dāng)某位出現(xiàn)的次數(shù)為n時(shí),其加到ans上的次數(shù)應(yīng)為n*n,由些可得

          ans = sum{2^i*c[i]*c[i]}(0<=i<k) k表示這些數(shù)中用二進(jìn)制表示時(shí)的最大位數(shù).

          ????????????????????????????????????

          偶是華麗的分割線嘎

          ????????????????????????????????????

          Problem B: 圓柱堆問題

           

          假設(shè)取1號做受力分析(只考慮上方對其的作用力),那么有

          其實(shí)力l是由3號提供的,r是由2號提供的,其實(shí)lg,rg的夾角均為30度,我們假定一個(gè)柱體,受到斜向左的力為l,斜向下右的力為r,重力為w,a[i][j]代表第i行第j個(gè)圓柱體,那么有

          a[i][j].l = a[i-1][j].l + a[i-1][j].w * sqrt(3) / 3

          a[i][j].r = a[i-1][j-1].r + a[i-1][j-1].w * sqrt(3) / 3

          a[i-1][j].w * sqrt(3) / 3為重力在對應(yīng)的l或者r 方向的分力.

          接下來考慮最后一行的柱體對左擋板的壓力

          對于最后一行的柱體,假設(shè)向左的力是正,向右是負(fù),則其水平方向的合力為F[i]=(a[n][i].l-a[i][i].r)/2

          現(xiàn)在我們從左至右考慮每根圓柱.每個(gè)圓柱產(chǎn)生的水平力非正即負(fù)或零,我們累加這個(gè)合力.假設(shè)存儲(chǔ)為sum= ,其中,當(dāng)1<=i<=k時(shí),F[i]>0,現(xiàn)在考慮第k+1個(gè)圓柱.如果F[k+!]>0,那么顯然,k+!個(gè)圓柱產(chǎn)生的合力也要被左擋板承受,sum+=F[k+!];反之,如果F[k+!]<0,k+1個(gè)圓柱產(chǎn)生的力是向右的,(我有向本題作者要過測試數(shù)據(jù),測試數(shù)據(jù)就認(rèn)為這時(shí)的sum值就是左擋板的壓力),這里,我們再分兩種情況:.當(dāng)k+1<=i<=n時(shí),如果F[i]<0,說明第k個(gè)圓柱后面的產(chǎn)生合力都是向右,那么這個(gè)壓力是由右擋板承受的,左擋板所受的壓力就是sum;,k+1個(gè)圓柱后面的圓柱存在某個(gè)合力仍然向左的圓柱(假設(shè)這個(gè)圓柱是第m個(gè)圓柱).這種情況下,k+1個(gè)圓柱到第m-1個(gè)圓柱產(chǎn)生向右的水平力會(huì)被該圓柱產(chǎn)生向左的水平力抵消一部分,甚至可能超過,這樣兩者產(chǎn)生的合力仍然是向左的,所以左擋板所受的壓力要加上該值.分析到這里,我們不難看出,計(jì)算左擋板壓力的方法: 從左至右,累加各個(gè)圓柱的合力,這個(gè)合力的最大值,就是左擋板所受的力.

          ????????????????????????????????????

          又是華麗的分割線

          ????????????????????????????????????

          Problem C: 液晶切割

          注意到每次可以把一塊矩形液晶水平或者豎直地切成兩塊,一開始沒看到這個(gè),把問題想復(fù)雜了許多,囧~~~~~

          開一個(gè)二維數(shù)組dp[X][Y],dp[i][j]代表長為i寬為j的液晶塊能切割能賣出的最多價(jià)錢,那么由于切割方式是水平或者豎直地切成兩塊,就有轉(zhuǎn)換方程

          dp[i][j] = Max{dp[i][j], dp[i-k][j]+dp[k][j]}(1<=k<=i/2)

          dp[i][j] = Max{dp[i][j], dp[i][j-k]+dp[i][k]}(1<=k<=j/2)

          dp[i][j]的初始值為如果有長度為x,寬為yC價(jià)錢的液晶,那么有dp[x][y] = dp[y][x] = C,因?yàn)閿?shù)據(jù)沒有嚴(yán)格按題目的要求給出(題目是說n種尺寸不一,且長大于寬的液晶),故可能出現(xiàn)如下數(shù)據(jù)

          3 2 100

          2 3 3

          那么很明顯我們的dp[3][2]dp[2][3]必須取100而不是3,即在賦值的時(shí)候要加一個(gè)判斷if(dp[x][y]<C)才進(jìn)行賦值,對于其他情況全部為dp[i][j]=0.

          最終答案為dp[X][Y],X,Y為大液晶塊的長和寬

          ????????????????????????????????????

          粉華麗的分割線

          ????????????????????????????????????

          Problem D: 取款

          很簡單的一道模擬題。

          開辟一個(gè)大小為Ka數(shù)組代表K個(gè)營業(yè)員要工作到的時(shí)間

          每讀到一個(gè)客戶,先把該客戶的到達(dá)時(shí)間轉(zhuǎn)換成秒S,然后找到這K個(gè)營業(yè)員工作的時(shí)間最短的a[i],然后a[i] = (Max(a[i],S) + 該客戶業(yè)務(wù)所要辦理的時(shí)間)

          當(dāng)wzc到達(dá)時(shí),按上面的方法求得a[i]后,判斷a[i] 是否小于17*3600,即是否未到銀行關(guān)閉時(shí)間,如果小于,則將a[i]轉(zhuǎn)換為相應(yīng)的時(shí)秒分格式,否則就輸出Bad Luck!

          由于每次要找到K個(gè)營業(yè)員的最短時(shí)間,可以將這K個(gè)數(shù)構(gòu)造成一個(gè)最小堆,時(shí)時(shí)維護(hù),不過對于此題,K <= 100,沒啥必要-_-…….

          ????????????????????????????????????

          持續(xù)華麗的分割線

          ????????????????????????????????????

          Problem E: 橢圓容器問題

          知識準(zhǔn)備:

          1.    橢圓面積公式:

          S=πab    

          這個(gè)公式要用到橢圓的參數(shù)方程,具體推導(dǎo)過程可以參閱任何一本<<高等數(shù)學(xué)>>或者<<數(shù)學(xué)分析>>中關(guān)于定積分的應(yīng)用,(高等數(shù)學(xué)同濟(jì)大學(xué)第六版上冊276頁例3)
          2.
          橢圓體體積公式:

          V= 4/3πabc=

          這個(gè)微積分公式是本題的關(guān)鍵,見下面的推導(dǎo)吧 .^_^.

             

           

          我們只考慮上半球,假設(shè)有一個(gè)上半橢圓球容器(z>=0),裝有若干水,水面高度為h.對于0<=z<=h,zz+dz將容器切為一個(gè)小片片,當(dāng)dz很小時(shí),小片片的體積v’=S*dz,S是小片片的截面面積,其方程為 ,兩邊除以,:

          其面積

           ,得到體元素為

           z的變化范圍是[0,h],

          posted on 2009-10-05 10:07 飛翔天使 閱讀(259) 評論(0)  編輯  收藏 所屬分類: ACM
          主站蜘蛛池模板: 讷河市| 黄龙县| 辽宁省| 岳阳市| 醴陵市| 繁峙县| 米泉市| 浦城县| 金平| 静安区| 黄石市| 汶川县| 汕尾市| 昔阳县| 睢宁县| 团风县| 夏邑县| 慈溪市| 云和县| 盱眙县| 侯马市| 兴海县| 贵州省| 博爱县| 苏尼特右旗| 阳江市| 常山县| 彩票| 淮阳县| 托克逊县| 饶平县| 黔西| 洛宁县| 汉沽区| 聊城市| 杂多县| 高清| 汪清县| 大足县| 赤壁市| 崇左市|