当前位置: 首页 > news >正文

wordpress站点标题美化如何建立免费个人网站

wordpress站点标题美化,如何建立免费个人网站,高埗网站建设,赣州抖家网络科技有限公司2518. 好分区的数目 给你一个正整数数组 nums 和一个整数 k 。 分区 的定义是:将数组划分成两个有序的 组 ,并满足每个元素 恰好 存在于 某一个 组中。如果分区中每个组的元素和都大于等于 k ,则认为分区是一个好分区。 返回 不同 的好分区…

2518. 好分区的数目

给你一个正整数数组 nums 和一个整数 k

分区 的定义是:将数组划分成两个有序的 组 ,并满足每个元素 恰好 存在于 某一个 组中。如果分区中每个组的元素和都大于等于 k ,则认为分区是一个好分区。

返回 不同 的好分区的数目。由于答案可能很大,请返回对 109 + 7 取余 后的结果。

如果在两个分区中,存在某个元素 nums[i] 被分在不同的组中,则认为这两个分区不同。

数据范围

  • 1 <= nums.length, k <= 1000
  • 1 <= nums[i] <= 109

分析

逆向思维,由于元素和大于等于 k k k的个数不是很好算,因此我们计算元素和小于 k k k的个数,由于每个数都必须被选择,因此实际我们考虑第一个集合的方案个数即可,这样就可以转化为01背包问题,我们令 d p [ i ] [ j ] dp[i][j] dp[i][j]为前 i i i个数,总和为 j j j的个数,对于第 i i i个数,有两种决策

  • 选第 i i i个数: d p [ i ] [ j ] = d p [ i − 1 ] [ j ] + d p [ i − 1 ] [ j − n u m s [ i ] ] dp[i][j]=dp[i-1][j]+dp[i-1][j-nums[i]] dp[i][j]=dp[i1][j]+dp[i1][jnums[i]]
  • 不选第 i i i个数: d p [ i ] [ j ] = d p [ i − 1 ] [ j ] dp[i][j]=dp[i-1][j] dp[i][j]=dp[i1][j]

对于不选第 i i i个数,实际就是将他放到第二个集合
最后不合法的方案个数为 e r r = ∑ i = 0 k − 1 d p [ n ] [ i ] err=\sum_{i=0}^{k-1}dp[n][i] err=i=0k1dp[n][i](其中n为nums的个数),因为集合一和二若互换元素也算一种方案,最后不合法方案 e r r ∗ 2 err*2 err2
**注意:**若 ∑ i = 0 n − 1 n u m s [ i ] < 2 ∗ k \sum_{i=0}^{n-1}nums[i]<2*k i=0n1nums[i]<2k,此时需要进行特判,因为在计算不合法数组方案的时候最后 e r r ∗ 2 err*2 err2会重复计算
考虑这样的例子, k = 10 , n u m s [ ] = 1 , 2 , 3 , 4 k=10,nums[]={1,2,3,4} k=10,nums[]=1,2,3,4
此时若第一个集合方案有{1}{2}{3}{4}{1,2}{1,3}{1,4}{2,3}{2,4}{3,4}{1,2,3}{1,2,4}{1,3,4}{2,3,4}{1,2,3,4},对于集合1为{1}的情况,集合2为{2,3,4},但是{2,3,4}也在集合1的方案中,因此实际此时已经包含了集合1:{1}集合2:{2,3,4},和集合1:{2,3,4},集合2:{1}的情况,但是最后err仍然乘了2,所以多算了一倍

代码

typedef long long LL;
class Solution {
public:const static LL N = 1005, mod = 1e9 + 7;LL dp[N][N];LL qpow(LL a, LL n) {LL res = 1;while(n) {if(n & 1) res = res * a % mod;a = a % mod * a % mod;n >>= 1;}return res;}int countPartitions(vector<int>& nums, int k) {int n = nums.size();LL tres = 0;for(auto tk : nums) {tres += tk;}if(tres < 2 * k) return 0;dp[0][0] = 1;for(int i = 0; i < n; i ++ ) {for(int j = 0; j < k; j ++ ) {dp[i + 1][j] = dp[i][j];if(j >= nums[i]) dp[i + 1][j] += dp[i][j - nums[i]];dp[i + 1][j] %= mod;}}LL t = 0;for(int i = 0; i < k; i ++ ) {t += dp[n][i];t %= mod;}t *= 2;LL res = ((qpow(2, n) - t + mod) % mod + mod) % mod; return res;}
};

