前言

回光返照

题目相关

link

题目大意

有KKK天,第III天的A券价值为AIA_IAI​,B券价值为BIB_IBI​,买券的获得A券B券比例为RateIRate_IRateI​,还也可以百分比卖券
必然存在一种最优的买卖方案满足:
每次买进操作使用完所有的人民币;
每次卖出操作卖出所有的金券。

题解

我们发现,所有操作由于给出的保证变成了某天买入然后某天卖出
然后现在发现一种非常方便的大复杂度做法
我们设fif_{i}fi​表示111这天拥有111单位钱,到第iii天时的最大所有价值
我们发现最后答案就是fKf_{K}fK​
考虑转移:
f1=1f_{1}=1f1​=1
fi=max(fi−1,Ratej∗Ai+BiRatej∗Aj+Bj∗fj)f_{i}=max(f_{i-1},\frac{Rate_j*A_i+B_i}{Rate_j*A_j+B_j}*f_{j})fi​=max(fi−1​,Ratej​∗Aj​+Bj​Ratej​∗Ai​+Bi​​∗fj​)
fi/Ai=max(fi−1,Ratej+Bi/AiRatej∗Aj+Bj∗fj)f_{i}/A_i=max(f_{i-1},\frac{Rate_j+B_i/A_i}{Rate_j*A_j+B_j}*f_{j})fi​/Ai​=max(fi−1​,Ratej​∗Aj​+Bj​Ratej​+Bi​/Ai​​∗fj​)
我们发现现在要支持的是给若干三元组(a,b,c)(a,b,c)(a,b,c)每次给出XXX,求(X∗a+b)∗c(X*a+b)*c(X∗a+b)∗c最大值,并加入一个新的三元组(a,b,c)(a,b,c)(a,b,c)
再化简:支持的是给若干二元组(a,b)(a,b)(a,b)每次给出XXX,求X∗a+bX*a+bX∗a+b最大值,并加入一个新的二元组(a,b)(a,b)(a,b)
使用李超线段树即可

总结

鸽了,原本想用cdq分治的

[luogu4027] [NOI2007]货币兑换相关推荐

  1. bzoj千题计划237:bzoj1492: [NOI2007]货币兑换Cash

    http://www.lydsy.com/JudgeOnline/problem.php?id=1492 dp[i] 表示 第i天卖完的最大收益 朴素的dp: 枚举从哪一天买来的在第i天卖掉,或者是不 ...

  2. 【BZOJ1492】[NOI2007]货币兑换Cash 斜率优化+cdq分治

    [BZOJ10492][NOI2007]货币兑换Cash Description 小Y最近在一家金券交易所工作.该金券交易所只发行交易两种金券:A纪念券(以下简称A券)和 B纪念券(以下简称B券).每 ...

  3. 【bzoj 1492】【codevs 1797】 [NOI2007]货币兑换Cash (dp+cdq分治)

    1492: [NOI2007]货币兑换Cash Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 3803  Solved: 1604 [Submit][S ...

  4. P4027 [NOI2007] 货币兑换

    P4027 [NOI2007] 货币兑换 题目描述 小 Y 最近在一家金券交易所工作.该金券交易所只发行交易两种金券:A 纪念券(以下简称 A 券)和 B 纪念券(以下简称 B 券).每个持有金券的顾 ...

  5. [BZOJ1492] [NOI2007]货币兑换Cash 斜率优化+cdq/平衡树维护凸包

    1492: [NOI2007]货币兑换Cash Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 5907  Solved: 2377 [Submit][S ...

  6. BZOJ 1492: [NOI2007]货币兑换Cash [CDQ分治 斜率优化DP]

    传送门 题意:不想写... 扔链接就跑 好吧我回来了 首先发现每次兑换一定是全部兑换,因为你兑换说明有利可图,是为了后面的某一天两种卷的汇率差别明显而兑换 那么一定拿全利啊,一定比多天的组合好 $f[ ...

  7. NOI2007 货币兑换 - CDQ分治斜率优化dp

    斜率优化dp维护一个凸壳.如果\(x, y\)坐标都递增,可以用单调队列,如果只有\(x\)递增,可以在凸壳上二分斜率,如果\(x, y\)都不递增,则需要在凸包中插入,可以用平衡树或cdq分治维护. ...

  8. bzoj1492: [NOI2007]货币兑换Cash

    码了我两个星期的题啊,终于写完了,感觉一半的时间都在调splay,后面写cdq好像轻松一点,cdq码量小一倍,而且又好想(可能是我调的时候理解了)感觉这种黑科技很nb,关键是可以减少细节出错(像我这种 ...

  9. [NOI2007]货币兑换Cash(DP+动态凸包)

    第一次打动态凸包维护dp,感觉学到了超级多的东西. 首先,set是如此的好用!!!可以通过控制一个flag来实现两种查询,维护凸包和查找斜率k 不过就是重载运算符和一些细节方面有些恶心,90行解决 后 ...

最新文章

  1. Lecture 0 --基本说明
  2. (解释)常见的无线路由器采用( A)技术。 A. WiFi B. AP C. UWB D. ZigBee
  3. python 3 最佳python中文书籍下载
  4. OpenCV 数据初始化空间分配
  5. A Simple Math Problem 矩阵打水题
  6. Unreal Engine 4 —— 使用反汇编来确定该进行优化的地方
  7. 修改zepto源代码,使支持wp8的ie10
  8. 严防ARP病毒的六个步骤
  9. [转载] 利用c/c++编写python模块
  10. 解决 could not initialize proxy [com.xxx.xxx.xxx.entity.xxxInfo#1] - no Session
  11. git本地库案例-找回删除的文件
  12. 欧洲杯上链,区块链语境下的数字化有什么不一样?
  13. 播放音乐 锁屏 状态下,看到歌手图片
  14. 如何进行移动端的页面开发?
  15. web常见特效——floor电梯导航
  16. freecodecamp_freeCodeCamp如何使我成为最新的训练营毕业生
  17. 银河麒麟自带PyCharm
  18. CAD转PDF怎么变成彩色?需要注意这个小细节
  19. if (!S.base)exit(OVERFLOW)是什么意思
  20. Flash AS3 截图后生成图片到本地

热门文章

  1. Redis中的I/O 多路复用(I/O Multiplexing)
  2. 使用response的writer
  3. 使用rabbitMQ实现数据同步
  4. Request_共享数据(域对象)
  5. 字符串-拆分和拼接字符串
  6. SpringBoot_日志-日志框架分类和选择
  7. Nginx教程--配置
  8. Android隐藏EditText长按菜单中分享功能探索
  9. (PCB)进程控制块
  10. 针对CMS中的tag标签理解