日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

信息学奥赛一本通(1197:山区建小学)

發布時間:2025/3/17 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 信息学奥赛一本通(1197:山区建小学) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1197:山區建小學


時間限制: 1000 ms ??? ??? 內存限制: 65536 KB
提交數: 3900 ??? 通過數: 2713

【題目描述】

? ? ? ? 政府在某山區修建了一條道路,恰好穿越總共m個村莊的每個村莊一次,沒有回路或交叉,任意兩個村莊只能通過這條路來往。已知任意兩個相鄰的村莊之間的距離為di(為正整數),其中,0<i<m。為了提高山區的文化素質,政府又決定從m個村中選擇n個村建小學(設0<n≤m<500)。請根據給定的m、n以及所有相鄰村莊的距離,選擇在哪些村莊建小學,才使得所有村到最近小學的距離總和最小,計算最小值。

【輸入】

第1行為m和n,其間用空格間隔

第2行為m?1個整數,依次表示從一端到另一端的相鄰村莊的距離,整數之間以空格間隔。

例如:

10 3 2 4 6 5 2 4 3 1 3

表示在10個村莊建3所學校。第1個村莊與第2個村莊距離為2,第2個村莊與第3個村莊距離為4,第3個村莊與第4個村莊距離為6,...,第9個村莊到第10個村莊的距離為3。

【輸出】

各村莊到最近學校的距離之和的最小值。

【輸入樣例】

10 2 3 1 3 1 1 1 1 1 3

【輸出樣例】

18

【分析】

? ? ? ? 這道題是區間DP,放置到遞推算法中有些牽強,詳細分析可以參見:

https://www.cnblogs.com/TFLS-gzr/p/10809257.html。

? ? ? ? 確定子問題:問題是m個村莊中選n個建小學,那么我們可以考慮在前m個村莊中選n-1個的情況,可以考慮在前m個村莊中選n-2個的情況,也可以考慮在前m-1個村莊中選n-1個的情況,……這些都是原問題的子問題。

  設計狀態:按照剛才所劃分的子問題,我們可以自然的想到狀態是什么,定義數組f[ i ][ j ]為當在前 i 個村莊中建立 j 個小學的最小路程和,那么原問題(在m個村莊中選n個建小學)的答案就是f[ m ][ n ],這樣問題就涉及好了。

階段:村莊編號 m

狀態:小學編號 n

決策:建?在哪建?

策略:最小路徑和

目標:f[m][n]

  狀態轉移方程:首先假裝我們已經算出了每兩個村莊之間建立一個小學的最短距離和,并把這些數據存在數組c[ i ][ j ],那么我們就知道了村莊 i 到村莊 j 這個區間內建一個小學的最短距離和,先不要考慮我們是怎么算出來的;

邊界:f[i][1]=c[1][i],前 i 個村莊中建一個小學時,都等于1到第 i 個村莊只建一個學校的最短距離和。

【參考代碼】

#include <stdio.h> #include <math.h> #define N 1010 int a[N][N]; //村莊i到村莊j間的最短距離 int c[N][N]; //村莊i到村莊j這個區間內建一個小學的最短距離和 int f[N][N]; //前i個村莊中建立j個小學的最小路程和 int min(int x,int y) {return x < y ? x : y; } int main() {int m,n,i,j,k,mid;scanf("%d%d",&m,&n);for(i=1;i<m;i++)scanf("%d",&a[i][i+1]);for(i=1;i<=m;i++)for(j=i+1;j<=m;j++)a[i][j]=a[j][i]=a[i][j-1]+a[j-1][j];for(i=1;i<=m;i++)for(j=i+1;j<=m;j++){mid=(i+j)/2;for(k=i;k<=j;k++)c[i][j]+=a[k][mid];}for(i=1;i<=m;i++)f[i][1]=c[1][i];for(i=1;i<=m;i++)for(j=2;j<=n;j++){f[i][j]=999999;for(k=j-1;k<=i;k++){f[i][j]=min(f[i][j],f[k][j-1]+c[k+1][i]);}}printf("%d\n",f[m][n]);return 0; }

http://ybt.ssoier.cn:8088/problem_show.php?pid=1197

?

總結

以上是生活随笔為你收集整理的信息学奥赛一本通(1197:山区建小学)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人福利视频导航 | aaa黄色大片 | 狠狠鲁影院 | 国产av电影一区 | 亚洲av永久中文无码精品综合 | 涩涩涩999| xx性欧美肥妇精品久久久久久 | 91视频毛片| 日韩在线观看 | ts人妖另类精品视频系列 | 善良的老师伦理bd中字 | 久久福利影院 | 国产高潮在线观看 | 热99精品| 性少妇xxxxx 亚洲一卡二卡在线观看 | 国产精品久久久久无码av色戒 | 日韩免费电影一区 | 亚洲免费福利 | 毛片毛片毛片毛片 | 欧美激情一区二区三区p站 欧美mv日韩mv国产网站app | 欧美色图30p | 精品国产无码在线 | 国产一区精品在线 | 精品久久久无码中文字幕 | 亚洲美女屁股眼交3 | 60分钟 | 亚洲无吗视频 | xxxxav| 国产日本一区二区三区 | 自拍偷拍精品视频 | 亚洲激情视频在线播放 | 亚洲色婷婷久久精品av蜜桃 | 在线成人日韩 | 国产高清无密码一区二区三区 | 成人夜晚看av | 亚洲久操 | 国产无套精品一区二区三区 | 久久久久久久久久久久电影 | 91视频亚洲 | 毛片毛片女人毛片毛片 | 亚洲精品国产精品国 | 爽爽影院免费观看 | 夜夜爽影院 | 亚洲玖玖爱 | 伊人福利在线 | 成人www.| 免费在线观看的av | 日本少妇高潮抽搐 | 国产午夜电影在线观看 | 日韩欧美在线视频免费观看 | 色偷偷一区二区三区 | 嫩草视频入口 | 床戏高潮做进去大尺度视频 | 国产69久久精品成人看 | 欧美怡春院 | 欧洲美女与动交ccoo | av网站免费观看 | 妹子色综合 | 久久福利社 | jizz成熟丰满日本少妇 | 先锋影音一区二区三区 | 久热国产视频 | 久久免费在线观看视频 | 特级少妇 | 与子敌伦刺激对白播放的优点 | 插插网站| 巨乳中文字幕 | 日本草逼视频 | 欧美在线二区 | 不卡中文字幕 | 大桥未久中文字幕 | 四虎一区二区 | 又黄又爽又色的视频 | 伊人网伊人影院 | 国产极品福利 | 色综合视频在线观看 | 在线免费播放 | 国产伦精品一区二区三区免费 | 91成人免费在线观看视频 | 午夜精品久久久久久久99热浪潮 | 色综合中文 | 波多野结衣1区2区3区 | 99色图 | 色骚网| 亚洲成a人无码 | 午夜亚洲国产 | 在线观看的av | 在线观看国产网站 | 手机成人av | a级片在线观看视频 | 91精品人妻一区二区三区蜜桃2 | 色爽爽爽爽爽爽爽爽 | 国产成人精品视频 | 毛片毛片毛片毛片毛片 | av在线播放观看 | 奶罩不戴乳罩邻居hd播放 | 黄色永久视频 | www一区二区三区 | 少妇免费看 |