- 28 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 04:20:01.59 ]
- >45行目 if(data.data[i].x < border_x)
//ここは間違えてて、ゴメンなさい。m(_ _)m >100, 115行目 × //大きい の想定関数 ac+b とデータの誤差の√平方和 >100, 115行目 ○ //大きい方の想定関数 ac+b とデータの誤差の√平方和 //ここも間違えてて、ゴメンなさい。m(_ _)m //159行目より修正 int max_x = Integer.MIN_VALUE; int min_x = Integer.MAX_VALUE; int iSeepestDecentValue; while((line = br.readLine()) != null) { StringTokenizer st = new StringTokenizer(line); int x = Integer.parseInt(st.nextToken()); int n = Integer.parseInt(st.nextToken()); int sum = Integer.parseInt(st.nextToken()); for(int i = 0; i < n; i++) data.add(new Point((double)x, 1.0)); for(int i = 0; i < sum - n; i++) data.add(new Point((double)x, 0.0)); if(x > max_x) max_x = x; //修正 if(x < min_x) min_x = x; } PointList input_data = new PointList(data); //修正 //再急降下法で使用する最大傾斜の値。0 より大きくなければいけません。 iSeepestDecentValue = ( max_x - min_x ) / 100; iSeepestDecentValue = ( 0 >= iSeepestDecentValue ) ? 1 : iSeepestDecentValue; System.out.println(solve(input_data, max_x, min_x, iSeepestDecentValue));
|

|