上一页 1 2 3 4 5 6 7 8 9 ··· 12 下一页
摘要: 传送门 N个数,为1或2.由一次操作,对一段区间进行反转,然后求最长不下降子序列长度 emmm想的是如果反转区间可以使答案较原本序列更大,那么区间内对答案的贡献必然是一个1与2组成的序列。总共反转的区间有n^2个,那么如果我们对于每个反转序列,能够O(1)得求出贡献即可得到答案,因为区间前1的数目与 阅读全文
posted @ 2018-02-14 23:21 xFANx 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 传送门 B从由两个数列中各挑出一个数相乘,他想让乘积最大化,A想让乘积最小化,他可以抹去一个数。求最终B得到的乘积 场上疯狂hack... 由于数据十分的小,我当时直接暴力求解A要抹去的数,然后再暴力求乘积即可。。。 阅读全文
posted @ 2018-02-14 23:06 xFANx 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 传送门 N(1~2000)个数,每次操作可以将相邻两数的其中一个变为它们的最大公约数,求将所有数变为1所需的最少操作次数 阅读全文
posted @ 2018-02-14 16:52 xFANx 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 传送门 N个数,代表得到2^(i-1)次幂的花费,求构造L的最小花费 阅读全文
posted @ 2018-02-14 15:31 xFANx 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 传送门 N个数,允许将前连续任意个数变化为其相反数,也允许把后连续任意个数变为相反数,求最大和 令dp[i][0]前i个数操作后能得到的最大值,dp[i][1]出去前i-1个数操作后能得到的最大值 注意初始化,不然对于答案为无需操作的情况会出错 阅读全文
posted @ 2018-02-14 13:00 xFANx 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 传送门 把n1个步兵和n2个骑兵派成一列,已知连续的步兵不超过k1个,连续的骑兵不超过k2个,求总可能排列情况数 定义dp[i][j][2],指使用i个步兵,j个骑兵的排列。0代表排头为步兵,1代表排头为骑兵 阅读全文
posted @ 2018-02-09 19:14 xFANx 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 传送门 一个小写字母组成的字符串和允许更改次数k,n组序偶的价值,求能获得的最大价值 定义dp[k][l][i]位更改第k次时长度为l的串末尾为i时的最大收益。分原本字符串末尾就是i和不是两种去递推。 注意初始化问题。 1 #include <cstdio> 2 #include <cstring> 阅读全文
posted @ 2018-02-09 15:39 xFANx 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 传送门 二分,正反都扫一遍不连续K个不符条件即可 阅读全文
posted @ 2018-02-08 17:35 xFANx 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 传送门 N个数,每次操作可以将一个数增加(减小1),问使序列称为非升序列需要的最少操作数 首先明确操作后,序列中出现的数必然为原有序列中出现的数。那么我门复制一遍序列,然后排序,定义dp[i][j]为原序列前i个数不大于排序后序列第j位的最小花费。显然循环应是外层i,内层j,这样我们可以使用一维数组 阅读全文
posted @ 2018-02-07 23:27 xFANx 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 链接 求最长公共上升子序列并打印 不过这题1 ≤ n ≤ 500,也可以用O(n3)的算法吧 阅读全文
posted @ 2018-02-07 20:05 xFANx 阅读(74) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 12 下一页