上一页 1 2 3 4 5 6 7 8 ··· 11 下一页
摘要: 有一根长度为n的木棍,从0到n标记了若干个位置。给定一个数组cuts[m],表示要在cuts[i]位置切开,每次切割的成本是当前木棍的长度,求总成本的最小值。 2<=n<=1e6; 1<=m<=min(n-1,100); 1<=cuts[i]<=n-1; cuts[i]各不相同 正向思考的话可以记忆 阅读全文
posted @ 2024-03-21 22:09 chenfy27 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 给定长为n的字符串s,每次操作可以在字符串的任意位置插入任意1个字符,如果要让s成为回文串,至少要操作多少次? 1<=n<=500 区间dp,记dp[i][j]表示让[i,j]区间成为回文串的最少操作次数,考虑s[i]与s[j]的相等关系进行转移。 class Solution { public: 阅读全文
posted @ 2024-03-21 21:34 chenfy27 阅读(4) 评论(0) 推荐(0) 编辑
摘要: A从1到n之间选择一个数字让B来猜,假设B猜数字x,如果猜对,直接结束;否则B需要支付金额x,然后A告诉B小了或者大了并继续猜。给定数字n,问能确保获胜的最小现金,无论A选择哪个数字。 1<=n<=200 区间dp,记dp[i][j]表示区间为[i,j]时获胜所需的最小现金,枚举每次猜的数字k,考虑 阅读全文
posted @ 2024-03-21 21:28 chenfy27 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 给出两个字符串word1和word2,需要从word1和word2分别选出某个非空子序列s1和s2,要求连接s1与s2后得到回文串,求该回文串的最大长度。 word1和word2长度在[1,1000]内。 区间dp,将word1与word2拼接起来,转换成求单个字符串的的最长回文子序列问题,为了保证 阅读全文
posted @ 2024-03-21 21:04 chenfy27 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 给定长度为n的字符串s,求最长回文子序列的长度。 1<=n<=1000 区间dp,记dp[i][j]表示区间[i,j]能构成的最长回文串的长度,根据s[i]跟s[j]是否相等进行转移。 class Solution { public: int dp[1005][1005]; int longestP 阅读全文
posted @ 2024-03-21 20:50 chenfy27 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 给定数组nums[n],定义f(arr,val)表示数组arr中大于val的元素个数,需要操作n次将nums分配到两个数组里,具体如下: 第1次操作将nums[1]追加到arr1,第2次操作将nums[2]追加到arr2 后续第i次操作: 如果f(arr1,nums[i]) > f(arr2,num 阅读全文
posted @ 2024-03-20 21:36 chenfy27 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 有n天,每天出勤可以是缺勤,迟到或正常,要求总缺勤天数少于两天,且不存在连续3天及以上的迟到,问有多少种可行的情况?结果对1e9+7取模。 1<=n<=1e5 记数类dp问题,用刷表法好写点,即假设当前为第i天,已缺勤j天,已连续迟到k天,方案数为dp[i][j][k],再分别枚举接下的一天选择什么 阅读全文
posted @ 2024-03-20 20:58 chenfy27 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 给出一个有n个数的序列,下标0 ~ n-1,有Q次查询,每次询问区间[l,r]的最大值。 如果有修改,可以考虑线段树,这里只有静态查询,可以用ST表,预处理时间O(nlogn),单次查询时间O(1)。 #include <bits/stdc++.h> using namespace std; #de 阅读全文
posted @ 2024-03-19 22:28 chenfy27 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 给定一颗n个节点的树,根节点编号为1,有Q组询问,每次给定一对节点编号(x,y),求(x,y)的最近公共祖先。 求LCA有多种方法,这里给的是倍增法,预处理时间O(nlogn),单次查询时间O(logn),支持在线。 #include <bits/stdc++.h> using namespace 阅读全文
posted @ 2024-03-19 22:21 chenfy27 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 给出未来n天的股票交易价格p[i],每天可以选择买入1个单位、卖出1个单位、或者不交易。最初手里没有股票和无限资金,问n天结束后的最大获利。注意,n天结束后手里的股票价值为0。 1<=n<=2e5; 1<=p[i]<=1e9 反悔贪心,如果当天有利可图就卖出,同时买入当天股票,后面再涨就再卖出,相当 阅读全文
posted @ 2024-03-18 23:09 chenfy27 阅读(2) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 11 下一页