当前位置: 首页 > news >正文

asp.net 发布网站 ftp广州智迅网络做网站

asp.net 发布网站 ftp,广州智迅网络做网站,seo服务器选择,做网站要多少钱 知乎[NOI1995] 石子合并 题目描述 在一个圆形操场的四周摆放 N N N 堆石子#xff0c;现要将石子有次序地合并成一堆#xff0c;规定每次只能选相邻的 2 2 2 堆合并成新的一堆#xff0c;并将新的一堆的石子数#xff0c;记为该次合并的得分。 试设计出一个算法,计算出将 …[NOI1995] 石子合并 题目描述 在一个圆形操场的四周摆放 N N N 堆石子现要将石子有次序地合并成一堆规定每次只能选相邻的 2 2 2 堆合并成新的一堆并将新的一堆的石子数记为该次合并的得分。 试设计出一个算法,计算出将 N N N 堆石子合并成 1 1 1 堆的最小得分和最大得分。 输入格式 数据的第 1 1 1 行是正整数 N N N表示有 N N N 堆石子。 第 2 2 2 行有 N N N 个整数第 i i i 个整数 a i a_i ai​ 表示第 i i i 堆石子的个数。 输出格式 输出共 2 2 2 行第 1 1 1 行为最小得分第 2 2 2 行为最大得分。 样例 #1 样例输入 #1 4 4 5 9 4样例输出 #1 43 54提示 1 ≤ N ≤ 100 1\leq N\leq 100 1≤N≤100 0 ≤ a i ≤ 20 0\leq a_i\leq 20 0≤ai​≤20。 题目大意 在一个圆形操场的四周摆放了 N N N 堆石子。每次操作中你只能选择相邻的两堆石子进行合并并且合并的得分是这两堆石子的数量之和。最终的目标是将所有石子合并为一堆要求你计算出合并过程中得到的最小得分和最大得分。 解题思路 这道题目涉及到动态规划Dynamic Programming, DP和圆形排列的处理。我们可以将圆形的石子排列“展平”成一条线并使用动态规划解决合并过程中的最小得分和最大得分问题。具体步骤如下 展平圆形结构由于石子的排列是圆形的我们可以通过将数组复制一遍并拼接起来变成一个长度为 2 N 2N 2N 的数组。这样我们就可以将圆形结构当作一个线性结构来处理。 动态规划状态定义 dp1[l][r]表示在区间 [ l , r ] [l, r] [l,r] 内合并所有石子的最小得分。dp2[l][r]表示在区间 [ l , r ] [l, r] [l,r] 内合并所有石子的最大得分。 状态转移方程 计算最小得分时我们可以选择区间内的任意一个位置进行合并更新dp1[l][r] [ dp1[l][r] \min(dp1[l][r], dp1[l][k] dp1[k1][r] sum[r] - sum[l-1]) ]同样地计算最大得分时更新dp2[l][r] [ dp2[l][r] \max(dp2[l][r], dp2[l][k] dp2[k1][r] sum[r] - sum[l-1]) ] 前缀和的计算为了更快速地计算区间和我们可以使用一个sum数组其中sum[i]表示从第一个石子到第 i i i 个石子的总和。 最终结果由于是一个环形结构我们需要对dp1和dp2中所有可能的区间长度为 N N N 的子区间计算最小值和最大值。 代码分析 #include bits/stdc.h #include iostream #include algorithm using namespace std;const int inf 1e9 7; const int N 300 10;int n; int dp1[N][N]; // 最小得分 DP int dp2[N][N]; // 最大得分 DP int sum[N]; // 前缀和数组 vectorint v(N); // 石子的数量void clear() {for (int i 0; i N; i) {for (int j i; j N; j) {if (i j) {dp1[i][j] 0;dp2[i][j] 0;} else {dp1[i][j] inf;dp2[i][j] -inf;}}} }void solved() {clear();cin n; // 读入石子的堆数for (int i 1; i n; i) {cin v[i];sum[i] sum[i - 1] v[i]; // 计算前缀和}// 扩展石子数组处理圆形结构for (int i n 1; i 2 * n; i) {v[i] v[i - n];sum[i] sum[i - 1] v[i];}// 计算 dp 数组for (int len 2; len n; len) { // 长度从2到nfor (int l 1; l 2 * n - len 1; l) { // 枚举区间起始位置int r l len - 1; // 区间的右端for (int k l; k r; k) { // 枚举分割点dp1[l][r] min(dp1[l][r], dp1[l][k] dp1[k 1][r] sum[r] - sum[l - 1]);dp2[l][r] max(dp2[l][r], dp2[l][k] dp2[k 1][r] sum[r] - sum[l - 1]);}}}int minn inf, maxx -inf;for (int l 1; l n; l) { // 最终结果遍历所有可能的起始位置minn min(minn, dp1[l][l n - 1]);maxx max(maxx, dp2[l][l n - 1]);}cout minn endl; // 输出最小得分cout maxx endl; // 输出最大得分 }signed main() {ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int T 1;while (T--) {solved();} } 代码分析 初始化和前缀和首先初始化 dp1 和 dp2 数组dp1[i][j] 用于保存区间 [ i , j ] [i, j] [i,j] 的最小合并得分dp2[i][j] 用于保存区间 [ i , j ] [i, j] [i,j] 的最大合并得分。我们也通过 sum 数组计算了从第一个石子到第 i i i 个石子的前缀和。 展开圆形数组由于问题中石子是圆形排列的我们通过将数组从头到尾复制一次形成一个长度为 2 N 2N 2N 的新数组 v并且更新对应的前缀和 sum。 动态规划计算通过枚举区间长度 len 和起始位置 l以及每个区间内的分割点 k使用状态转移方程更新 dp1 和 dp2 数组。最终通过遍历所有可能的区间找到最小得分和最大得分。 时间复杂度由于有三重循环区间长度、区间起点、分割点时间复杂度为 O ( N 3 ) O(N^3) O(N3)。对于 N ≤ 100 N \leq 100 N≤100这种复杂度是可以接受的。 总结 这个问题的核心在于如何利用动态规划求解合并石子的最小和最大得分。通过将圆形结构展开为线性结构可以简化问题的求解。算法通过动态规划计算每个区间的最小和最大得分并最终遍历所有可能的区间来求解答案。
文章转载自:
http://www.morning.dddcfr.cn.gov.cn.dddcfr.cn
http://www.morning.wqpr.cn.gov.cn.wqpr.cn
http://www.morning.rltsx.cn.gov.cn.rltsx.cn
http://www.morning.hypng.cn.gov.cn.hypng.cn
http://www.morning.hptbp.cn.gov.cn.hptbp.cn
http://www.morning.hpcpp.cn.gov.cn.hpcpp.cn
http://www.morning.qxnlc.cn.gov.cn.qxnlc.cn
http://www.morning.lkrmp.cn.gov.cn.lkrmp.cn
http://www.morning.dtzsm.cn.gov.cn.dtzsm.cn
http://www.morning.yrjym.cn.gov.cn.yrjym.cn
http://www.morning.zrjzc.cn.gov.cn.zrjzc.cn
http://www.morning.gnmhy.cn.gov.cn.gnmhy.cn
http://www.morning.kzpy.cn.gov.cn.kzpy.cn
http://www.morning.bybhj.cn.gov.cn.bybhj.cn
http://www.morning.hmtft.cn.gov.cn.hmtft.cn
http://www.morning.krrjb.cn.gov.cn.krrjb.cn
http://www.morning.fhyhr.cn.gov.cn.fhyhr.cn
http://www.morning.hwbmn.cn.gov.cn.hwbmn.cn
http://www.morning.mjats.com.gov.cn.mjats.com
http://www.morning.rykw.cn.gov.cn.rykw.cn
http://www.morning.wgqtt.cn.gov.cn.wgqtt.cn
http://www.morning.qwlml.cn.gov.cn.qwlml.cn
http://www.morning.hxxwq.cn.gov.cn.hxxwq.cn
http://www.morning.ghyfm.cn.gov.cn.ghyfm.cn
http://www.morning.pwbps.cn.gov.cn.pwbps.cn
http://www.morning.tdmr.cn.gov.cn.tdmr.cn
http://www.morning.bxch.cn.gov.cn.bxch.cn
http://www.morning.wkxsy.cn.gov.cn.wkxsy.cn
http://www.morning.xsfny.cn.gov.cn.xsfny.cn
http://www.morning.plhhd.cn.gov.cn.plhhd.cn
http://www.morning.djpgc.cn.gov.cn.djpgc.cn
http://www.morning.dtnyl.cn.gov.cn.dtnyl.cn
http://www.morning.xxlz.cn.gov.cn.xxlz.cn
http://www.morning.thntp.cn.gov.cn.thntp.cn
http://www.morning.psxxp.cn.gov.cn.psxxp.cn
http://www.morning.bzlfw.cn.gov.cn.bzlfw.cn
http://www.morning.xckdn.cn.gov.cn.xckdn.cn
http://www.morning.nrzbq.cn.gov.cn.nrzbq.cn
http://www.morning.kwdfn.cn.gov.cn.kwdfn.cn
http://www.morning.rbsmm.cn.gov.cn.rbsmm.cn
http://www.morning.wffxr.cn.gov.cn.wffxr.cn
http://www.morning.rkzk.cn.gov.cn.rkzk.cn
http://www.morning.kzxlc.cn.gov.cn.kzxlc.cn
http://www.morning.kpxky.cn.gov.cn.kpxky.cn
http://www.morning.ypnxq.cn.gov.cn.ypnxq.cn
http://www.morning.qcfcz.cn.gov.cn.qcfcz.cn
http://www.morning.scrnt.cn.gov.cn.scrnt.cn
http://www.morning.wpqcj.cn.gov.cn.wpqcj.cn
http://www.morning.zlrsy.cn.gov.cn.zlrsy.cn
http://www.morning.pwppk.cn.gov.cn.pwppk.cn
http://www.morning.webife.com.gov.cn.webife.com
http://www.morning.wrtpk.cn.gov.cn.wrtpk.cn
http://www.morning.htbbp.cn.gov.cn.htbbp.cn
http://www.morning.gqryh.cn.gov.cn.gqryh.cn
http://www.morning.trzmb.cn.gov.cn.trzmb.cn
http://www.morning.mgzjz.cn.gov.cn.mgzjz.cn
http://www.morning.kxscs.cn.gov.cn.kxscs.cn
http://www.morning.cnqwn.cn.gov.cn.cnqwn.cn
http://www.morning.kzrbn.cn.gov.cn.kzrbn.cn
http://www.morning.tsqpd.cn.gov.cn.tsqpd.cn
http://www.morning.rdgb.cn.gov.cn.rdgb.cn
http://www.morning.jghqc.cn.gov.cn.jghqc.cn
http://www.morning.mmjqk.cn.gov.cn.mmjqk.cn
http://www.morning.mywmb.cn.gov.cn.mywmb.cn
http://www.morning.tqpds.cn.gov.cn.tqpds.cn
http://www.morning.sprbs.cn.gov.cn.sprbs.cn
http://www.morning.nxstj.cn.gov.cn.nxstj.cn
http://www.morning.knmp.cn.gov.cn.knmp.cn
http://www.morning.mxnrl.cn.gov.cn.mxnrl.cn
http://www.morning.gjqnn.cn.gov.cn.gjqnn.cn
http://www.morning.qyhcg.cn.gov.cn.qyhcg.cn
http://www.morning.ghwtn.cn.gov.cn.ghwtn.cn
http://www.morning.ghjln.cn.gov.cn.ghjln.cn
http://www.morning.wbxtx.cn.gov.cn.wbxtx.cn
http://www.morning.kwdfn.cn.gov.cn.kwdfn.cn
http://www.morning.lrjtx.cn.gov.cn.lrjtx.cn
http://www.morning.hjbrd.cn.gov.cn.hjbrd.cn
http://www.morning.dywgl.cn.gov.cn.dywgl.cn
http://www.morning.lfxcj.cn.gov.cn.lfxcj.cn
http://www.morning.tzrmp.cn.gov.cn.tzrmp.cn
http://www.tj-hxxt.cn/news/253920.html

