私はコードフォース#338、div.2の編集ページでタスク615cの説明を見つけました。私はそのアイデアを理解できません: "kコーティングを使って部分文字列t [i、j]を作ることができれば、kコーティングを使って部分文字列[i + 1、j]を作ることもできるということです。毎回最も長い部分文字列を使用する "。毎回最も長い部分文字列を使用すべきであるという文からどのように示唆されますか?それをもっとはっきりと説明できますか?ここに仕事があります:http://codeforces.com/contest/615/problem/Cコードフォース-615C、主なアイディア
-1
A
答えて
0
Ayratははさみと糊を持っています。 Ayratはいくつかのコーティング(基本的には文字列)を購入し、その後、それぞれを正確に1つの連続ピース(部分文字列)から切り取り、トラックコーティングの最後まで接着します。さらに、彼はそれを接着する前にこのブロックを裏返すことを選ぶかもしれません。
substring t[i + 1, j]
は、substring t[i, j]
と比べて1文字少なくなります。ですからk
コーティングからsubstring t[i, j]
を切り取ることができれば、確かにsubstring t[i+1, j]
を切り取ることができます。
は、あなたがk(=2)
コーティングを使用abc
+ cba
= abccba
を形成することができ、あなたがコーティングabc
が設けられているとしましょう。
これは、(ccba
でも可)をコーティング2
で形成できることを意味します。
あなただけk
コーティングのいずれかから1つの余分文字(最初文字)をカットする必要があります。
代わりに、文字列に形成されたバイk
-coatingsから複数の文字(複数可)を低減することが「たちは、コーティング供給のk-1
または少ない数でそれを行うことができますか?」逆問題を提起すべきである
毎回最も長い部分文字列を使用する必要があります。
毎回最長の部分文字列を取得すると、問題の目標であるコーティング数が減少します。
関連する問題
- 1. C++ Multitypeオブジェクトのアイディア
- 2. jquery xml多言語のアイディア
- 3. ウェブアプリのアイディアの指示
- 4. ビット単位のデータに対する効率的なRLEアイディア
- 5. コードフォースで686Eのコードをデバッグできません
- 6. 主な違い
- 7. 主な違い
- 8. フェードイン主なアクティビティ
- 9. 主なゲームコンポーネント
- 10. アクセス主な活動
- 11. WPFの主なヒント
- 12. C#複数のアイディアを置き換えます
- 13. SQL:主キーにするか、主キーにしない?
- 14. 主な方法 - JSON関連
- 15. EntityFramework(主キーではない)
- 16. Wordpressの主なメニューCSS
- 17. 複数の主な機能
- 18. 行主要な3-Dアレイアドレス
- 19. 主キーのないリレーショナルデータベース?
- 20. CLIPSと主なdefmessage-handlers
- 21. JVMの主な引数
- 22. マルチユーザーパフォーマンスの主な効果
- 23. 主なプロジェクトの提案
- 24. Pythonの主な機能
- 25. 主キーのないデータベーステーブル
- 26. ModX - 異なるコンテキストの主なリソース
- 27. 主キー
- 28. 主キー
- 29. 私のasp.netプロジェクトでModelパーツのアイディアを教えてください
- 30. 主キーと一意制約の主な違いは何ですか?
あなたの答えはありがたいですが、毎回最も長い部分文字列を取得する必要があることはどういう意味ですか? –
@shota回答が更新されました... –