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

什么是网站黏着度银川怎么做网站

什么是网站黏着度,银川怎么做网站,什么后台做网站安全,网站域名怎么起数字三角形模型 摘花生 Hello Kitty想摘点花生送给她喜欢的米老鼠。 她来到一片有网格状道路的矩形花生地(如下图)#xff0c;从西北角进去#xff0c;东南角出来。 地里每个道路的交叉点上都有种着一株花生苗#xff0c;上面有若干颗花生#xff0c;经过一株花生苗就… 数字三角形模型 摘花生  Hello Kitty想摘点花生送给她喜欢的米老鼠。 她来到一片有网格状道路的矩形花生地(如下图)从西北角进去东南角出来。 地里每个道路的交叉点上都有种着一株花生苗上面有若干颗花生经过一株花生苗就能摘走该它上面所有的花生。 Hello Kitty只能向东或向南走不能向西或向北走。 问Hello Kitty最多能够摘到多少颗花生。 输入格式 第一行是一个整数T代表一共有多少组数据。 接下来是T组数据。 每组数据的第一行是两个整数分别代表花生苗的行数R和列数 C。 每组数据的接下来R行数据从北向南依次描述每行花生苗的情况。每行数据有C个整数按从西向东的顺序描述了该行每株花生苗上的花生数目M。 输出格式 对每组输入数据输出一行内容为Hello Kitty能摘到得最多的花生颗数。 数据范围 1≤T≤100 1≤R,C≤100, 0≤M≤1000 输入样例 2 2 2 1 1 3 4 2 3 2 3 4 1 6 5输出样例 8 16#includeiostream #includealgorithm #includecstring using namespace std; const int N110; int g[N][N]; int f[N][N]; int main() {int t;cint;while(t--){int n,m;cinnm;memset(g,0,sizeof g);memset(f,0,sizeof f);for(int i1;in;i)for(int j1;jm;j)cing[i][j];f[1][1]g[1][1];for(int i1;in;i){for(int j1;jm;j){f[i][j]max(f[i-1][j]g[i][j],f[i][j-1]g[i][j]);}}coutf[n][m]endl;}return 0; } 最低通行费 一个商人穿过一个 N×N 的正方形的网格去参加一个非常重要的商务活动。 他要从网格的左上角进右下角出。 每穿越中间 1 个小方格都要花费 1 个单位时间。 商人必须在 (2N−1) 个单位时间穿越出去。(2n-1)意味着 1n-1n-1 故不能走回头路 很重要 而在经过中间的每个小方格时都需要缴纳一定的费用。 这个商人期望在规定时间内用最少费用穿越出去。 请问至少需要多少费用 注意不能对角穿越各个小方格即只能向上下左右四个方向移动且不能离开网格。 输入格式 第一行是一个整数表示正方形的宽度 N。 后面 NN行每行 N 个不大于 100 的正整数为网格上每个小方格的费用。 输出格式 输出一个整数表示至少需要的费用。 数据范围 1≤N≤1001≤N≤100 输入样例 5 1 4 6 8 10 2 5 7 15 17 6 8 9 18 20 10 11 12 19 21 20 23 25 29 33输出样例 109样例解释 样例中最小值为 10912579121921331091257912192133。 #includeiostream #includealgorithm #includecstring using namespace std; const int N110; int g[N][N]; int f[N][N]; int main() {int n;cinn;memset(f,0x3f,sizeof f);for(int i1;in;i)for(int j1;jn;j) cing[i][j];f[1][1]g[1][1];for(int i1;in;i)for(int j1;jn;j){if(i1) f[i][j]min(f[i-1][j]g[i][j],f[i][j]);if(j1) f[i][j]min(f[i][j-1]g[i][j],f[i][j]);}coutf[n][n]endl;return 0;} 方格取数  设有 N×N 的方格图我们在其中的某些方格中填入正整数而其它的方格中则放入数字0。如下图所示 某人从图中的左上角 A 出发可以向下行走也可以向右行走直到到达右下角的 B 点。 在走过的路上他可以取走方格中的数取走后的方格中将变为数字0。 此人从 A 点到 B 点共走了两次试找出两条这样的路径使得取得的数字和为最大。 两条道 同时走 输入格式 第一行为一个整数N表示 N×N 的方格图。 接下来的每行有三个整数第一个为行号数第二个为列号数第三个为在该行、该列上所放的数。 行和列编号从 1 开始。 一行“0 0 0”表示结束。 输出格式 输出一个整数表示两条路径上取得的最大的和。 数据范围 N≤10 输入样例 8 2 3 13 2 6 6 3 5 7 4 4 14 5 2 21 5 6 4 6 3 15 7 2 14 0 0 0输出样例 67 #includeiostream #includealgorithm #includecstring using namespace std; const int N15; int g[N][N]; int f[N*2][N][N]; int main() {int n;cinn;int a,b,c;while(cinabc,a||b||c) g[a][b]c;for(int k2;knn;k){for(int i11;i1n;i1){for(int i21;i2n;i2){int j1k-i1,j2k-i2;if(j11j1nj21j2n) {int tg[i1][j1];if(i1!i2) tg[i2][j2];int xf[k][i1][i2];xmax(f[k][i1][i2],f[k-1][i1-1][i2-1]t);//下下xmax(f[k][i1][i2],f[k-1][i1-1][i2]t);//下右xmax(f[k][i1][i2],f[k-1][i1][i2-1]t);//右下xmax(f[k][i1][i2],f[k-1][i1][i2]t);//右右}}}}coutf[nn][n][n]endl;return 0; } 传纸条 小渊和小轩是好朋友也是同班同学他们在一起总有谈不完的话题。 一次素质拓展活动中班上同学安排坐成一个 m 行 n 列的矩阵而小渊和小轩被安排在矩阵对角线的两端因此他们就无法直接交谈了。 幸运的是他们可以通过传纸条来进行交流。 纸条要经由许多同学传到对方手里小渊坐在矩阵的左上角坐标 (1,1)小轩坐在矩阵的右下角坐标 (m,n)。 从小渊传到小轩的纸条只可以向下或者向右传递从小轩传给小渊的纸条只可以向上或者向左传递。  在活动进行中小渊希望给小轩传递一张纸条同时希望小轩给他回复。 班里每个同学都可以帮他们传递但只会帮他们一次也就是说如果此人在小渊递给小轩纸条的时候帮忙那么在小轩递给小渊的时候就不会再帮忙反之亦然。  还有一件事情需要注意全班每个同学愿意帮忙的好感度有高有低注意小渊和小轩的好心程度没有定义输入时用 0 表示可以用一个 0∼100 的自然数来表示数越大表示越好心。 小渊和小轩希望尽可能找好心程度高的同学来帮忙传纸条即找到来回两条传递路径使得这两条路径上同学的好心程度之和最大。 现在请你帮助小渊和小轩找到这样的两条路径。 输入格式 第一行有 2 个用空格隔开的整数 m 和 n表示学生矩阵有 m 行 n 列。 接下来的 m 行是一个 m×n 的矩阵矩阵中第 i 行 j 列的整数表示坐在第 i 行 j 列的学生的好心程度每行的 n 个整数之间用空格隔开。 输出格式 输出一个整数表示来回两条路上参与传递纸条的学生的好心程度之和的最大值。 数据范围 1≤n,m≤50 输入样例 3 3 0 3 9 2 8 5 5 7 0输出样例 34证明传纸条为何可以使用方格取数的代码 因为两个点相交这个点的值只能加一次然而我们肯定能找到一条绕过这个点走到下个点的路径这条路径一定是大于之前相交路径的。 数学表达就是两条路径在一个点那么在这个点加的值就是0g[i,j] 但是我们可以让其中一条路径绕过这个点再走到这个点的下一个点 那么加的值应该是g[i,j-1] g[i,j] 因为是非负数所以我们可以找到一条大于等于之前有相交点的路径那么这个有相交点的一定不是最优解即便这条路径是最优解也有另一条最优解和这个路径和一样但是我们只需要输出路径和就可以了最优解路径有可能是有相交点的但是也有另一个最优解没有相交点那么我们输出的路径和肯定可以是一条没有相交点的最优解  #includeiostream #includealgorithm #includecstring using namespace std; const int N60; int g[N][N]; int f[N*2][N][N]; int main() {int n,m;cinnm;int a,b,c;for(int i1;in;i)for(int j1;jm;j)cing[i][j];for(int k2;knm;k){for(int i11;i1k;i1){for(int i21;i2k;i2){int j1k-i1,j2k-i2;if(j11j1mj21j2m) {int tg[i1][j1];if(i1!i2) tg[i2][j2];int xf[k][i1][i2];xmax(f[k][i1][i2],f[k-1][i1-1][i2-1]t);//下下xmax(f[k][i1][i2],f[k-1][i1-1][i2]t);//下右xmax(f[k][i1][i2],f[k-1][i1][i2-1]t);//右下xmax(f[k][i1][i2],f[k-1][i1][i2]t);//右右}}}}coutf[nm][n][n]endl;return 0; } 最长上升子序列模型 怪盗基德的滑翔翼 怪盗基德是一个充满传奇色彩的怪盗专门以珠宝为目标的超级盗窃犯。 而他最为突出的地方就是他每次都能逃脱中村警部的重重围堵而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。 有一天怪盗基德像往常一样偷走了一颗珍贵的钻石不料却被柯南小朋友识破了伪装而他的滑翔翼的动力装置也被柯南踢出的足球破坏了。 不得已怪盗基德只能操作受损的滑翔翼逃脱。 假设城市中一共有N幢建筑排成一条线每幢建筑的高度各不相同。 初始时怪盗基德可以在任何一幢建筑的顶端。 他可以选择一个方向逃跑但是不能中途改变方向因为中森警部会在后面追击。 因为滑翔翼动力装置受损他只能往下滑行即只能从较高的建筑滑翔到较低的建筑。 他希望尽可能多地经过不同建筑的顶部这样可以减缓下降时的冲击力减少受伤的可能性。 请问他最多可以经过多少幢不同建筑的顶部(包含初始时的建筑) 输入格式 输入数据第一行是一个整数K代表有K组测试数据。 每组测试数据包含两行第一行是一个整数N代表有N幢建筑。第二行包含N个不同的整数每一个对应一幢建筑的高度h按照建筑的排列顺序给出。 输出格式 对于每一组测试数据输出一行包含一个整数代表怪盗基德最多可以经过的建筑数量。 数据范围 1≤K≤100 1≤N≤100 0h10000 输入样例 3 8 300 207 155 299 298 170 158 65 8 65 158 170 298 299 155 207 300 10 2 1 3 4 5 6 7 8 9 10输出样例 6 6 9 这题就是求最长上升子序列往左滑和最长下降子序列往右滑长度的最大值。 #includeiostream #includealgorithm #includecstring using namespace std; const int N110; int a[N]; int f[N]; int main() {int t;cint;while(t--){memset(f,0,sizeof f);int n;cinn;for(int i1;in;i) cina[i];int num10,num20;//最长单调递减子序列for(int i1;in;i){f[i]1;for(int j1;ji;j){if(a[j]a[i]) f[i]max(f[i],f[j]1);}num1max(num1,f[i]);}memset(f,0,sizeof f);//最长单调递增子序列 for(int i1;in;i){f[i]1;for(int j1;ji;j){if(a[j]a[i]) f[i]max(f[i],f[j]1);}num2max(num2,f[i]);}coutmax(num1,num2)endl;}return 0; } #includeiostream #includealgorithm #includecstring using namespace std; const int N110; int a[N]; int f[N]; int main() {int t;cint;while(t--){int num10,num20;memset(f,0,sizeof f);int n;cinn;for(int i1;in;i) cina[i];for(int i1;in;i){f[i]1;for(int j1;ji;j){if(a[j]a[i]) f[i]max(f[i],f[j]1);}num1max(num1,f[i]);}memset(f,0,sizeof f);for(int in;i1;i--){f[i]1;for(int jn;ji;j--){if(a[j]a[i]) f[i]max(f[i],f[j]1); }num2max(num2,f[i]);}coutmax(num1,num2)endl;}return 0; } 登山 五一到了ACM队组织大家去登山观光队员们发现山上一共有N个景点并且决定按照顺序来浏览这些景点即每次所浏览景点的编号都要大于前一个浏览景点的编号。 同时队员们还有另一个登山习惯就是不连续浏览海拔相同的两个景点并且一旦开始下山就不再向上走了。 队员们希望在满足上面条件的同时尽可能多的浏览景点你能帮他们找出最多可能浏览的景点数么 输入格式 第一行包含整数N表示景点数量。 第二行包含N个整数表示每个景点的海拔。 输出格式 输出一个整数表示最多能浏览的景点数。 数据范围 2≤N≤1000 输入样例 8 186 186 150 200 160 130 197 220输出样例 4 #includeiostream #includealgorithm #includecstring using namespace std; const int N1010; int a[N]; int f[N][2]; int main() {int n;cinn;for(int i1;in;i) cina[i];int ans0;for(int i1;in;i){f[i][0]f[i][1]1;for(int j1;ji;j){if(a[i]a[j]) f[i][0]max(f[i][0],f[j][0]1);//上升//出现下降的了 它有可能来自下降的下降 也有可能来自上升之后的下降 故取最大值if(a[i]a[j]) f[i][1]max(f[i][1],max(f[j][0],f[j][1])1);}ansmax(ans,f[i][0]);ansmax(ans,f[i][1]);}coutansendl;return 0; } #includeiostream #includealgorithm #includecstring using namespace std; const int N1010; int a[N]; int f[N],g[N]; int main() {int n;cinn;for(int i1;in;i) cina[i];for(int i1;in;i){f[i]1;for(int j1;ji;j){if(a[i]a[j]) f[i]max(f[i],f[j]1);}}for(int in;i1;i--){g[i]1;for(int jn;ji;j--){if(a[i]a[j]) g[i]max(g[i],g[j]1);}}int res0;for(int i1;in;i) resmax(res,f[i]g[i]-1);coutresendl;return 0; } 合唱队形 N 位同学站成一排音乐老师要请其中的 (N−K) 位同学出列使得剩下的 K 位同学排成合唱队形。      合唱队形是指这样的一种队形设 K 位同学从左到右依次编号为 12…K他们的身高分别为 T1T2…TK  则他们的身高满足 T1…TiTi1…TK(1≤i≤K) 你的任务是已知所有 N 位同学的身高计算最少需要几位同学出列可以使得剩下的同学排成合唱队形。 输入格式 输入的第一行是一个整数 N表示同学的总数。 第二行有 N 个整数用空格分隔第 i 个整数 Ti 是第 i位同学的身高(厘米)。 输出格式 输出包括一行这一行只包含一个整数就是最少需要几位同学出列。 数据范围 2≤N≤100 130≤Ti≤230 输入样例 8 186 186 150 200 160 130 197 220输出样例 4
http://www.w-s-a.com/news/84828/

