日韩性视频-久久久蜜桃-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:山区建小学)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 成人欧美一区二区三区在线观看 | 日韩在线观看av | 97免费观看视频 | 国产一级免费在线观看 | 雪白的扔子视频大全在线观看 | 亚洲av成人无码久久精品老人 | 精品免费视频 | 大学生一级一片全黄 | 久久综合免费 | 五月婷婷天堂 | 色欧洲| 蜜臀av性久久久久av蜜臀妖精 | 麻豆激情视频 | 强伦人妻一区二区三区 | 国产精品一区二区三区在线看 | 欧美日韩三区 | 黄色性情网站 | 夜夜操导航 | 天堂网2020 | 外国黄色网址 | 日韩中文字幕一区二区 | 色综合天 | 黄频在线 | 日韩爆操 | 国产精品精东影业 | 日韩av资源在线观看 | 久久成人国产精品入口 | 日日干影院 | 国产精品调教 | 国产福利资源 | 国产主播av在线 | 亚洲欧美影院 | av影视在线观看 | 成人福利视频在线 | www.爱操| 东京久久| 欧美大片视频在线观看 | 国产激情一区二区三区四区 | 熟女av一区二区三区 | 日本午夜在线视频 | 免费看的黄色网 | av短片| 啪啪一区二区 | 免费无码毛片一区二三区 | 永久免费成人代码 | 99嫩草| 另类亚洲激情 | 成人你懂的 | 人人爱人人射 | 丰满人妻一区二区三区免费视频棣 | 男人天堂a| 欧美色一区二区三区在线观看 | 国产人妻人伦精品1国产丝袜 | 在线观看视频毛片 | 日韩av在线免费播放 | 欧美日本免费 | 九九免费 | 一女三黑人理论片在线 | 精品久久久久久亚洲精品 | 丝袜视频一区 | 最近的中文字幕在线看视频 | 成全世界免费高清观看 | 麻豆传媒在线视频 | 成人在线三级 | 99免费在线视频 | 91麻豆精品视频 | 国产中文网 | 亚洲乱码在线 | 老王66福利网 | a v免费视频 | 日本黄色大片视频 | 一区二区三区四区日韩 | 97视频播放 | 亚洲综合av一区 | 成人午夜淫片100集 伊人久久国产 | 91免费小视频 | 久热一区 | 久久永久视频 | 日韩九九九 | 美女扒开尿口来摸 | 亚洲网视频 | 亚洲AV成人无码久久精品同性 | 日本www在线播放 | 亚洲 欧美 中文字幕 | 夜夜嗨av一区二区三区 | 天天碰视频 | 天天射日日 | 在线一区二区三区视频 | 欧美亚洲国产日韩 | аⅴ资源新版在线天堂 | 丁香花免费高清完整在线播放 | 国产啊v在线 | 日本熟女一区二区 | 少妇久久久 | 男生操女生动漫 | 少妇被中出 | 日日操日日操 | 日韩亚洲欧美精品 | 国产强被迫伦姧在线观看无码 |