正题

题目链接:https://cometoj.com/contest/58/problem/C?problem_id=2760


题目大意

若干个数对(ai,bi)(a_i,b_i)(ai​,bi​),总价值为
∑i=1n−1bi∗ai+1\sum_{i=1}^{n-1}b_i*a_{i+1}i=1∑n−1​bi​∗ai+1​

然后可以选择一段区间的二元组将(ai,bi)(a_i,b_i)(ai​,bi​)变为(ai∗k,bi∗k)(a_i*k,b_i*k)(ai​∗k,bi​∗k)。
求最大价值


解题思路

考虑dpdpdp。
用fi,0/1/2f_{i,0/1/2}fi,0/1/2​表示到了第iii个位置,还为选择,正在选择,已经选择完了

然后有动态转移方程
fi,0=fi−1,0+ai∗bi−1f_{i,0}=f_{i-1,0}+a_{i}*b_{i-1}fi,0​=fi−1,0​+ai​∗bi−1​
fi,1=max{fi−1,1+ai∗bi−1∗k∗k,fi−1,0+ai∗bi−1∗k}f_{i,1}=max\{f_{i-1,1}+a_i*b_{i-1}*k*k,f_{i-1,0}+a_i*b_{i-1}*k\}fi,1​=max{fi−1,1​+ai​∗bi−1​∗k∗k,fi−1,0​+ai​∗bi−1​∗k}
fi,2=max{fi−1,1+ai∗bi−1∗k,fi−1,2+ai∗bi−1}f_{i,2}=max\{f_{i-1,1}+a_i*b_{i-1}*k,f_{i-1,2}+a_i*b_i-1\}fi,2​=max{fi−1,1​+ai​∗bi−1​∗k,fi−1,2​+ai​∗bi​−1}

然后ans=max{fn,0,fn,1,fn,2}ans=max\{f_{n,0},f_{n,1},f_{n,2}\}ans=max{fn,0​,fn,1​,fn,2​}


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const ll N=1e5+100;
ll n,k,a[N],b[N],f[N][3];
int main()
{scanf("%lld%lld",&n,&k);memset(f,127,sizeof(f));f[0][0]=0;for(ll i=1;i<=n;i++){scanf("%lld%lld",&a[i],&b[i]);f[i][0]=f[i-1][0]+a[i]*b[i-1];f[i][1]=min(f[i-1][0]+a[i]*b[i-1]*k,f[i-1][1]+a[i]*b[i-1]*k*k);f[i][2]=min(f[i-1][2]+a[i]*b[i-1],f[i-1][1]+a[i]*b[i-1]*k);}printf("%lld",min(f[n][2],min(f[n][1],f[n][0])));
}

Comet OJ(Contest #8)-C符文能量【dp】相关推荐

  1. 符文能量(Comet OJ - Contest #8) C

    给Comet OJ打个小广告,挺好用的,比较简洁,给人感觉很好用 Contest #8是我打的第一场本oj比赛,很遗憾A了前两道傻逼题就没思路了,然后就不打算打了....... https://www ...

  2. Comet OJ - Contest #11 题解赛后总结

    Solution of Comet OJ - Contest #11 A.eon -Problem designed by Starria- 在模 10 意义下,答案变为最大数的最低位(即原数数位的最 ...

  3. Comet OJ - Contest #10 沉鱼落雁

    Comet OJ - Contest #10 沉鱼落雁 题目描述 胖头鱼在苦恼"沉鱼落雁"是什么好吃的东西,这很显然是因为他成语没背够. 于是他决定开始背成语.胖头鱼身为鱼界大佬, ...

  4. ACMer,OIer:Comet OJ Contest #0原创题程序设计大赛邀请!

    比赛邀请 2019年3月31日,Comet OJ主办 Comet OJ Contest #0 ,欢迎广大算法爱好者参加~ 第一名奖品:樱桃G80-3000机械键盘,第二名之后有一定比例的T恤和日系短裙 ...

  5. Comet OJ - Contest #8 E神奇函数(莫比乌斯函数容斥)

    Comet OJ - Contest #8 E神奇函数(莫比乌斯函数容斥) 题目大意 定义d(x)d(x)d(x)的值为x的最小素因子,定义 f(x)={1x=1d(x)f(xd2(x))x>1 ...

  6. Comet OJ - Contest #5 A-E

    题目链接:Comet OJ A.迫真字符串 #include<bits/stdc++.h> using namespace std; const int mx = 2e5+7; int a ...

  7. Comet OJ – Contest #6 – B – 双倍快乐(多进程dp)

    https://www.cometoj.com/contest/48/problem/B?problem_id=2278 同时进行两个互不干涉的dp并将两个dp的结果合并起来,可以解决很多经典的dp问 ...

  8. [Comet OJ - Contest #7 D][52D 2417]机器学习题_斜率优化dp

    机器学习题 题目大意: 数据范围: 题解: 学长说是决策单调性? 直接斜率优化就好了嘛 首先发现的是,$A$和$B$的值必定是某两个$x$值. 那么我们就把,$y$的正负分成两个序列,$val1_i$ ...

  9. 符文能量 //dp

    题目链接:https://cometoj.com/contest/58/problem/C?problem_id=2760 题意:有n个符文石,每个符文石都有两个属性,相邻两个符文石可以合并,并释放一 ...

最新文章

  1. python写出表白_用Python写一个简单的表白-Go语言中文社区
  2. Cannot read property 'nodeType' of null; audio元素默认样式下载按钮
  3. 企业级Java应用最重要的4个性能指标
  4. css background-image 高度自适应_每天一个CSS小技巧 - 内容元素的自适应
  5. 单载波DSP模块介绍
  6. wits数据格式_WITS标准
  7. Unity3D之NGUI基础8:UI锚点与深度
  8. MATLAB代码:基于分时电价条件下家庭能量管理策略研究
  9. python强行终止程序_python终止程序的方法
  10. MATLAB各个产品概述----哪些产品需要安装?哪些产品不需要安装?阅完了然
  11. 路由器常用功能有哪些 路由器功能介绍【详解】
  12. Cartopy理解变换和投影关键字
  13. linux的sssd服务,使用FreeIPA为SS信任用户在SSSD上设置默认登录Shell
  14. SpringMvc+饿了么UI组件+七牛云做图片上传
  15. 利用移动硬盘+路由器搭建局域网云存储
  16. 闪存中的NorFlash、NandFlash及eMMC三者的区别
  17. 超级马里奥项目设计(一)
  18. vsto画箱体图 箱线图 xlboxwhisker
  19. ORACLE各种常见java.sql.SQLException归纳
  20. word转pdf(docx4j)

热门文章

  1. linux文件读保护,Linux Rootkit实现文件保护
  2. java 创建以太坊代币_以太坊 (五)编写智能合约-建立简易加密代币
  3. nginx lua以html显示,nginx 支持lua及lua脚本格式化日志
  4. android中的帧动画,[Android开发] Android中的帧动画
  5. vue ref 绑定的事件需要移除吗_Vue易遗忘的基础复习(二)
  6. java pc计数器_java虚拟机-程序计数器PC Register
  7. 7-6 0-1背包 (20 分)(思路加详解+网格做法+动态规划)Come Baby !!!!!!!!!!!!!!
  8. [汇编语言]实验一:查看CPU和内存,用机器指令和汇编指令编程。
  9. C++substr()用法
  10. 打印最少硬币的组合-dp+记录路径