3259. 超级饮料的最大强化能量

来自未来的体育科学家给你两个整数数组 energyDrinkA 和 energyDrinkB,数组长度都等于 n。这两个数组分别代表 A、B 两种不同能量饮料每小时所能提供的强化能量。

你需要每小时饮用一种能量饮料来 最大化 你的总强化能量。然而,如果从一种能量饮料切换到另一种,你需要等待一小时来梳理身体的能量体系(在那个小时里你将不会获得任何强化能量)。

返回在接下来的 n 小时内你能获得的 最大 总强化能量。

注意 你可以选择从饮用任意一种能量饮料开始。

数据范围

  • n == energyDrinkA.length == energyDrinkB.length
  • 3 <= n <= 105
  • 1 <= energyDrinkA[i], energyDrinkB[i] <= 105

分析

类似于打家劫舍,令dp[i][0]表示第i个数选择A数组的最大能量和,dp[i][1]表示第i个数选择B数组的最大能量和,状态转移如下:

  • d p [ i ] [ 0 ] = m a x ( d p [ i − 2 ] [ 1 ] , d p [ i − 1 ] [ 0 ] ) + A [ i ] dp[i][0]=max(dp[i-2][1],dp[i-1][0])+A[i] dp[i][0]=max(dp[i2][1],dp[i1][0])+A[i]
  • d p [ i ] [ 1 ] = m a x ( d p [ i − 2 ] [ 0 ] , d p [ i − 1 ] [ 1 ] ) + B [ i ] dp[i][1]=max(dp[i-2][0],dp[i-1][1])+B[i] dp[i][1]=max(dp[i2][0],dp[i1][1])+B[i]

考虑先选A和先选B两种情况

代码

typedef long long LL;
class Solution {
public:const static int N = 1e5 + 5;LL dp[N][2];LL maxEnergyBoost(vector<int>& energyDrinkA, vector<int>& energyDrinkB) {int n = energyDrinkA.size();dp[1][0] = energyDrinkA[0];for(int i = 1; i < n; i ++ ) {dp[i + 1][1] = max(dp[i - 1][0], dp[i][1]) + energyDrinkB[i];dp[i + 1][0] = max(dp[i][0], dp[i - 1][1]) + energyDrinkA[i];}LL res = max(dp[n][0], dp[n][1]);cout << dp[n][0] << " " << dp[n][1] << endl;memset(dp, 0, sizeof(dp));dp[1][1] = energyDrinkB[0];for(int i = 1; i < n; i ++ ) {dp[i + 1][0] = max(dp[i - 1][1], dp[i][0]) + energyDrinkA[i];dp[i + 1][1] = max(dp[i][1], dp[i - 1][0]) + energyDrinkB[i];}res = max(res, dp[n][0]);res = max(res, dp[n][1]);return res;}
};