相关文章:

  • 广州市医院网站建设广州头条新闻最近一周
  • 广州移动 网站设计中国交通建设监理协网站
  • 甘肃省第八建设集团公司网站wordpress topnews
  • 公司网站建设维保协议wordpress会员可看
  • 合肥百度网站排名优化深圳集团网站开发公司
  • 可以直接打开网站的方法手机回收站
  • 山西免费网站制作中天建设集团有限公司第九建设公司
  • 好的网站有哪些企业微信开发者工具
  • 网站通栏代码老外做的中国汉字网站
  • 东莞公司建站哪个更便宜wordpress宝塔伪静态
  • 六安网站建设价格做网站好吗
  • 中小企业网站建设咨询湖南省邵阳建设局网站
  • 分类网站一天做几条合适南安网络推广
  • 案例学 网页设计与网站建设百度竞价关键词出价技巧
  • 做公司网站要那些资料南雄网站建设
  • 自己做的网站发布到网上视频播放不了网页游戏奥奇传说
  • 网站效果用什么软件做品牌网站建设等高端服务
  • 四川省成华区建设局网站网站专业制作
  • 网站建设如何开票网站后台怎么做超链接
  • 教育网站设计方案建设网站技术公司电话号码
  • 建网站要定制还是第三方系统传奇网站模板psd
  • 免费搭建企业网站什么叫网站定位
  • 网站建设cms程序员培训班
  • 网站seo技术wordpress editor ios
  • 红酒网站设计成立公司需要哪些手续
  • 广州做网站哪个好网站建网站建设网站站网站
  • 如何快速提升网站pr短剧个人主页简介模板
  • 上海网站建设 永灿百度权重3的网站值多少
  • 公司展示网站模板模板工
  • 网站建设收费详情舟山公司做网站