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

网购哪个平台能买到正品重庆seo论

网购哪个平台能买到正品,重庆seo论,威海哪里做网站,虚拟商品交易网站建设C. Maximum Set 思路: 我们求最大数组,显然是L一直乘2,直到再乘2就越过区间位置。我们说过,再乘一个2就不行,那么我们除一个2,换句话说,就是再乘一个4就不行了。发现,我们可能有机会乘一个3&a…

C. Maximum Set

思路:

  1. 我们求最大数组,显然是L一直乘2,直到再乘2就越过区间位置。
  2. 我们说过,再乘一个2就不行,那么我们除一个2,换句话说,就是再乘一个4就不行了。
  3. 发现,我们可能有机会乘一个3,2<3<4
  4. 而且,我们至多乘一个3。(除去一个2,必须乘一个数,该数小于4并且大于2,才能使得除去2后再乘一个数,保证数组大小不变)
  5. 所以我们首先求出只由2的倍数组成的最大size,然后再求出插入一个3的情况(而对于每一组,3是可以放在除了第一个数的其他位置上的,所以每一组都有size种情况)
#include <bits/stdc++.h>
using namespace std;
#define ll     long long
const int mod = 998244353;int main()
{std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int t;cin >> t;while (t--){int l, r;cin >> l >> r;int k = 0;while ((1 << k)*l <= r)++k; //k为可以乘的2的个数--k;ll ans = (r >> k) - l + 1; //当前ans为可以只乘2获得k+1个数的数if (k > 0){int cnt = (r >> (k - 1)) / 3 - l + 1;//少乘一个2,多乘一个3cnt = max(0, cnt); //cnt可能小于0ans = (ans + cnt * k % mod) % mod;}cout << k + 1 << ' ' << ans << endl;}return 0;
}

D. Maximum Subarray

思路:

  1. 先不考虑修改值x的影响
    1. 求n个数字的最大连续子串和,因为是连续的。我们可以用dp[i]表示包含i的最大连续子串,那么结果就是max(dp[i])。
    2. 如果我们已经知道dp[i-1],显然dp[i]=max( 0,dp[i-1] )  +a[i]。(dp[i-1]不一定是正数,如果是,我取你这个连续段,不是就不要)
  2. 考虑x后,题目要求给整个数组加m个x,减去n-m个x。
    1. 我们每次更新时,都要考虑当前数组加了几个x,如果已经加了m个,那我们这次就不是a[i]加x而是减x了。如果小于m个,那就还是a[i]+x。
    2. 所以我们设dp[i][j]表示包含第i个数字的前i个数字的最大连续子串和(其中给前i个数字加了且只加了jx。那么最大答案就是max(dp[i][j])
    3. 我们由2.1得出,求dp[i][j]是需要分类讨论的:
      1. 对于dp[i-1][j](即j<i时)我们规定了只加j个x,那么我们更新时,a[i]要减x。所以dp[i][j]=max(0,dp[i-1][j])+a[i]-x(注意,我可以不要dp[i-1][j]这段子串和,但是我前i-1个还是有j个数字加了x)
      2. 如果继承dp[i-1][j-1],那么我们a[i]+x,  dp[i][j]=max( dp[i][j],   max(0, dp[i-1][j-1])   +a[i] + x)
  3. 注意,题目要求必须加m个x,所以我们j不是都从0开始的,假如你dp[i][j]更新,那么后面还有max(0,m-j)个数字需要加上x,那么我们必须保证剩下的n-i个数字够加,即j+n-i>=m,所以j>=max(0,m-n+i)&&j<=m&&j<=i
#include <bits/stdc++.h>
using namespace std;
#define ll     long long
const int N = 2e5 + 10;ll dp[N][25];
int a[N];int main()
{std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int t;cin >> t;while (t--){int n, m, x;cin >> n >> m >> x;for (int i = 1; i <= n; ++i)cin >> a[i];for (int i = 0; i <= n; ++i)for (int j = 0; j <= m; ++j)dp[i][j] = 0;ll ans = 0;for (int i = 1; i <= n; ++i)for (int j = max(0, m - n + i); j <= m && j <= i; ++j){if (j < i)dp[i][j] = max(0ll, dp[i - 1][j]) + a[i] - x;//j<i就有此更新,j==i则不用,因为前面最多更新j-1个if (j)dp[i][j] = max(dp[i][j], max(0ll, dp[i - 1][j - 1])+ a[i] + x);ans = max(ans, dp[i][j]);//答案就是max(dp[i][j]),不是dp[i][m],不要求m个都在我的最大连续子串和范围内更新}cout << ans << endl;}return 0;
}

http://www.hkea.cn/news/761306/

相关文章:

  • 申请空间 建立网站吗西安百度推广运营
  • 做花馍网站百度联盟
  • 沈阳建设企业网站google浏览器官网
  • 毕业论文 网站开发营销qq下载
  • 建网站要多长时间外贸网站优化
  • 苹果网站做的好的点电脑培训网上免费课程
  • 做网站开源互联网优化是什么意思
  • 模仿做网站b站上海热点新闻
  • phpcmsv9网站地图地推的60种方法
  • 湖南手机版建站系统哪个好百度网盘app怎么打开链接
  • asp网站开发的实训报告电商营销推广有哪些?
  • 交互设计流程外贸网站优化公司
  • 网络营销网站策划个人网站seo入门
  • 云南省网站备案要求全渠道营销的概念
  • 装修网站合作平台有哪些torrentkitty磁力猫
  • 大理网站开发长春seo结算
  • 西双版纳疫情最新情况seo营销的概念
  • 网站推广seo蜘蛛屯优化排名模板建网站价格
  • 怎样建设公司网站小程序b2b网站大全免费
  • 百度抓取不到网站百度识图搜索图片来源
  • 企业网站栏目规划的重要性网络营销的概述
  • 公司网站建设找谁做免费发布推广信息网站
  • 虚拟币网站开发seo百度关键字优化
  • 网站建设都 包括哪些淄博网站制作
  • 自己做装修网站南宁百度推广seo
  • 品牌建设浅谈seo网络营销外包
  • 昆山网站建设兼职千锋教育的官网
  • cm域名做网站盘古百晋广告营销是干嘛
  • 网站栏目策划企业网络营销方案
  • 网站自动采集指标sem广告投放是做什么的