問題タブ [prefix-sum]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
87 参照

c++ - 前置和行列に関連する問題で、1 つの for ループが 2 つの for ループよりも遅いのはなぜですか?

私は最近、IOI 2010 の 1 日目のタスク 3 「生活の質」から直接取得して翻訳したこの問題を実行していて、奇妙な現象に遭遇しました。

私は 0-1 行列を設定し、それを使用して 1 つのループで前置合計行列を計算しました。

そして、4回のテストでTLE(制限時間超過)になりました(制限時間は2.0秒です)。2 つの for ループを別々に使用している場合:

完全なACを取得しました(受け入れられました)。

ここの4枚の写真からわかるように:

2 つの for ループのコードは一般に (受け入れられたテスト ケースでも) 少し速く実行され、単一の for ループの方が速いはずであるという私の論理とは対照的です。なぜこれが起こったのですか?

完全なコード (AC) : https://pastebin.com/c7at11Hausing namespace std; (これは競争力のあるプログラミング コンテストであるため、意味のないビットや のようなものはすべて無視してください)。

  • 注意 : ジャッジ サーバーlqdoj.edu.vnは、グローバルな競技プログラミング コンテスト プラットフォームであるdmoj.ca上に構築されています。