bzoj4621: Tc605】的更多相关文章

容易发现最终序列所有数字的相对顺序不变,一个数字可能的覆盖范围由两边第一个比它大的数决定,且若不考虑次数限制所有这样的序列都可以变换得到.对于一个序列,其需要的最少变换次数显然就是覆盖了别的位置的数的种数.于是设f[i][j][k][0/1]为第i位填了第j个数时以最优策略操作了k次,第i-1为是否填j时,变换方案数.转移考虑这一步填j是否要额外增加操作次数即可.暴力dpO(n4),前缀和优化O(n3). 半年之后终于会做了,可喜可贺. #include<iostream> #include&…
应要求写一下这个题的题解. 我的DP很奥(奇)妙(怪),不过跟标算还是殊途同归的(反正怎么做都行……) 先讲一下奥妙的性质吧. 首先,在最终序列中,每个数最多出现一段,并且,对于出现的数,每段数两两之间的相对位置相较原序列保持不变. 然后,你还可以发现,一个数可以延伸到最左的左端点.和最右的右端点,这些都是可以算出来的. 如果我们不考虑操作次数的限制,这个问题就变成了,按顺序给你一堆区间,让你在每个区间里选一小段,使选出来的区间不重叠地覆盖整个序列,并且区间之间的相对位置要按照给定的顺序. 下面…
[BZOJ4621]Tc605 Description 最初你有一个长度为 N 的数字序列 A.为了方便起见,序列 A 是一个排列. 你可以操作最多 K 次.每一次操作你可以先选定一个 A 的一个子串,然后将这个子串的数字全部变成原来这个子串的最大值.问最终有几种可能的数字序列.答案对 1e9+7 取模. Input 第一行两个数 N 和 K.第二行 N 个数,描述一个排列 A.  N,K<=500, 有6组数据N>100,有梯度 Output 输出一个数,表示答案在模域下的值.  Sampl…
4621: Tc605 Time Limit: 15 Sec  Memory Limit: 128 MBSubmit: 328  Solved: 183[Submit][Status][Discuss] Description 最初你有一个长度为 N 的数字序列 A.为了方便起见,序列 A 是一个排列. 你可以操作最多 K 次.每一次操作你可以先选定一个 A 的一个子串,然后将这个子串的数字全部变成原来这个子串的最大值.问最终有几种可能的数字序列.答案对 1e9+7 取模. Input 第一行两…
题解: 一道比较简单的题目 想着想着就把题目记错了..想成了可以把某段区间覆盖为其中一个数 其实是比较简单的 每个点的贡献一定是一个区间(就跟zjoi2018那题一样) 然后问题就变成了给你n个区间让你选择然后覆盖整个序列,其中使用>1的不能超过k 转移时比较简单的…
Description 最初你有一个长度为 N 的数字序列 A.为了方便起见,序列 A 是一个排列. 你可以操作最多 K 次.每一次操作你可以先选定一个 A 的一个子串,然后将这个子串的数字全部变成原来这个子串的最大值.问最终有几种可能的数字序列.答案对 1e9+7 取模.   Input 第一行两个数 N 和 K.第二行 N 个数,描述一个排列 A.  N,K<=500, 有6组数据N>100,有梯度   Output 输出一个数,表示答案在模域下的值.    Sample Input 3…
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem 10983 18765 Y 1036 [ZJOI2008]树的统计Count 5293 13132 Y 1588 [HNOI2002]营业额统计 5056 13607 1001 [BeiJing2006]狼抓兔子 4526 18386 Y 2002 [Hnoi2010]Bounce 弹飞绵羊 43…