博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二分答案经典入门题:)
阅读量:6427 次
发布时间:2019-06-23

本文共 1889 字,大约阅读时间需要 6 分钟。

LuoguP1024  一元三次方程求解

因为根与根之间的差不超过1,所以我们就可以分段枚举,又已知根的取值范围是[-100,100],于是就很简单啦QWQ

xiu~代码走起——

1 #include
2 double a,b,c,d; 3 double count(double x){
//计算函数值 4 return a*x*x*x+b*x*x+c*x+d; 5 } 6 int main(){ 7 double l,r,mid,x1,x2; 8 int tot=0,i; 9 scanf("%lf%lf%lf%lf",&a,&b,&c,&d);10 for (i=-100;i<100;i++){11 l=i; 12 r=i+1;//两根之间差值不超过113 x1=count(l); 14 x2=count(r);15 if(x1==0){16 printf("%.2lf ",l); 17 tot++;//记录根的数量,总共3个18 }19 if(x1*x2<0){20 while(r-l>=0.001){
//实数比较,相当于r>=l21 mid=(l+r)/2;22 if(count(mid)*count(r)<=0) 23 l=mid; 24 else 25 r=mid; 26 }27 printf("%.2lf ",r);28 tot++;29 }30 if (tot==3) 31 break;32 }33 return 0;34 }

LuoguP2678  跳石头

一看到求最小的最大就知道这是二分答案经典题。

直接二分枚举答案也就是最短跳跃距离,然后判断需要挪走的石头数量是否合法,恩就酱紫直接上代码吧

1 #include
2 using namespace std; 3 int l,n,m,d[50002]; 4 int fr(){ 5 int w=0,q=1; 6 char ch=getchar(); 7 while((ch<'0'||ch>'9')&&ch!='-') ch=getchar(); 8 if(ch=='-') q=-1; 9 while(ch<='9'&&ch>='0') w=w*10+ch-'0',ch=getchar();10 return w*q;11 }12 int maxn=0;13 bool pd(int x){14 int now=0,num=0,next=0;15 while(next
m) return 0;//需要移走的石头数量>最多可以移走的石头数量则显然不合法22 else return 1;23 }24 int main(){25 l=fr();n=fr();m=fr();26 for(int i=1;i<=n;i++)27 d[i]=fr();28 d[n+1]=l;//注意第n+1块石头的距离才是l29 int L=1,R=l;//注意一下左右端点的初始值,要符合题目的要求30 while(L<=R){31 int mid=(L+R)/2;32 if(pd(mid)){33 L=mid+1;34 maxn=mid;//记录最大的答案35 }36 else R=mid-1;37 }38 printf("%d",maxn);39 return 0;40 }

 

转载于:https://www.cnblogs.com/THWZF/p/10368508.html

你可能感兴趣的文章
带你Python入门,踏进人工智能领域
查看>>
core data 基础操作
查看>>
手机共享电脑网络
查看>>
ORM框架Hibernate (四) 一对一单向、双向关联映射
查看>>
20140616 科技脉搏 -最大颠覆来自创业公司与边缘产业
查看>>
UVAoj 11324 - The Largest Clique(tarjan + dp)
查看>>
offsetLeft, offsetTop以及postion().left , postion().top有神马区别
查看>>
visual studio 中GIT的用法
查看>>
数据库中触发器before与after认识
查看>>
手动露天广场和立方体
查看>>
随机选择
查看>>
【Java并发编程三】闭锁
查看>>
分布式事务中遇到的 “与基础事务管理器的通信失败”的解决方法
查看>>
让你的Git水平更上一层楼的10个小贴士
查看>>
c++ string 之 find_first_not_of 源码
查看>>
mybatis中的#和$的区别
查看>>
ubuntu下搭建NDK环境
查看>>
MessageDigest简单介绍
查看>>
webpack window 使用sass来编译css样式
查看>>
D3 & Data Visualization in Ext JS
查看>>