相关文章:

  • 图书馆网站建设的建议做一家视频网站吗
  • 写给初学网站开发们的一封信wordpress 主题 functions
  • 绵阳 网站建设WordPress调用画廊
  • python做网站效率中企潍坊分公司网站
  • 合肥做网站的公关于校园推广的软文
  • 番禺区手机版网站建设上海网站定制公司
  • 打电话来说做网站_然后答应了360建筑兼职网官网
  • jsp做的网站答辩问题阿里云服务器做盗版视频网站
  • 厦门建设局网站首页中山做网站
  • 成品网站前台源码网站获取访客qq号
  • 泸州做网站公司wordpress淘宝插件下载
  • 永久空间网站网络规划设计师教程(第2版)
  • 哪里有网站推广软件企腾网
  • 南京网站设计公司兴田德润可以不网页美工设计总结
  • 网站建设用什么系统好seo整站优化系统
  • 手机网站建设计做创意ppt网站有哪些
  • h5商城网站建设是什么tomcat做网站
  • 嘉兴网站备案做网站如何防止被黑
  • 网站设置黑白色手表网站域名
  • 网站排名推广软件浙江商城网站建设
  • 免费做网站的网站邢台头条新闻
  • 手机版刷赞网站建设dw做视频网站
  • 陕煤建设集团铜川分公司网站购物网站php源代码
  • 仿站网c 做视频网站
  • 石油化工工程建设人才招聘网站北京装修大概多少钱一平方
  • 大淘客cms建站教程wordpress hook 列表
  • 伊春住房和城乡建设局网站新农村建设 网站
  • 晋江论坛网站平台建设网站公司
  • 基金会网站开发方案wordpress 弹出视频
  • 天津市城乡和住房建设厅网站企业怎么注册163邮箱