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

建筑公司网站源码 开源 免费手机版html编辑软件

建筑公司网站源码 开源 免费,手机版html编辑软件,中国知名企业排行榜,连云港建设局网站矩阵链相乘{\color{Cyan} 矩阵链相乘 }矩阵链相乘 Description Input n表示矩阵的个数(100) n1个数,表示矩阵(100) Output 最小的乘法次数 Sample Input 5 5 10 4 6 10 2 Sample Output 348 题目大意#xff1a; 有n个矩阵#xff0c;输入n1个数#x…矩阵链相乘{\color{Cyan} 矩阵链相乘 }矩阵链相乘 Description Input n表示矩阵的个数(100) n1个数,表示矩阵(100) Output 最小的乘法次数 Sample Input 5 5 10 4 6 10 2 Sample Output 348 题目大意 有n个矩阵输入n1个数第i个矩阵的行列分别为第i和第i1个数将他们合并在一起合并的时间为前面的矩阵的行×前面的矩阵的列/后面的矩阵的行×后面的矩阵的列要使他们合并成一对的时间最少 解题方法 这道题大体和石子合并ssl 2863)相同至少我这么认为,但他合并的代价为前面的矩阵的行数×前面的矩阵的列数/后面的矩阵的行数×后面的矩阵的列数并且输入多了一个数, 未做过石子合并的“大佬”看此 我们先枚举合成矩阵的个数(len)再枚举矩阵的第一个(i)最后一个(j)就出来了最后枚举分割线(k)用分割线前面矩阵花费的时间加上后面矩阵花费的时间最后加上a[i]×a[k]×a[j1] (因为是最后一个矩阵的列{\color{Red}列}列所以还要加1) 动态转移方程 f[i][j]min{f[i][j]f[i][k−1]f[k][j]a[i]∗a[k]∗a[j1]f[i][j]min\left\{\begin{matrix}f[i][j]\\ f[i][k-1]f[k][j]a[i]*a[k]*a[j1]\end{matrix}\right.f[i][j]min{f[i][j]f[i][k−1]f[k][j]a[i]∗a[k]∗a[j1]​ #includecstdio #includeiostream #includecstring #includealgorithm using namespace std; int f[105][105],a[105],n,j; int main() {memset(f,127/3,sizeof(f));//因为要求最小所以要先赋一个大的值scanf(%d,n);for (int i1;in1;i)//n要加1{scanf(%d,a[i]);f[i][i]0;//把只有一个矩阵的清零}for (int i1;in-1;i)//2因为只有两个矩阵所以可以特殊处理(更快)f[i][i1]a[i]*a[i1]*a[i2];for (int len3;lenn;len)//长度for (int i1;in-len1;i)//前面的矩阵{jilen-1;//后面的矩阵for (int ki1;kj;k)f[i][j]min(f[i][j],f[i][k-1]f[k][j]a[i]*a[k]*a[j1]);//动态转移方程}printf(%d,f[1][n]); }能量项链{\color{Blue} 能量项链 }能量项链 Description 在Mars星球上每个Mars人都随身佩带着一串能量项链。在项链上有N颗能量珠。能量珠是一颗有头标记与尾标记的珠子这些标记对应着某个正整数。并且对于相邻的两颗珠子前一颗珠子的尾标记一定等于后一颗珠子的头标记。因为只有这样通过吸盘吸盘是Mars人吸收能量的一种器官的作用这两颗珠子才能聚合成一颗珠子同时释放出可以被吸盘吸收的能量。如果前一颗能量珠的头标记为m尾标记为r后一颗能量珠的头标记为r尾标记为n则聚合后释放的能量为Mars单位新产生的珠子的头标记为m尾标记为n。 需要时Mars人就用吸盘夹住相邻的两颗珠子通过聚合得到能量直到项链上只剩下一颗珠子为止。显然不同的聚合顺序得到的总能量是不同的请你设计一个聚合顺序使一串项链释放出的总能量最大。 例如设N44颗珠子的头标记与尾标记依次为(23) (35) (510) (102)。我们用记号⊕表示两颗珠子的聚合操作(j⊕k)表示第jk两颗珠子聚合后所释放的能量。则第4、1两颗珠子聚合后释放的能量为 (4⊕1)102360。 这一串项链可以得到最优值的一个聚合顺序所释放的总能量为 ((4⊕1)⊕2)⊕31023103510510710。 Input 输入的第一行是一个正整数N4≤N≤100表示项链上珠子的个数。第二行是N个用空格隔开的正整数所有的数均不超过1000。第i个数为第i颗珠子的头标记1≤i≤N当i时第i颗珠子的尾标记应该等于第i1颗珠子的头标记。第N颗珠子的尾标记应该等于第1颗珠子的头标记。 至于珠子的顺序你可以这样确定将项链放到桌面上不要出现交叉随意指定第一颗珠子然后按顺时针方向确定其他珠子的顺序。 Output 输出只有一行是一个正整数EE≤2.1*109为一个最优聚合顺序所释放的总能量。 Sample Input 4 2 3 5 10 Sample Output 710 题目大意 有n个矩阵。。。和上体叙述大体一致但它是一个环形输入n个数(a[1],a[2]…a[n])每个矩阵的行列为a[1]×a[2],a[2]×a[3]…a[n-1]×a[n],a[n]×a[1],因为它是一个环形所以只要是相邻的就可以合并要求最大的要求最大的{\color{Red}要求最大的要求最大的}要求最大的要求最大的要求最大的重要的事情说三遍{\color{Red}要求最大的重要的事情说三遍}要求最大的重要的事情说三遍。 解题方法 我们可以按下图存放a将1-42-53-64-7这一堆当作第一题做再从这些中求最大的但这样31重循环有80%的可能性TLE所以我们可以将他们放在一起做这样重复的就可以不做了详情请看程序 #includecstdio #includeiostream #includecstring #includealgorithm using namespace std; int f[205][205],a[205],n,j,ans; int main() {scanf(%d,n);for (int i1;in;i){scanf(%d,a[i]);a[in]a[i];//复制一遍}for (int i1;in*2-2;i)//要再加一个n因为n1到n*2是等于1到n的所以要加1n-1n-1n*2-2f[i][i1]a[i]*a[i1]*a[i2];//长度为2的提前做for (int len3;lenn;len)//一样for (int i1;in*2-len;i)//后面的也要求所以要加n,因为n1到n*2是等于1到n的所以要加1n-len1n-1n*2-len{jilen-1;//一样for (int ki1;kj;k)//一样f[i][j]max(f[i][j],f[i][k-1]f[k][j]a[i]*a[k]*a[j1]);//要求最大的}for (int i1;in;i)ansmax(ans,f[i][in-1]);//要从这些中找最大的printf(%d,ans); }
http://wiki.neutronadmin.com/news/339240/

