二分三分法--+++这一天的纪录
今天任务是二分,三分算法,
1--二分法也叫做折半法,次数少,查找速度快,平均性能好;其缺点是就是待查的得为有序表,且插入删除困难。其实这个根据ppt很好理解。就是把区间分为相等的两段。2--三分法---则是把区间分为长度相等的三段,进行查找,其用来确定最值得,其对应的是凸型函数。
http://wenku.baidu.com/link?url=OFYlaKIYR8JQs7CGraxT-eX2-Os-Z5WIgCzZrp6WE8nPs3YioeC7b1ogTpcqSFrSWoALGkPA_5iJDwGogWyy1t4LZ1c4RailMX51i45dctm
A第一个看的那代码
- # include <iostream>
- # include <cstdio>
- # include <cmath>
- # define PI acos(-1)
- using namespace std;
- long long c[11111],s,l,r,mid,ans;
- int N,n,f;
- int judge(){
- int num = 0;
- for (int i(1);i<=n;i++){
- num += c[i]/mid;
- }
- return num>f;
- }
- int main(){
- cin >> N;
- while (N--){
- cin >> n >> f;
- long long s=0,ans=0;
- for (int i(1);i<=n;i++) {
- cin >> c[i];
- c[i] = c[i]*c[i]*PI*1000000;
- s += c[i];
- }
- for (l=0,r=s;l<=r;){
- mid = (l+r)/2;
- if (judge()){
- l=mid+1;
- ans=mid;
- }else{
- r=mid-1;
- }
- }
- printf("%.4lf\n",(double)ans/1000000);
- }
- return 0;
- } 我感觉这道题容易出错的是111for(;;)第三个参数省略了,没看到‘,’222还有我认为他那有1,和L的混了333就是我不知道提的意思,想尝试看代码才意思。
- B第二个能看的懂得代码
- #include<iostream>
- #include<cstdio>
- #include<cmath>
- using namespace std;
- #define eps 1e-6
- #define pi acos (-1.0)
- double data[10000];
- int N,F;
- int dep(double x){
- int cnt=0;
- for(int i=0;i<N;i++){
- cnt+=int(data[i]/x);
- }
- if(cnt>=F)
- return 1;
- else
- return 0;
- }
- int main(){
- int n,i;
- double r;
- double right,sum,left,mid;
- while(~scanf("%d",&n)){
- while(n--){
- sum=0;
- scanf("%d%d",&N,&F);
- for(i=0;i<N;i++){
- scanf("%lf",&r);
- data[i]=r*r*pi;
- sum+=data[i];
- }
- F++;
- left=0;right=sum/F;
- while((right-left)>eps){
- mid=(right+left)/2.0;
- if(dep(mid))
- left=mid;
- else
- right=mid;
- }
- printf("%.4f\n",mid);
- }
- }
- return 0;
- }
- 之后自己改成c的代码,却一直出错,所以不断该啊结果够快改成一样的了还是错,我真傻眼了。。。。
#include<stdio.h>
#define s 1e-6
#define t acos(-1.0)
double ss[10000];
int N,F;
int x(double m)
{
int k=0,i;
for(i=0;i<N;i++)
{
k+=ss[i]/m;
}
if(k>=F)
return 1;
else
return 0;
}
int main()
{
int n,i;
double a;
double b,c,d,e;
while(scanf("%d",&n))
{
while(n--)
{
c=0;
scanf("%d%d",&N,&F);
for(i=0; i<N; i++)
{
scanf("%1f",&a);
ss[i]=a*a*t;
c+=ss[i];
}
F++;
d=0;
b=c/F;
while((b-d)>s)
{
e=(b+d)/2.0;
if(x(e))
d=e;
else
b=e;
}
printf("%.4f\n",e);
}
}
return 0;
}
今天学会1二分法三分发2
你可以在for循环的头部说明你的变量,而且最后一个表达式可以省略,不过要确定在语句中对变量的值有所改变3一定要注意细节!!!!!!
二分法-----概念好理解,但是题并不是很轻松。其实二分法三分法中午就弄明白了,但遇到一道切蛋糕题,当初上课讲过,但啥也听不懂,今天又碰到了,想把它弄明白,当二分法例题,所以下午下课回来就开始从坐在电脑面前找题,想方设法的翻译,结果也没弄明白,就开始上网百度题,找到一些一样的题,结果都是用c++,java,写的,我去,c都不咋地,因为自己现在也对c稍微熟悉一点,后来还是没找到,就找了一个看起来和c差不多的,结果那代码真的是,!!,,不过也怪自己知道的太少了,结果又找原题翻译,这样重复着,又看代码,跟自己较真这,后来又找到个代码,c++的,这个代码容易看好多,于是就自己重新敲了一边,改成c的,,结果还一直报错,真心无语额,,所以今天一做就是八个多小时,这个例子没弄明白,很不甘心,所以还是纪录下给以后的自己。
可能是以前就没有自学过,所以这段时间开始慢慢自学真的挺吃力,感觉每一个小小的--〉都不容易
二分三分法--+++这一天的纪录相关推荐
- 【基础算法】二分法(二分答案,二分查找),三分法,Dinkelbach算法,算法详解+例题剖析
目录 一 . 二分法 二分搜索得要求: 二分查找步骤: 二分答案: 玄学的二分(二分答案) 二 . 三分法 例题 三.01分数规划问题相关算法与题目讲解(二分法与Dinkelbach算法) 一 . 二 ...
- 算法设计 - 二分法和三分法,洛谷P3382
二分法 二分查找:找目标值位置 二分法是一种适用于特殊场景下的分治算法. 这里的特殊场景指的是,二分法需要作用在一个具有单调性的区间内. 比如,我们熟知的二分查找,就是一种二分法的具体实现,二分查找必 ...
- 二分法和三分法的用处和区别
"啊 ,三分你比二分多一分" 最近在做题的时候发现原来还有三分法这个东东,由于本人水平有限知道应该二分可以解决,但是由于最优解的函数并不单调我不知道怎么继续分了.看了题解才发现原来 ...
- 点分治+CDQ分治+整体二分全纪录
点分治 点分治讲解 解决树上路径问题 经典例题:点分治(长度小于m的路径计数) 经典例题:点分治(聪聪可可) 经典例题:点分治(多个定值路径计数) 经典例题:点分治(采药) 经典例题:点分治+ST表+ ...
- 西方的二分法和东方的三分法
最近刚大体弄明白了个道理. 西方的二分法.东方的三分法. 二分法看到了阴阳对立看不到统一,看到了左脚右脚的对立,没看到驱动左脚右脚走正道的意志和统一体.看到了树木看不到森林:看到了细节没看到整体. 非 ...
- 蒟蒻的第一篇博客CF1041C Coffee Break(二分+贪心+set)
CF1041C Coffee Break(二分+贪心+set) 描述 Recently Monocarp got a job. His working day lasts exactly mm min ...
- 0x04.基本算法 — 二分和三分
目录 一.二分 0.二分法 1.整数域上的二分 2.实数域上的二分 二.三分 0.三分求单峰函数极值 1.P3382 [模板]三分法(秦九韶求多项式+三分) 三.二分答案转化为判定 0.经典例子 1. ...
- P3382 【模板】三分法,难度⭐⭐⭐
P3382 [模板]三分法 法1 : 三分法 对于一个二次函数[L,R]内取最值,选取两个点x=(2∗l+r)/3,y=(l+2∗r)/3 若f(x)>f(y),那么[y,R]这一段可以舍弃(一 ...
- 外卖(food) 洛谷4040宅男计划 三分套二分贪心
food评测传送门 [题目描述] 叫外卖是一个技术活,宅男宅女们一直面对着一个很大的矛盾,如何以有限的金钱在宿舍宅得尽量久. 外卖店一共有 N 种食物,每种食物有固定的价钱 Pi 与保质期 S ...
最新文章
- 郎凤娥谈定西实施煤粉锅炉改造项目
- Linux查看可执行文件的各个段:.BSS,.TEXT,.DATA的大小
- 收藏|490页阿里、腾讯、京东等公司的推荐算法最佳实践!pdf限时下载
- 数据库服务器查询格式化显示,在数据库服务器端养成设置NLS_LANG和NLS_DATE_FORMAT环境变量的习惯...
- 使用tensorflow object detection api训练自己的数据集
- group by with cube
- php如何实现记录步数,微信步数获取-PHP后端部分
- mysql和oracle的字符串拼接_Oracle和Mysql中的字符串的拼接
- 国潮风格设计,具象化插画作品|打开你的头脑风暴
- UWP VS创建UWP应用项目
- 终于进了阿里,记录一下我作为一名测试员磕磕碰碰的三个月找工作经历...
- 有什么画ER关系比较好用的软件图?
- QCC3040---Message Broker module
- 光学雨量计对比翻斗式雨量计的优势
- 详解 HTTP 协议报文格式 构造 HTTP 请求
- eclipse配置python django环境_windows下python+Django+eclipse开发环境的配置
- HackTheBox-Jeeves
- 不定式作各种成份和现在分词作各种成份
- math-常见导数公式
- R语言数据分析报错解决办法和有用命令(8.3-8.10)
热门文章
- 魔灯raw视频用MLVapp导出LOG方法
- 云联惠案到底说明了什么?
- 带nfc 的 android 华为,华为手机NFC功能,原来这么好用,不会用真可惜几千块钱了...
- 电力监控系统在城市轨道交通变电所自动化中的应用
- ospf 的cost 与Metric
- 协程大批量爬取是要被封IP的,最优秀的方法就是在被封IP时候立马切换IP
- echarts 柱状图圆柱_echarts柱状图
- 微信小程序:和平精英吃鸡捏脸数据助手微信小程序源码下载支持激励视频
- css用flex实现字体垂直居中对齐
- Andoird+Java开发规范脑图