197 条题解
-
0dsdgzy LV 8 @ 2008-11-03 12:41:23
奥赛经典 基础篇 第241页
-
02008-11-02 21:33:56@
一次AC
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms先是把三次方程求导,然后求出俩极点,然后再从极点去拓展求根。附上程序
program c1116;
var a,b,c,d,l1,l2,x1,x2,x3:real;
n:integer;
function fc(x:real):real;
begin
fc:=a*x*x*x+b*x*x+c*x+d;
end;
function Love(n1,n2:real):real;
begin
if abs(n1-n2)>0.01 then
begin
if fc((n1+n2)/2)*fc(n1)l2 then begin o:=l1;l1:=l2;l2:=o; end;
o:=l1-1;
repeat
o:=o-1;
until fc(o)*fc(l1) -
02008-11-02 15:30:08@
f(x) = x^3 + b*x^2 + c*x + d(a 化为1)
f'(x) = 3*x^2 + 2*b*x + c因为有三个不相等的实根,所以 f'(x) = 0 有两不相等实根
然后迭代
x1 从 (-300-b-sqrt(delta))/6 开始
x2 从 -b/3 开始
x3 从 (-300-b-sqrt(delta))/6 开始
其中 delta 是 f'(x) 的根的判别式使用了 C语言 的 #define,十几行搞定……
-
02008-11-02 10:16:09@
#include
#include
#include
#define e 0.001
float a,b,c,d;
using namespace std;inline bool f(float& x)
{return a*x*x*x + b*x*x + c*x + d > 0;}void g(float left , float right , bool& f1 , bool& f3)
{
float middle = (right - left)/2;
if(middle < e) {coutd;
float x1=-101, x2=-100;
bool f1, f2 = f(x2);
int i=-100;
while(++i -
02008-10-31 23:56:20@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms用二分,先扫描一遍确定3个零点的区间,再深入查找。
判断两点间有零点:f(x)*f(x+1)>a >>b >>c >>d;
int thanZero=(f(-101) -
02008-10-30 22:43:47@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms\\\\\\\\\\\\\\\\\\\\\
2分加速器,因为一个">"写成了“ -
02008-10-29 17:40:14@
二分二分!!
var
i,j:longint;
a,b,c,d,l,r,last:extended;
function f(x:extended):extended;
begin
f:=a*x*x*x+b*x*x+c*x+d;
end;
begin
readln(a,b,c,d);
last:=-maxlongint;
for i:=-100 to 99 do
if f(i)*f(i+1)=1E-4 do
begin
if f(l)=0 then break;
if f(r)=0 then begin l:=r; break; end;
if f((l+r)/2)*f(l) -
02008-10-27 22:16:44@
var a,b,c,d:real;
i:real;
function f(x:real):real;
begin
f:=a*x*x*x+b*x*x+c*x+d;
end;
begin
readln(a,b,c,d);
i:=-100;
while i-0.0001)and(f(i) -
02008-10-23 21:17:21@
program v1116;
var i,j,k,l,r,s:longint;
a,b,c,d,x,y,z:real;
function f(x:real):real;
begin
f:=a*x*x*x+b*x*x+c*x+d;
end;
begin
readln(a,b,c,d);
x:=-100;
while x-0.0001)and(f(x) -
02008-10-23 21:05:05@
var a:array[1..3]of real;
a1,b,c,d,p,q:real;
n,k,j,i:longint;
function f(i:real):real;
begin
f:=a1*i*i*i+i*i*b+i*c+d;
end;
function niba(i:real):real;begin
p:=i;
q:=i+.999;
if abs(f(p)) -
02008-10-22 22:33:57@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms恶心的题目
-
02008-10-20 21:59:51@
测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
穷搜都秒杀,真恶心啊 -
02008-10-20 12:54:52@
对这题来说...2分逼近烦了...直接穷举吧.
-
02008-10-20 12:38:34@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-10-15 21:16:04@
没想到这么弱......
搜都能过....
哎.... -
02008-10-13 20:22:06@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms大家来刷AC率吧,枚举时每次+0.01就行了
-
02008-10-13 16:25:42@
穷举,最简单!!!
-
02008-10-12 12:39:59@
LJ水题
搜都能过
还给同学问了N遍
BS! -
02008-10-11 00:58:50@
为了狂搜而奋斗!!!
-
02008-10-08 20:52:03@
program n2001_1;
var a,b,c,d,l1,l2,temp:real;
function f(r:real):real;
begin
f:=a*r*r*r+b*r*r+c*r+d;
end;function ORZ(l,r:real):real;
var mid:real;
begin
repeat
mid:=(l+r)/2;
if f(l)*f(mid)