![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
brucehb
这个作者很懒,什么都没留下…
展开
-
洛谷 P2513 ——逆序对数列
题目描述 对于一个数列 { a i } 如果有 i < j且 ai > aj,那么我们称 ai与 a j为一对逆序对数。 若对于任意一个由 1 ∼ n 自然数组成的数列,可以很容易求出有多少个逆序对数。 那么逆序对数为 k 的这样自然数数列到底有多少个? 输入格式 第一行为两个整数 n ,k。 输出格式 写入一个整数,表示符合条件的数列个数,由于这个数可能很大,你只需输出该数对 10000 求余数后的结果。 输入样例 4 1 输出样例 3 样例说明 下列 3 33 个数列逆序对..原创 2022-02-04 22:07:22 · 1033 阅读 · 0 评论 -
第十一届蓝桥杯 ——矩阵
问题描述 把 1 ∼ 2020 放在 2 × 1010 的矩阵里。 要求同一行中右边的比左边大,同一列中下边的比上边的大。一共有多少种方案? 答案很大,你只需要给出方案数除以 2020 的余数即可。 答案提交 这是一道结果填空题,你只需要算出结果后提交即可。 本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。 答案:1340 思路: 放置数字时按照从小到大的顺序,先放1,然后2,3.。。。并且遵守第一行的数量要大于等于第二行的数量。 dp[i][j]表示第一行放置.原创 2022-02-04 11:05:49 · 383 阅读 · 0 评论 -
第十一届蓝桥杯(国赛)——本质上升序列
问题描述 小蓝特别喜欢单调递增的事物。 在一个字符串中,如果取出若干个字符,将这些字符按照在字符串中的顺序排列后是单调递增的,则成为这个字符串中的一个单调递增子序列。 例如,在字符串 lanqiao 中,如果取出字符 n 和 q,则 nq 组成一个单调递增子序列,类似的单调递增子序列还有 lnq、i、ano。 小蓝发现,有些子序列虽然位置不同,但是字符序列是一样的, 例如取第二个字符和最后一个字符可以取到 ao,取最后两个字符也可以取到 ao,小蓝认为他们并没有本质不同。 对于一个字符串,小蓝想知原创 2022-02-03 22:05:47 · 133 阅读 · 0 评论 -
子集价值
yk最近在研究位运算。它发现除了xor,or,and外还有很多运算。它新定义了一种运算符“#”。具体地,可以由4个参数来表示。 ai,j表示i#j。其中i,j与a的值均∈[0,1]。当然问题可以扩展为>1的情况,具体地,可以将两个数分解为p位,然后对于每一位执行上述的位运算,再将这个二进制串转化为十进制就可以了。例如当 a0,0=a1,1=0,a0,1=a1,0=1时,3#4在p=3时等于7...原创 2018-06-21 00:42:52 · 553 阅读 · 0 评论 -
Clarke and package
克拉克是一名人格分裂患者.有一天克拉克分裂成 n 个人. 每个克拉克有一些背包,这一天里每个克拉克都想选择一个背包出去野营. 第 i 个克拉克有 ki 个背包,第 j 个背包装有价值为 ci,j 的物品,选到这个背包的概率为 pi,j/10000 . 每个克拉克都选好背包后,他们决定选择最多 m 个价值和最大的背包单独拿出来,加以保护. 不过有人跳出来说,如果这最多 m 个背包都丢了怎么办...原创 2018-06-28 00:59:27 · 239 阅读 · 0 评论 -
矩阵取数问题 V2
一个M*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,先从左上走到右下,再从右下走到左上。第1遍时只能向下和向右走,第2遍时只能向上和向左走。两次如果经过同一个格子,则该格子的奖励只计算一次,求能够获得的最大价值。 例如:3 * 3的方格。1 3 32 1 32 2 1能够获得的最大价值为:17。1 -> 3 -> 3 -> 3 -> 1 -> 2 -...原创 2018-06-28 23:54:40 · 621 阅读 · 0 评论 -
51nod - 1582 n叉树
有一棵n叉树,深度是无限的,每个结点有n个儿子。从左到右编号为1到n号儿子,第i号儿子离该结点的距离是di。现在要统计一下距离根结点不超过x的结点有多少个。 数字比较大对109+7取余后输出。 样例解释: 图中黄色的结点是距离根不超3的。 Input 单组测试数据。 第一行有两个整数n和x(1≤n≤10^5,0≤x≤10^9),表示每个结点的儿子数目,以及上文提到的...原创 2018-05-23 00:15:40 · 665 阅读 · 0 评论 -
球与切换器
有N行M列的正方形盒子。每个盒子有三种状态0, -1, +1。球从盒子上边或左边进入盒子,从下边或右边离开盒子。规则:如果盒子的模式是-1,则进入它的球从下面出去。(方向变为向下)如果盒子的模式是+1,则进入它的球从右面出去。 (反向变为向右)如果盒子的模式是0, 则进入它的球方向不变。从上面进入的,从下面出去,从左面进入的,从右面出去。球离开一个盒子,这个盒子的模式切换为相反数。已知,每个盒子的...原创 2018-03-03 23:25:23 · 233 阅读 · 0 评论 -
最小化序列
现在有一个长度为n的数组A,另外还有一个整数k。数组下标从1开始。 现在你需要把数组的顺序重新排列一下使得下面这个的式子的值尽可能小。 ∑n−ki=1|A[i]−A[i+k]| 特别的,你也可以不对数组进行重新排列。 Input 单组测试数据。 第一行包含两个整数n,k (2≤n≤3*10^5, 1≤k≤min(5000,n-1))。 第二行包含n个整数 A[1],A[2],原创 2017-11-17 02:45:21 · 781 阅读 · 0 评论 -
宝石猎人
苏塞克岛是一个有着30001个小岛的群岛,这些小岛沿着一条直线均匀间隔分布,从西到东编号为0到30000。众所周知,这些岛上有很多宝石,在苏塞克岛上总共有n颗宝石,并且第i颗宝石位于岛 pi上。 小法正好到达0号小岛上,他拥有卓越的跳跃能力,能根据以下规则在小岛之间向东重复跳跃: · 首先,他会从0号岛跳到d号岛 · 此后,他会根据以下规则继续跳跃,L是上一次跳跃原创 2018-01-25 23:46:35 · 237 阅读 · 0 评论 -
51nod婚姻介绍所
51nod除了在做OJ之外,还开展了很多副业。婚姻介绍所就是其中之一。对于一个客户,我们可以使用一个字符串来描述该客户的特质。假设现在我们有两个客户A和B。A的特质字符串为:abcdefgB的特质字符串为:abcxyz则A和B的匹配度f(A, B)为A和B的最长公共前缀的长度,即len('abc') = 3由于最近51nod经费紧张,所以夹克大老爷设计了一种压缩算法以节约内存。所有用户的特质字符串原创 2018-01-19 01:46:34 · 178 阅读 · 0 评论 -
AVL树的种类
平衡二叉树(AVL树),是指左右子树高度差至多为1的二叉树,并且该树的左右两个子树也均为AVL树。 现在问题来了,给定AVL树的节点个数n,求有多少种形态的AVL树恰好有n个节点。 Input 一行,包含一个整数n。 (0 Output 一行表示结果,由于结果巨大,输出它对1000000007取余数的结果。 Input示例 10 Output示例 60 #include #i原创 2018-02-04 20:00:02 · 173 阅读 · 0 评论 -
逆序排列
在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。 如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序数是4。 1-n的全排列中,逆序数最小为0(正序),最大为n*(n-1) / 2(倒序) 给出2个数n和k,求1-n的全排列中,逆序数为k的排列有多少种? 例如:n = 4原创 2018-02-05 22:57:58 · 4008 阅读 · 0 评论 -
与查询
有n个整数。输出他之中和x相与之后结果为x的有多少个。x从0到1,000,000 Input 第一行输入一个整数n。(1<=n<=1,000,000). 第二行有n个整数a[0],a[1],a[2],...a[n-1],以空格分开.(0<=a[i]<=1,000,000) Output 对于每一组数据,输出10...原创 2018-02-11 22:25:49 · 263 阅读 · 0 评论 -
最大M子段和
N个整数组成的序列a[1],a[2],a[3],…,a[n],将这N个数划分为互不相交的M个子段,并且这M个子段的和是最大的。如果M >= N个数中正数的个数,那么输出所有正数的和。例如:-2 11 -4 13 -5 6 -2,分为2段,11 -4 13一段,6一段,和为26。 Input 第1行:2个数N和M,中间用空格分隔。N为整数的个数,M为划分为多...原创 2018-02-12 01:39:30 · 275 阅读 · 0 评论 -
等公交
小镇的公交车站里有N辆公交,标号为0,1,2,...,N-1。这个小镇的公交运作模式比较奇葩,当必须有一辆车离开车站时,系统会随机从N辆车中选择一辆车,其中任意一辆车i被选中的概率为prob[i]/100,当车i被选中后它会离开车站,并且在之后的time[i]的时间内完成它的行程并返回车站。然后系统又开始随机选N辆车之一(存在同一辆车被连续多次选中的可能)。这个车站在0时刻发出第一班车。如果你在s...原创 2018-02-13 01:43:31 · 223 阅读 · 0 评论 -
最长等差数列
N个不同的正整数,找出由这些数组成的最长的等差数列。例如:1 3 5 6 8 9 10 12 13 14等差子数列包括(仅包括两项的不列举)1 3 51 5 9 133 6 9 123 8 135 9 136 8 10 12 14其中6 8 10 12 14最长,长度为5。 Input 第1行:N,N为正整数的数量(3 <= N <= 10000)。...原创 2018-02-08 01:58:27 · 1391 阅读 · 0 评论 -
选数字
当给定一个序列a[0],a[1],a[2],...,a[n-1] 和一个整数K时,我们想找出,有多少子序列满足这么一个条件:把当前子序列里面的所有元素乘起来恰好等于K。 样例解释: 对于第一个数据,我们可以选择[3]或者[1(第一个1), 3]或者[1(第二个1), 3]或者[1,1,3]。所以答案是4。 Input 多组测试数据。在输入文件的第一行原创 2017-11-11 23:07:32 · 390 阅读 · 0 评论