相关文章:

  • 普陀做网站价格腾讯云新人服务器
  • 建设网站为什么要虚拟主机网站建设推广话术开场白
  • 唐山建网站唯品会一家专门做特卖的网站
  • asp 网站 内容静态化娄底网站建设报价
  • 做外汇网站网站 建设平台分析报告
  • 建设银行广州分行网站互联网下的网络营销
  • 青海市建设局网站便民类网站 做
  • 网站维护报价表宠物网页设计模板
  • 企业网站的建设与管理论文wordpress添加时间轴
  • discuz建站教程丽水网站建设企业
  • 做百度移动网站排微商城科技
  • 南宁seo网站建设海外网站推广
  • 做一家视频网站知名设计品牌有哪些
  • 网站型营销东莞网站建设优化推广
  • 推广网站的文案个人网站开发平台有哪些
  • 济南网站建设seo优化抖音广告投放收费标准
  • dedecms 把自己的网站添加进去软考培训机构哪家好一点
  • 具有价值的做网站wordpress做引导页
  • 功能型网站设计新网站建设的工作
  • 个人网站 不用备案二建注册信息查询系统官网
  • 做html网站模板网站推广做多大尺寸
  • 网站美工设计什么是平衡网站受到攻击 怎么做
  • 合同下载网站自助建站系统是怎么实现
  • 男女生做爰视频网站容城网站建设
  • 秦皇岛建设网站wordpress防cc代码
  • 建设网站的功能及目的是什么意思好的建站平台
  • 商城网站开发背景wordpress后台插件的关闭
  • 网站图片分辨率尺寸短视频广告投放平台
  • 网站和网页的不同易搜搜索引擎
  • 网站建设零金手指专业wordpress邮箱验证