bzoj1492 [NOI2007]货币兑换Cash
2016-05-24 19:46
211 查看
传送门:[Submit]
本来写了一个详细的题解。。。。。。。。
但是TM博客园不保存。。。。。。
于是我就直接复制论文了吧。。。。
View Code
日常一膜:CYS,CYY,LS,YZW,YWF,OYZX..............
本来写了一个详细的题解。。。。。。。。
但是TM博客园不保存。。。。。。
于是我就直接复制论文了吧。。。。
#include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #include<cmath> #define eps 1e-9 #define inf 0x7fffffff #define ll long long #define N 100005 using namespace std; struct data{double a,b,rate,k,x,y; int id; }q ,t ; double f ; int s ; int n; bool cmp(data a, data b){ return a.k>b.k; } double getk(int a,int b) { if(!b)return -1e20; if(fabs(q[a].x-q[b].x)<eps)return 1e20; return (q[b].y-q[a].y)/(q[b].x-q[a].x); } void solve(int l,int r) { if (l==r) { f[l]=max(f[l],f[l-1]); q[l].y=f[l]/(q[l].b+q[l].rate*q[l].a); q[l].x=q[l].rate*q[l].y; return; } int mid=(l+r)>>1,l1=l,l2=mid+1; for (int i=l; i<=r; i++) if (q[i].id<=mid) t[l1++]=q[i]; else t[l2++]=q[i]; for (int i=l; i<=r; i++) q[i]=t[i]; solve(l,mid); int top=0; for (int i=l; i<=mid; i++) { while (top>1 && getk(s[top-1],s[top]) < getk(s[top-1],i)+eps)top--; s[++top]=i; } s[++top]=0; int j=1; for (int i=mid+1; i<=r; i++) { while (j<top && getk(s[j],s[j+1])+eps > q[i].k) j++; f[q[i].id]=max(f[q[i].id],q[s[j]].x*q[i].a+q[s[j]].y*q[i].b); } solve(mid+1,r); l1=l;l2=mid+1; for (int i=l; i<=r; i++) if ((q[l1].x<q[l2].x || l2>r) && l1<=mid) t[i]=q[l1++]; else t[i]=q[l2++]; for (int i=l; i<=r; i++) q[i]=t[i]; } int main() { scanf("%d%lf",&n,&f[0]); for (int i=1; i<=n; i++) { scanf("%lf%lf%lf",&q[i].a,&q[i].b,&q[i].rate); q[i].k=-q[i].a/q[i].b; q[i].id=i; } sort(q+1,q+1+n,cmp); solve(1,n); printf("%0.3lf",f ); }
View Code
日常一膜:CYS,CYY,LS,YZW,YWF,OYZX..............
相关文章推荐
- Session
- 配置linux虚拟机本地yum源
- python爬虫模块安装
- 进程切换
- 遗传算法
- SQL SERVER T-SQL Programming
- 采用Kettle分页处理大数据量抽取任务
- Python中exec的使用
- socket中的虚拟端口号port
- Java集合框架概述
- 线性表——顺序表示
- 【树状数组】NYOJ-116士兵杀敌(二)
- 关于真机模拟器framework和.a合并为通用的方法
- c++实验6,矩阵求和
- 作业0:顺序表的基本操作
- Android中从service中向另外一个应用包跳转的问题
- 借用栈实现表达式的转换与计算
- 快速排序
- java中的sleep()和wait()的区别
- h.264优化笔记