Codeforces ラウンド #245 (ディビジョン 1)??トリッキーな関数_html/css_WEB-ITnose
質問リンク
n 数値 a[i], f(i, j) = (i - j) ^ 2 + sigma(a[k]) ^ 2, i n (2?≤?n?≤?100000).(?-?104?≤?a[i]?≤?104)
鍵は質問変換の意味。単純な考慮に基づいて、各区間の情報を知る必要があり、質問の f 関数を簡素化する必要があります。区間を考慮することは現実的ではないので、区間が 2 つの短い点に分割できるかどうかを計算してみます。ここでは一般的な変換が使用されます。つまり、間隔の合計がプレフィックスの合計の差に変換されます。変換後、 f(i, j) = (i - j) ^ 2 + (presum[j] - presum[i]) ^ 2 が得られます。幾何学をやったことがある人なら誰でも、それが図形上の最も近い点のペアであることがわかります。平面
問題の単位として間隔を使用すると、複雑さを軽減するのが難しいため、問題の考慮単位は多くの場合ポイントになります。ポイントに変換できれば、複雑さは軽減されます。
区間の合計はプレフィックスの合計に変換する必要があることがよくあります。この場合、区間内の 2 つの点について、計算する必要がある値は現在の点、つまり前のタスク (区間を に変換する) にのみ関連します。ポイント)が完了しました
const double EPS = 1e-10;const int MAXN = 100100;inline int dcmp(double x){ if(fabs(x) < EPS) return 0; else return x < 0 ? -1 : 1;}struct Point{ LL x, y;};//最近点对Point point[MAXN];LL tmpt[MAXN], Y[MAXN];inline bool cmpxy(Point a, Point b){ if(a.x != b.x) return a.x < b.x; return a.y < b.y;}inline bool cmpy(int a, int b){ return point[a].y < point[b].y;}inline LL dist(int x, int y){ Point& a = point[x], &b = point[y]; return sqr(a.x - b.x) + sqr(a.y - b.y);}LL Closest_Pair(int left, int right){ LL d = 1e18; if(left == right) return d; if(left + 1 == right) return dist(left, right); int mid = (left + right) >> 1; double d1 = Closest_Pair(left, mid); double d2 = Closest_Pair(mid + 1, right); d = min(d1, d2); int k = 0; //分离出宽度为d的区间 FE(i, left, right) { if(sqr(point[mid].x - point[i].x) <= d) tmpt[k++] = i; } sort(tmpt, tmpt + k, cmpy); //线性扫描 REP(i, k) for(int j = i + 1; j < k && sqr(point[tmpt[j]].y-point[tmpt[i]].y) < d; j++) { LL d3 = dist(tmpt[i],tmpt[j]); if(d > d3) d = d3; } return d;}LL ipt[MAXN];int main(){ //freopen("input.txt", "r", stdin); int n; while (~RI(n) && n) { FE(i, 1, n) { cin >> ipt[i]; ipt[i] = ipt[i - 1] + ipt[i]; } FE(i, 1, n) { point[i - 1].x = i; point[i - 1].y = ipt[i]; } sort(point, point + n, cmpxy); LL ans = Closest_Pair(0, n - 1); cout << ans << endl; } return 0;}

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

この記事では、html5&lt; time&gt;について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。
