会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
towboat
博客园
首页
新随笔
联系
管理
订阅
上一页
1
···
25
26
27
28
29
30
31
32
33
···
54
下一页
2023年3月5日
P2679 [NOIP2015 提高组] 子串
摘要: 两个仅包含小写英文字母的字符串 AA 和 BB。 现在要从字符串 AA 中取出 kk 个互不重叠的非空子串,然后把这 kk 个子串按照其在字符串 AA 中出现的顺序依次连接起来得到一个新的字符串。 请问有多少种方案可以使得这个新串与字符串 BB 相等? 注意:子串取出的位置不同也认为是不同的 1)
阅读全文
posted @ 2023-03-05 13:40 towboat
阅读(17)
评论(0)
推荐(0)
2023年3月4日
P3628 [APIO2010] 特别行动队
摘要: 斜率优化还是挺板子的: 考虑 两个变量 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)
AcWing 299. 裁剪序列
摘要: 给定一个长度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)
acwing 298 围栏
摘要: 有 n块木板从左到右排成一行,有m M 个工匠对这些木板进行粉刷,每块木板至多被粉刷一次。 第ii个木匠要么不粉刷,要么粉刷包含木板 pos[ i] 的,长度不超过 c[i] 的连续的一段木板,每粉刷一块可以得到 Y[i] 的报酬。 不同工匠的pos[i] 不同。 如何安排能使工匠们获得的总报酬最多
阅读全文
posted @ 2023-03-04 13:02 towboat
阅读(12)
评论(0)
推荐(0)
acwing 297 赤壁之战
摘要: 给定一个长度为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日
acwing 330. 估算
摘要: 给定一个长度为 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)
acwing 331 干草堆
摘要: 给定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)
P1168 中位数
摘要: 动态查询区间中位数 对顶堆,上面一个大根堆,下面小根堆,因此数值从上到下递增 不断交换堆顶的元素,使得abs(sz1-sz2)<=1 #include <iostream> #include <algorithm> #include <queue> #include <cmath> using na
阅读全文
posted @ 2023-03-03 17:36 towboat
阅读(30)
评论(0)
推荐(0)
acwing 329. 围栏障碍训练场
摘要: 坐标纸的 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日
acwing 310 启示🦌
摘要: 只要某数字的十进制表示中有三个连续的 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
下一页
公告