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

横店建设网站网站建设客户管理系统

横店建设网站,网站建设客户管理系统,郴州网络推广服务,深圳建设怎么样题目链接 CodeForce 455A. Boredom 思路 因为跟序列的下标无关,所以先对数组a排个序。那么每次选择只会影响两侧的元素。 记号 令dp[i]dp[i]dp[i]表示排序后a[1..i]a[1..i]a[1..i]能够获得的最大点数。 但是这样不足以区分是否当前元素可以被使用,所…

题目链接

CodeForce 455A. Boredom

思路

因为跟序列的下标无关,所以先对数组a排个序。那么每次选择只会影响两侧的元素。

记号

dp[i]dp[i]dp[i]表示排序后a[1..i]a[1..i]a[1..i]能够获得的最大点数。
但是这样不足以区分是否当前元素可以被使用,所以再开一个维度,
令:
dp[i][0]dp[i][0]dp[i][0]表示我们无法使用当前元素a[i]a[i]a[i]所获得的最大点数。
dp[i][1]dp[i][1]dp[i][1]表示我们使用当前元素a[i]a[i]a[i]能够获得的最大点数。
那么对相邻的两个元素讨论即可。

状态转移方程

对于a[i] > a[i-1] + 1
那么当前选择不会影响到之前的点数。所以
dp[i][1]=max(dp[i−1][0],dp[i−1][1])+a[i]dp[i][1] = max(dp[i-1][0],dp[i-1][1]) + a[i]dp[i][1]=max(dp[i1][0],dp[i1][1])+a[i]
对于a[i] == a[i-1]+1

  1. 若此时选择a[i],则与a[i-1]相等的都不能被选中。j是最大满足a[j] < a[i-1]的下标j,那么dp[i][1]=dp[j]+a[i]dp[i][1] = dp[j] + a[i]dp[i][1]=dp[j]+a[i]
  2. 若此时不选择a[i],那么当然得选择a[i-1]才会更好。故dp[i][0]=dp[i−1][1]dp[i][0]=dp[i-1][1]dp[i][0]=dp[i1][1]
    对于a[i] == a[i-1],那么当a[i-1]不能被选择时,a[i]也不能被选择。反之亦然。
    故有dp[i][0]=dp[i−1][0]dp[i][1]=dp[i−1][1]+a[i]dp[i][0]=dp[i-1][0] \\dp[i][1] = dp[i-1][1] + a[i] dp[i][0]=dp[i1][0]dp[i][1]=dp[i1][1]+a[i]

代码

#include<bits/stdc++.h>using namespace std;typedef long long LL;
vector<LL> a;int main() {int n;cin >> n;a.resize(n + 1);for (int i = 1; i <= n; ++i) {cin >> a[i];}sort(a.begin() + 1, a.end());vector<vector<LL>> dp(n + 1, vector<LL>(2));dp[1][1] = a[1];for (int i = 2; i <= n; ++i) {if (a[i] > a[i - 1] + 1) {// dp[i][1]表示使用了当前元素dp[i][1] = max(dp[i - 1][0], dp[i - 1][1]) + a[i];} else {if (a[i] == a[i - 1] + 1) {// the prev of first element equal to a[i-1]int j = lower_bound(a.begin() + 1, a.begin() + i, a[i - 1]) - a.begin() - 1;dp[i][1] = max(dp[j][1], dp[j][0]) + a[i];dp[i][0] = dp[i - 1][1];} else if (a[i] == a[i - 1]) {dp[i][0] = dp[i - 1][0];dp[i][1] = dp[i - 1][1] + a[i];}}
//        printf("dp[%d]=%d\n", i, max(dp[i][0], dp[i][1]));}cout << max(dp[n][0], dp[n][1]);
}
http://www.bjxfkj.com.cn/article/109123.html

相关文章:

  • 国外有哪些做建筑材料的网站网站建设的基本原则
  • 做网站一般的尺寸呼伦贝尔寰宇网站建设
  • 广东广州免费建站三把火科技网站设计
  • 网站运营管理办法微客通达推广引流
  • 做网站有多难国外网站能否做百科参考资料
  • 淘宝客网站主机非法网站开发者刑事责任
  • 蛋糕网站建设影视采集网站怎么做收录
  • 北京seo网站推广费用17一起做网店网站潮汕
  • 淮安企业网站建设大气的网站首页
  • 企业宣传网站多大主机多站点wordpress安装
  • 网站建站行业新闻wordpress tipton
  • 微信公众号的网站企业网站推广的方法有( )
  • 用ps做个人网站界面手机中国第一手机门户
  • 网站兼容手机代码企业网络推广公司
  • 设计投稿网站张家港网站开发制作
  • 信用中国 网站 支持建设怎样用编程语言做网站
  • 做网站的收钱不管了重庆自助建站模板
  • 图书馆建设网站需要哪些费用南宁微信网站制作
  • 高端网站建设的网站html语言
  • 茂名营销型网站建设重庆信息网
  • 网站优化设计做网站服务器硬盘多大
  • iapp如何用网站做软件seo网站推广排名
  • 中铁建设门户网站高端网站建设高端网站建设专家
  • 手机搭建网站教程wordpress 大数据备份
  • 健康网站可以做推广吗移动版网站怎么做
  • 重庆企业网站备案要多久时间休闲文化网站
  • 免费拥有自己的网站如何搭建自己的网站服务器
  • 加盟产品网站建设方案肇庆住房和城乡建设部网站
  • 西安SEO网站建设哪家好大气集团网站
  • 北京公司响应式网站建设价位企业网站内容是什么