
动态规划
rwrsgg
即使身处黑暗,心中也应该有光才对
展开
-
历届试题 图形排版
资源限制时间限制:2.0s 内存限制:256.0MB问题描述 小明需要在一篇文档中加入 N 张图片,其中第 i 张图片的宽度是 Wi,高度是 Hi。 假设纸张的宽度是 M,小明使用的文档编辑工具会用以下方式对图片进行自动排版:1. 该工具会按照图片顺序,在宽度 M 以内,将尽可能多的图片排在一行。该行的高度是行内最高的图片的高度。例如在 M=10 的纸张上依次打印 3x4, 2x2, 3x3 三张图片,则效果如下图所示,这一行高度为4。(分割线以上为列标尺,分割线以下为排版区域;数字组成的原创 2020-10-28 20:47:41 · 256 阅读 · 0 评论 -
线段--信息奥赛
题目 2342: [信息学奥赛一本通-T1429]线段时间限制: 1Sec 内存限制: 128MB 提交: 38 解决: 14题目描述在一个数轴上有n条线段,现选取其中k条线段使得这k条线段两两没有重合部分,问最大的k为多少?输入第一行为一个正整数n,下面n行每行2个数字ai,bi,描述每条线段。输出输出文件仅包括1个整数,为k的最大值。样例输入30 22 41 3样例输出2代码刚刚贴着时间过,应该有优化的算法.#include <iostream>#inclu原创 2020-09-23 18:55:28 · 157 阅读 · 0 评论 -
[蓝桥杯][算法提高VIP]促销购物
题目描述张超来到了超市购物。每个物品都有价格,正好赶上商店推出促销方案。就是把许多东西一起买更便宜(保证优惠方案一定比原价便宜)。物品要买正好的个数,而且不能为了便宜而买不需要的物品。张超拿到了优惠方案,和需要购买的物品清单,当然想求出最小的花费。他是信息学选手,自然地想到写个程序解决问题。输入第一行促销物品的种类数(0 < = s < = 99)。第二行…第s+1 行每一行都用几个整数来表示一种促销方式。第一个整数 n (1 < = n < =原创 2020-08-06 15:06:22 · 629 阅读 · 0 评论 -
Pascal三角
PASCAL三角是形状如下的三角矩阵:11 11 2 11 3 3 11 4 6 4 1在PASCAL三角中的每个数是一个组合C(n,k)。C(n,k)=(((((((n/1)(n-1))/2(n-2))/3)***(n-k+2))/(k-1))(n-k+1))/k公式中交替使用乘法和除法,每次将从n开始递减的一个值相乘,然后除以下一个从1开始递增的值。如果对行和列从0开始计数,则数字C(n,k)在n行k列。例如C(6,2)在第6行第2列。编程输出指定阶数的PASCAL原创 2020-07-23 16:55:37 · 877 阅读 · 0 评论 -
暑假训练-试题 算法提高 合唱队形
时间限制:1.0s 内存限制:256.0MB问题描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足T1<…Ti+1>…>TK(1<=i<=K)。 你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。输入格式 输入的第一行是一个整数N(2<原创 2020-07-05 16:21:17 · 2834 阅读 · 0 评论 -
试题 算法提高 进攻策略加强
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 植物大战僵尸这款游戏中,还有一个特别的玩儿法:玩家操纵僵尸进攻植物。 首先,僵尸有m种(每种僵尸都是无限多的),玩家可以选择合适的僵尸来进攻。使用第i种僵尸需要花费Wi资源,可以得到Pi的攻击效果。在这里,我们认为多个僵尸总的攻击效果就是他们每个攻击效果的代数和。 地图共有n行,对于第i行,最左端有若干植物,这些植物需要至少Qi的攻击才能被全部消灭。若一行上的植物全部被消灭,我们称这一行被攻破。 由于资源紧张,你只有总量为原创 2020-07-01 13:51:56 · 656 阅读 · 5 评论 -
暑假训练10---矩阵乘法(快速幂顺便复习大数乘取模)
矩阵乘法题目描述给定一个N阶矩阵A,输出A的M次幂(M是非负整数)例如:A =1 23 4A的2次幂7 1015 22输入第一行是一个正整数N、M(1< =N< =30, 0< =M< =5),表示矩阵A的阶数和要求的幂数接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值输出输出共N行,每行N个整数,表示A的M次幂所对应的矩阵。相邻的数之间用一个空格隔开样例输入2 21 23 4样例输出7 1015 22#inclu原创 2020-06-23 17:18:24 · 312 阅读 · 0 评论 -
暑假练习--2(动态规划)
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 有一条长为n的走廊,小明站在走廊的一端,每次可以跳过不超过p格,每格都有一个权值wi。 小明要从一端跳到另一端,不能回跳,正好跳t次,请问他跳过的方格的权值和最大是多少?输入格式 输入的第一行包含两个整数n, p, t,表示走廊的长度,小明每次跳跃的最长距离和小明跳的次数。 接下来n个整数,表示走廊每个位置的权值。输出格式 输出一个整数。表示小明跳过的方格的权值和的最大值。样例输入8 5 33 4 -1 -1原创 2020-06-13 16:07:12 · 1134 阅读 · 0 评论 -
暑假一练(斐波那契)---1
总结:这一题总要运用的是矩阵乘法和大数相乘是的大数相乘取模的相关知识,还有一些斐波那契的总要结论总结。/* 当要计算大数的斐波那契数时,首先我们就应该想到矩阵乘法来处理,即矩阵快速幂,斐波那契数列有非常多的优良性质。有如下重要的结论需要记住f(0)+f(1)+f(2)+…+f(n)=f(n+2)-1f(1)+f(3)+f(5)+…+f(2n-1)=f(2n)f(2)+f(4)+f(6)+…+f(2n) =f(2n+1)-1[f(0)]2+[f(1)]2+…+[f(n)]^2=原创 2020-06-13 13:18:26 · 198 阅读 · 0 评论 -
题目 2264: [蓝桥杯][2015年第六届真题]生命之树
在X森林里,上帝创建了生命之树。他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值。上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,b,都存在一个点列 {a, v1, v2, …, vk, b} 使得这个点列中的每个点都是S里面的元素,且序列中相邻两个点间有一条边相连。在这个前提下,上帝要使得S中的点所对应的整数的和尽量大。这个最大的和就是上帝给生命之树的评分。经过atm的努力,他已经知道了上帝给每棵树上每个节点上的整数。但是由于 atm 不擅长计算原创 2020-05-31 17:08:53 · 180 阅读 · 0 评论 -
试题 算法提高 翔集合
问题描述 集合M至少有两个元素(实数),且M中任意两个元素差的绝对值都大于2,则称M为“翔集合”,已知集合S={1,2…,n},请求出n的子集中共有多少个翔集合。输入格式 输入共一行,一个整数n.(n>=2)输出格式 输出共一行,一个整数表示S的子集中共有多少个翔集合,由于个数可能过大,请输出这个值除以1000007的余数。样例输入4样例输出1数据规模和约定 对于20%的数据,2<=n<=1000000 对于100%的数据,2<=n<=10^1原创 2020-05-18 09:04:20 · 3137 阅读 · 5 评论 -
动态规划中关于背包问题的一些整理
0-1背包'基本01背包''''这是最基础的背包问题:特点:一定容量,每个物品只有一件,在面临选择的时候可以选择放或者不放。以f[i][j]表示前i件物品恰放进容量为j的背包可以获得的最大价值。状态转移方程:f[i][j]=max(f[i−1][j],f[i−1][j−w[i]]+v[i])可以对空间复杂度进行优化,用一维进行处理,可得到以下代码'''# 假设有10件物品,容量V = 50n = 10V = 50w = list(range(n+1))s = list(range(原创 2020-05-15 22:23:17 · 192 阅读 · 0 评论 -
试题 算法提高 不重叠的线段
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 给出在数轴上的n条线段的左右端点的坐标l,r和它们的价值v,请你选出若干条没有公共点的线段(端点重合也算有公共点),使得它们的价值和最大,输出最大价值和。输入格式 第一行一个正整数n。接下来n行,每行三个整数l,r,v分别表示一条线段的左端点,右端点和价值。l<r,v>0。输出格式 输出一个整数表示...原创 2020-04-29 14:02:43 · 775 阅读 · 7 评论 -
动态规划训练1-天天向上
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 A同学的学习成绩十分不稳定,于是老师对他说:“只要你连续4天成绩有进步,那我就奖励给你一朵小红花。”可是这对于A同学太困难了。于是,老师对他放宽了要求:“只要你有4天成绩是递增的,我就奖励你一朵小红花。”即只要对于第i、j、k、l四天,满足i<j<k<l并且对于成绩wi<wj<wk<wl,...原创 2020-04-26 07:43:29 · 703 阅读 · 0 评论 -
数的划分(完全背包变形问题)
题目 1531: [蓝桥杯][算法提高VIP]数的划分时间限制: 1Sec 内存限制: 128MB题目描述一个正整数可以划分为多个正整数的和,比如n=3时:3;1+2;1+1+1;共有三种划分方法。给出一个正整数,问有多少种划分方法。数据规模和约定n< =100输入一个正整数n输出一个正整数,表示划分方案数样例输入3样例输出3//数的划分,经典完全背包的变形...原创 2020-04-23 13:19:07 · 234 阅读 · 0 评论 -
蓝桥杯模拟赛--摆动数组的一种解法
题目问题描述如果一个序列的奇数项都比前一项大,偶数项都比前一项小,则称为一个摆动序列。即 a[2i]<a[2i-1], a[2i+1]>a[2i]。 小明想知道,长度为 m,每个数都是 1 到 n 之间的正整数的摆动序列一共有多少个。输入格式输入一行包含两个整数 m,n。输出格式输出一个整数,表示答案。答案可能很大,请输出答案除以10000的余数。样例输入3 4样...原创 2020-04-22 14:33:05 · 336 阅读 · 0 评论 -
[蓝桥杯][历届试题]最大子阵(动态规划)
给定一个n*m的矩阵A,求A中的一个非空子矩阵,使这个子矩阵中的元素和最大。其中,A的子矩阵指在A中行和列均连续的一块。样例说明取最后一列,和为10。数据规模和约定对于100%的数据,1< =n, m< =500,A中每个元素的绝对值不超过5000。输入输入的第一行包含两个整数n, m,分别表示矩阵A的行数和列数。接下来n行,每行m个整数,表示矩阵A。输出输出一...原创 2020-04-16 14:14:26 · 449 阅读 · 0 评论