上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 54 下一页
  2023年3月5日
摘要: 两个仅包含小写英文字母的字符串 AA 和 BB。 现在要从字符串 AA 中取出 kk 个互不重叠的非空子串,然后把这 kk 个子串按照其在字符串 AA 中出现的顺序依次连接起来得到一个新的字符串。 请问有多少种方案可以使得这个新串与字符串 BB 相等? 注意:子串取出的位置不同也认为是不同的 1) 阅读全文
posted @ 2023-03-05 13:40 towboat 阅读(17) 评论(0) 推荐(0)
  2023年3月4日
摘要: 斜率优化还是挺板子的: 考虑 两个变量 j,k ,且 F( j ) >F( k ) ,化简得到一个斜率的市子。。 slope( i ,j ) 然后用单调队列维护 #include <iostream> #include <cstring> #include <queue> using namespa 阅读全文
posted @ 2023-03-04 17:47 towboat 阅读(17) 评论(0) 推荐(0)
摘要: 给定一个长度n的序列 A,要求把该序列分成若干段,在满足“每段中所有数的和”不超过M 的前提下,让“每段中所有数的最大值”之和最小。 f[i ] =min( f[ j ]+ max{ a[k] , j<k<=i } ) ,s[ i ]-s[j] <=M 单调队列优化dp 待补 阅读全文
posted @ 2023-03-04 15:25 towboat 阅读(27) 评论(0) 推荐(0)
摘要: 有 n块木板从左到右排成一行,有m M 个工匠对这些木板进行粉刷,每块木板至多被粉刷一次。 第ii个木匠要么不粉刷,要么粉刷包含木板 pos[ i] 的,长度不超过 c[i] 的连续的一段木板,每粉刷一块可以得到 Y[i] 的报酬。 不同工匠的pos[i] 不同。 如何安排能使工匠们获得的总报酬最多 阅读全文
posted @ 2023-03-04 13:02 towboat 阅读(12) 评论(0) 推荐(0)
摘要: 给定一个长度为n 的序列 , 求 它有多少个长度为 m的严格递增子序列。 f[i][j] += f[i-1][k] (a[k]<a[i], k<i ) 优化 : 维护前缀和,根据a[k]<a[i] ,以a[ ] 为下标维护树状数组 , add(a[i] ,f[i-1][j] ) #include < 阅读全文
posted @ 2023-03-04 12:15 towboat 阅读(17) 评论(0) 推荐(0)
  2023年3月3日
摘要: 给定一个长度为 n的整数数组A ,你需要创建另一个长度n 的整数数组 B,数组B被分为 K个连续的部分,并且如果 X和y 在同一个部分,则 B[i]=B[j] b[x]= b[y] 如果要求数组 B 满足 sum{ abs(a[i] - b[i] ) } 最小,那么最小值是多少,请你输出这个最小值。 阅读全文
posted @ 2023-03-03 22:41 towboat 阅读(11) 评论(0) 推荐(0)
摘要: 给定n个数字,将它们分成连续的若干个区间。满足后一个区间中的数字之和一定不大于前一个区间中的数字之和。 求最多可以分成多少个区间。 除了f[ i] ,再记一个 g[i] ,表示最大序列和( 以i结尾) f [i] =max( f[j]+1) , j<i , g [j] < s[i]-s[j] #in 阅读全文
posted @ 2023-03-03 21:46 towboat 阅读(5) 评论(0) 推荐(0)
摘要: 动态查询区间中位数 对顶堆,上面一个大根堆,下面小根堆,因此数值从上到下递增 不断交换堆顶的元素,使得abs(sz1-sz2)<=1 #include <iostream> #include <algorithm> #include <queue> #include <cmath> using na 阅读全文
posted @ 2023-03-03 17:36 towboat 阅读(30) 评论(0) 推荐(0)
摘要: 坐标纸的 1~n 行,每一整数行有一条线段 [ x,y ] , 从( n,m ) 每次往下掉,碰到线段就向端点跑,然后继续掉 问到达(0,0) 最小的水平移动距离 f[i][0] = min(f[j][0] + abs(L[i] - L[j]), f[j][1] + abs(L[i] - R[j]) 阅读全文
posted @ 2023-03-03 15:17 towboat 阅读(30) 评论(0) 推荐(0)
  2023年3月2日
摘要: 只要某数字的十进制表示中有三个连续的 6 ,古代人也认为这是个魔鬼的数,比如 666,1666,6663,16666,6660666 古代典籍中经常用“第X小的魔鬼的数”来指代这些数, 输入XX ,输出对应的第X个魔鬼数 二分 X ,看1~X 有几个这样的数,以此检验 #include <iostr 阅读全文
posted @ 2023-03-02 22:00 towboat 阅读(25) 评论(0) 推荐(0)
上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 54 下一页