197 条题解

  • 0
    @ 2006-10-21 21:46:20

    初看数据规模,直接上枚举(就是TMD的暴力硬搜),肯定不TLE。。。

    for i:=-100000 to 100000 do

    begin

    j:=i/1000;

    if ...

  • 0
    @ 2006-10-19 19:23:27

    晕。。郁闷。。我用二分做的

    20分钟才AC

    同学直接

    FOR i:=-10000 to 10000 do

    BEGIN j:=i/100; ....... END;

    枚举。。5min。。搞定 周围果然有很多大牛啊。。汗

  • 0
    @ 2006-10-18 19:09:58

    输入数据可以是小数!

    样例:

    1 1 -2 -1 2 -1.00 1.00 2.00

    2 1 -4.65 2.25 1.4 -0.35 1.00 4.00

    3 1 10 -1 -10 -10.00 -1.00 1.00

    4 1 -1.8 -8.59 -0.84 -2.10 -0.10 4.00

  • 0
    @ 2006-10-11 19:09:48

    好容易才过,555...

  • 0
    @ 2006-10-09 21:15:57

    列举然后求解就好了。。。

    10000 个数据而已

  • 0
    @ 2006-10-05 11:23:19

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2006-09-30 17:52:59

    很EASY的。o(10000)暴力解决0ms。

    硬搜AC!

    另外不需要用if (f(x1)*f(x2)0)xor(f(x2)>0) 来判断,快多了。

  • 0
    @ 2006-09-30 10:17:33

    x扩大100倍以后枚举

  • 0
    @ 2006-09-20 17:19:31

    x=(-(q/2)-((q/2)^2+(p/3)^3)^(1/2))^(1/3)+(-(q/2)+((q/2)^2+(p/3)^3)^(1/2))^(1/3)

  • 0
    @ 2006-09-03 16:39:47

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2006-08-26 15:29:19

    这是一道经典的老题,我看过的参考书上有很多解法。二分法,穷举法都很好,但介于这道题的数据规模和题中的条件,我有个自认为还算要简单一些的算发。

    大体思路还是穷举,因为题中要求保留两位小数,可以看成把原数*100的整数,这样就可以避免实数的误差,所以组织循环for i:=-10000 to 10000 do.例外题中还说两个根的差>=1 可以每找到一个根就、从此根+100循环,这样又可以节约点时间,但这道题数据太弱-100到100,简直不用优化~~~~~

  • 0
    @ 2006-08-09 18:06:14

    其实不用二分,我直接循环就AC了

  • 0
    @ 2006-07-26 17:05:37

    给一直摔交的朋友一点建议

    在free pascal 或者 turbo里面 循环变量是可以累加的

    但是如果放到 vijos 的编译器中却是不可以累加

  • 0
    @ 2006-07-22 16:55:00

    二分啊

    1 确定方程的根的区间啊

    2 求根啊

  • 0
    @ 2006-05-31 20:51:46

    枚举就AC了

    不过标准算法是分治

  • 0
    @ 2006-05-06 02:56:02

    搜索,也就10000个点 我0ms AC

    要小心四舍五入的情况

    比如

    假设

    f(50.17)=-0.12

    f(50.18)=+0.13

    由于|-0.12|

  • -1
    @ 2017-03-15 15:34:26
    #include<bits/stdc++.h>
    #define ll long long
    #define st string
    using namespace std;
    int a,b,c,d;
    int he(double x){
        return ((a*x+b)*x+c)*x+d;
    }
    int main()
    {
        //freopen(".in","r",stdin);
        //freopen(".out","w",stdout);
        cin>>a>>b>>c>>d;
        for(double i=-100;i<=100;i+=0.01){
            if(he(i)==0) printf("%.2f ",i);
        }
        return 0;
    }
    

信息

ID
1116
难度
5
分类
搜索 | 枚举 点击显示
标签
递交数
7786
已通过
2832
通过率
36%
被复制
14
上传者