今天任务是二分,三分算法,

1--二分法也叫做折半法,次数少,查找速度快,平均性能好;其缺点是就是待查的得为有序表,且插入删除困难。其实这个根据ppt很好理解。就是把区间分为相等的两段。2--三分法---则是把区间分为长度相等的三段,进行查找,其用来确定最值得,其对应的是凸型函数。

http://wenku.baidu.com/link?url=OFYlaKIYR8JQs7CGraxT-eX2-Os-Z5WIgCzZrp6WE8nPs3YioeC7b1ogTpcqSFrSWoALGkPA_5iJDwGogWyy1t4LZ1c4RailMX51i45dctm

A第一个看的那代码

[cpp] view plaincopyprint?
  1. # include <iostream>  
  2. # include <cstdio>  
  3. # include <cmath>  
  4. # define PI acos(-1)  
  5. using namespace std;  
  6. long long c[11111],s,l,r,mid,ans;  
  7. int N,n,f;  
  8. int judge(){  
  9.     int num = 0;  
  10.     for (int i(1);i<=n;i++){  
  11.         num += c[i]/mid;  
  12.     }  
  13.     return num>f;  
  14. }  
  15. int main(){  
  16.     cin >> N;  
  17.     while (N--){  
  18.         cin >> n >> f;  
  19.         long long s=0,ans=0;  
  20.         for (int i(1);i<=n;i++) {  
  21.             cin >> c[i];  
  22.             c[i] = c[i]*c[i]*PI*1000000;  
  23.             s += c[i];  
  24.         }  
  25.         for (l=0,r=s;l<=r;){  
  26.             mid = (l+r)/2;  
  27.             if (judge()){  
  28.                 l=mid+1;  
  29.                 ans=mid;  
  30.             }else{  
  31.                 r=mid-1;  
  32.             }  
  33.         }  
  34.         printf("%.4lf\n",(double)ans/1000000);  
  35.     }  
  36.     return 0;  
  37. }  我感觉这道题容易出错的是111for(;;)第三个参数省略了,没看到‘,’222还有我认为他那有1,和L的混了333就是我不知道提的意思,想尝试看代码才意思。
  38. B第二个能看的懂得代码
  1. #include<iostream>  
  2. #include<cstdio>  
  3. #include<cmath>  
  4. using namespace std;  
  5. #define eps 1e-6  
  6. #define pi acos (-1.0)  
  7. double data[10000];  
  8. int N,F;  
  9. int dep(double x){  
  10.     int cnt=0;  
  11.     for(int i=0;i<N;i++){  
  12.         cnt+=int(data[i]/x);  
  13.     }  
  14.     if(cnt>=F)  
  15.         return 1;  
  16.     else  
  17.         return 0;  
  18. }  
  19. int main(){  
  20.     int n,i;  
  21.     double r;  
  22.     double right,sum,left,mid;  
  23.     while(~scanf("%d",&n)){  
  24.         while(n--){  
  25.             sum=0;  
  26.             scanf("%d%d",&N,&F);  
  27.             for(i=0;i<N;i++){  
  28.                 scanf("%lf",&r);  
  29.                 data[i]=r*r*pi;  
  30.                 sum+=data[i];  
  31.             }  
  32.             F++;  
  33.             left=0;right=sum/F;  
  34.             while((right-left)>eps){  
  35.                 mid=(right+left)/2.0;  
  36.                 if(dep(mid))  
  37.                      left=mid;  
  38.                 else  
  39.                      right=mid;  
  40.             }  
  41.             printf("%.4f\n",mid);  
  42.         }  
  43.     }  
  44.     return 0;  

  45. 之后自己改成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的,,结果还一直报错,真心无语额,,所以今天一做就是八个多小时,这个例子没弄明白,很不甘心,所以还是纪录下给以后的自己。
可能是以前就没有自学过,所以这段时间开始慢慢自学真的挺吃力,感觉每一个小小的--〉都不容易

二分三分法--+++这一天的纪录相关推荐

  1. 【基础算法】二分法(二分答案,二分查找),三分法,Dinkelbach算法,算法详解+例题剖析

    目录 一 . 二分法 二分搜索得要求: 二分查找步骤: 二分答案: 玄学的二分(二分答案) 二 . 三分法 例题 三.01分数规划问题相关算法与题目讲解(二分法与Dinkelbach算法) 一 . 二 ...

  2. 算法设计 - 二分法和三分法,洛谷P3382

    二分法 二分查找:找目标值位置 二分法是一种适用于特殊场景下的分治算法. 这里的特殊场景指的是,二分法需要作用在一个具有单调性的区间内. 比如,我们熟知的二分查找,就是一种二分法的具体实现,二分查找必 ...

  3. 二分法和三分法的用处和区别

    "啊 ,三分你比二分多一分" 最近在做题的时候发现原来还有三分法这个东东,由于本人水平有限知道应该二分可以解决,但是由于最优解的函数并不单调我不知道怎么继续分了.看了题解才发现原来 ...

  4. 点分治+CDQ分治+整体二分全纪录

    点分治 点分治讲解 解决树上路径问题 经典例题:点分治(长度小于m的路径计数) 经典例题:点分治(聪聪可可) 经典例题:点分治(多个定值路径计数) 经典例题:点分治(采药) 经典例题:点分治+ST表+ ...

  5. 西方的二分法和东方的三分法

    最近刚大体弄明白了个道理. 西方的二分法.东方的三分法. 二分法看到了阴阳对立看不到统一,看到了左脚右脚的对立,没看到驱动左脚右脚走正道的意志和统一体.看到了树木看不到森林:看到了细节没看到整体. 非 ...

  6. 蒟蒻的第一篇博客CF1041C Coffee Break(二分+贪心+set)

    CF1041C Coffee Break(二分+贪心+set) 描述 Recently Monocarp got a job. His working day lasts exactly mm min ...

  7. 0x04.基本算法 — 二分和三分

    目录 一.二分 0.二分法 1.整数域上的二分 2.实数域上的二分 二.三分 0.三分求单峰函数极值 1.P3382 [模板]三分法(秦九韶求多项式+三分) 三.二分答案转化为判定 0.经典例子 1. ...

  8. P3382 【模板】三分法,难度⭐⭐⭐

    P3382 [模板]三分法 法1 : 三分法 对于一个二次函数[L,R]内取最值,选取两个点x=(2∗l+r)/3,y=(l+2∗r)/3 若f(x)>f(y),那么[y,R]这一段可以舍弃(一 ...

  9. 外卖(food) 洛谷4040宅男计划 三分套二分贪心

    food评测传送门 [题目描述] 叫外卖是一个技术活,宅男宅女们一直面对着一个很大的矛盾,如何以有限的金钱在宿舍宅得尽量久.     外卖店一共有 N 种食物,每种食物有固定的价钱 Pi 与保质期 S ...

最新文章

  1. 郎凤娥谈定西实施煤粉锅炉改造项目
  2. Linux查看可执行文件的各个段:.BSS,.TEXT,.DATA的大小
  3. 收藏|490页阿里、腾讯、京东等公司的推荐算法最佳实践!pdf限时下载
  4. 数据库服务器查询格式化显示,在数据库服务器端养成设置NLS_LANG和NLS_DATE_FORMAT环境变量的习惯...
  5. 使用tensorflow object detection api训练自己的数据集
  6. group by with cube
  7. php如何实现记录步数,微信步数获取-PHP后端部分
  8. mysql和oracle的字符串拼接_Oracle和Mysql中的字符串的拼接
  9. 国潮风格设计,具象化插画作品|打开你的头脑风暴
  10. UWP VS创建UWP应用项目
  11. 终于进了阿里,记录一下我作为一名测试员磕磕碰碰的三个月找工作经历...
  12. 有什么画ER关系比较好用的软件图?
  13. QCC3040---Message Broker module
  14. 光学雨量计对比翻斗式雨量计的优势
  15. 详解 HTTP 协议报文格式 构造 HTTP 请求
  16. eclipse配置python django环境_windows下python+Django+eclipse开发环境的配置
  17. HackTheBox-Jeeves
  18. 不定式作各种成份和现在分词作各种成份
  19. math-常见导数公式
  20. R语言数据分析报错解决办法和有用命令(8.3-8.10)

热门文章

  1. 魔灯raw视频用MLVapp导出LOG方法
  2. 云联惠案到底说明了什么?
  3. 带nfc 的 android 华为,华为手机NFC功能,原来这么好用,不会用真可惜几千块钱了...
  4. 电力监控系统在城市轨道交通变电所自动化中的应用
  5. ospf 的cost 与Metric
  6. 协程大批量爬取是要被封IP的,最优秀的方法就是在被封IP时候立马切换IP
  7. echarts 柱状图圆柱_echarts柱状图
  8. 微信小程序:和平精英吃鸡捏脸数据助手微信小程序源码下载支持激励视频
  9. css用flex实现字体垂直居中对齐
  10. Andoird+Java开发规范脑图