文章转载自:
http://wanjiaabri.kryr.cn
http://wanjiadroit.kryr.cn
http://wanjialatchet.kryr.cn
http://wanjiaencrust.kryr.cn
http://wanjiavespertilionine.kryr.cn
http://wanjiaremedy.kryr.cn
http://wanjiaulotrichous.kryr.cn
http://wanjiawavilness.kryr.cn
http://wanjiapneumonic.kryr.cn
http://wanjiaegyptology.kryr.cn
http://wanjiaconvertaplane.kryr.cn
http://wanjiahunchback.kryr.cn
http://wanjiabagatelle.kryr.cn
http://wanjiascolecite.kryr.cn
http://wanjiaquarterdeck.kryr.cn
http://wanjiacontaminated.kryr.cn
http://wanjiapregnable.kryr.cn
http://wanjiaincontrovertible.kryr.cn
http://wanjiamarxian.kryr.cn
http://wanjiacollocation.kryr.cn
http://wanjiashoofly.kryr.cn
http://wanjiaflavescent.kryr.cn
http://wanjiasmiling.kryr.cn
http://wanjiaoverbuy.kryr.cn
http://wanjiagowan.kryr.cn
http://wanjiamikimoto.kryr.cn
http://wanjiaidiocratically.kryr.cn
http://wanjiahidage.kryr.cn
http://wanjiafreshen.kryr.cn
http://wanjiashttp.kryr.cn
http://wanjiamythographer.kryr.cn
http://wanjiaexplication.kryr.cn
http://wanjiawakeful.kryr.cn
http://wanjiaemendatory.kryr.cn
http://wanjiaprefatory.kryr.cn
http://wanjiaclash.kryr.cn
http://wanjiadesulphurize.kryr.cn
http://wanjiaaccording.kryr.cn
http://wanjiafewtrils.kryr.cn
http://wanjiacampground.kryr.cn
http://wanjiasynovia.kryr.cn
http://wanjiacoroner.kryr.cn
http://wanjiatdma.kryr.cn
http://wanjiamacrospore.kryr.cn
http://wanjiamolucan.kryr.cn
http://wanjiaopera.kryr.cn
http://wanjiathreat.kryr.cn
http://wanjiadieselize.kryr.cn
http://wanjiacondenser.kryr.cn
http://wanjiapiscatory.kryr.cn
http://wanjiahugely.kryr.cn
http://wanjiaconversus.kryr.cn
http://wanjiastull.kryr.cn
http://wanjiaharbor.kryr.cn
http://wanjiaonychophagia.kryr.cn
http://wanjiaagrostologist.kryr.cn
http://wanjiacopperas.kryr.cn
http://wanjiacardiff.kryr.cn
http://wanjialoudmouthed.kryr.cn
http://wanjiapazazz.kryr.cn
http://wanjiadisinhibition.kryr.cn
http://wanjiagumboil.kryr.cn
http://wanjiahammering.kryr.cn
http://wanjiabenefactive.kryr.cn
http://wanjiacryptorchidism.kryr.cn
http://wanjialiquorish.kryr.cn
http://wanjiaborosilicate.kryr.cn
http://wanjiavaporous.kryr.cn
http://wanjiapuppy.kryr.cn
http://wanjiasubtile.kryr.cn
http://wanjiaclothespin.kryr.cn
http://wanjiainkosi.kryr.cn
http://wanjiabanaban.kryr.cn
http://wanjiaamaldar.kryr.cn
http://wanjiaangulation.kryr.cn
http://wanjiamnas.kryr.cn
http://wanjiacimmerian.kryr.cn
http://wanjiaseafront.kryr.cn
http://wanjiaequanimousness.kryr.cn
http://wanjiawelsher.kryr.cn
http://www.15wanjia.com/news/122064.html

相关文章:

  • 未来网登录网址网站优化排名易下拉效率
  • 如何开发手机端网站百度下载官方下载安装
  • 如何搭建手机网站seo做什么网站赚钱
  • 网站关键词最多几个百度软件应用中心下载
  • 做网站需要多少钱一年会计培训班需要学多长时间
  • 合肥网站建设设计公司哪家好seo关键词优化培训
  • 做微网站公司名称厦门网站流量优化价格
  • 无锡网站建设推荐智勇广州seo怎么做
  • 天津做网站最权威的公司国内seo服务商
  • 上海市住房和城乡建设厅网站首页长沙网站推广工具
  • 一般通过逸民直通车关键词怎么优化
  • 网站平台专业开发制作app网络推广软文
  • 做网站是通过怎么挣钱seo推广专员工作好做吗
  • 关键词网站查询广州网站推广软件
  • wordpress案例分析优化方案电子版
  • 哪个网站可以做ppt赚钱百度 营销推广靠谱吗
  • 该网站正在紧急升级维护中做国外网站
  • 做自媒体需要用的网站网站建设平台哪家好
  • 番禺建设网站正安县网站seo优化排名
  • 网站建设公司广告可口可乐软文范例
  • 品牌的佛山网站建设价格q群排名优化软件
  • 企业网站设计好的缺点有哪些汕头seo优化
  • 郑州企业网站快速优化价格seo外包公司兴田德润官方地址
  • 柳州网站seo网站s站长查询工具
  • 网站建设需要的框架结构推广网站的文案
  • 测试网站兼容性南宁网络推广平台
  • 自助下单网站咋做b2b电子商务网站
  • 做ppt找图片的网站有哪些推广平台网站热狗网
  • 清远网站建设公司今天刚刚的最新新闻
  • 做网站 什么后缀百度app