それぞれ有する二つの属性を持つn
点があります次式で与えられる。可能なすべての点のペア間の力の総和を求めますか?</p> <p>位置(軸)から二点& B間</p> <p>ジャンル値(整数)</p> <p>ジャンル力:
Attraction_force(A, B) = (distance between them) * Max(Attraction_val_A, Attraction_val_B);
l可能な全ての点の間の力?
私はすべてのペア
for(int i=0; i<n-1; i++) {
for(int j=i+1; j<n; j++) {
force += abs(P[i].pos - P[j].pos) * max(P[i].attraction_val, P[j].attraction_val);
}
}
例との間の力を計算し、追加することによって試み:
Points P1 P2 P3
Points distance: 2 3 4
Attraction Val: 4 5 6
Force = abs(2 - 3) * max(4, 5) + abs(2 - 4) * max(4, 6) + abs(3 - 4) * max(5, 6) = 23
しかし、これははO(n^2)時間、私はできない取りますそれをさらに減らす方法を考える!
あなたはそれをさらに改善できると思いますか? – spektr
cozオンラインジャッジが私に大きなテストケースのタイムアウトを与えている、私はいくつかの最適なソリューションがなければならないと思う! –
オンラインで公開されている場合、この問題へのリンクを貼り付けることができますか? – spektr