摘要: 给定高为m、宽为n的木块,同时给出prices[i]={h[i],w[i],price[i]},表示高为h[i]、宽为w[i]的木块可以卖得price[i]的钱。切割木块时只能水平或垂直一切到底,木块不能旋转,切割次数不限,求最多能卖多少钱。 1<=m,n<=200; 1<=prices.lengt 阅读全文
posted @ 2024-03-23 20:17 chenfy27 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 给定长度为n且只包含小写字母的字符串word和禁用字符串数组forbidden,如果一个字符串不包含forbidden中的任何字符串,则称其为合法。求word中最长合法子字符串的长度,子字符串可以为空。 1<=n<=1e5; 1<=forbidden.length<=1e5; 1<=forbid[i 阅读全文
posted @ 2024-03-23 20:04 chenfy27 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 给定只包含小写字母的字符串word和整数k,如果s的某个子串中每个字符恰好出现k次,并且相邻字母最多相差2,则称其为完全字符串。求word中完全字符串的数目。 1<=word.length<=1e5; 1<=k<=word.length 预处理出每个字母出现次数的前缀和,这样可以O(1)得到区间[l 阅读全文
posted @ 2024-03-23 19:13 chenfy27 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 给定数组st[n],其中st[i]表示第i座城市的供电数目,每个供电站的供电范围是r,一座城市的电量是所有能给它供电的供电站数目之和,现在还可建k座发电站,求所有城市中最小电量的最大值。 1<=n<=1e5; 0<=st[i]<=1e5; 0<=r<n; 0<=k<=1e9 最大化最小值,或者最小化 阅读全文
posted @ 2024-03-23 13:56 chenfy27 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 给定非负整数数组A[n],返回A的不同排列数目,使用数组每对相邻元素之和是一个完全平方数。 1<=n<=12; 0<=A[i]<=1e9 状压dp,记dp[st][i]表示已选择数的状态为st,并且最后选择数的下标为i的方案数,对于某个状态st,枚举最后选择的数i是哪个,以及上一个最后选择的数j是哪 阅读全文
posted @ 2024-03-23 12:11 chenfy27 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 给出一张由n个点m条边组成的无向图,求所有点对(i,j)之间的最短路。 n<=100; m<=4500; 1<=w<=1000 多源最短路模板题,注意循环顺序是kij,另外可能会有重边,因此两点之间的距离要初始化为inf,读入边权时取最小值。 #include <bits/stdc++.h> usi 阅读全文
posted @ 2024-03-23 11:14 chenfy27 阅读(3) 评论(0) 推荐(0) 编辑