Codeforces ラウンド #267 (ディビジョン 2) C George と Job_html/css_WEB-ITnose
質問の主な考え方: n 個の数値から m 個の互いに素な部分文字列を選択します。部分文字列の長さはすべて k です。選択したすべての部分文字列のすべての数値の最大合計はいくらか尋ねます。
DP の質問、DP はまだ弱すぎます。最初の dp 方程式は実際には O(n^3) と書かれています...
dp[i][j]: num[i] で終わるシーケンスはj 個のセグメントに分割
の最大合計dp[i][j]=max(dp[k][j-1]+sum[i]-sum[i-m]) この場合、実際には、最初のループは選択されたセグメントの数、二重ループ中の数値の数です
また考えが変わりました
dp[i][j]: j 個のセグメントに分割された最初の i 数値の最大合計
dp[i][j]=max(dp [i-1][j],dp[i-m][j-1]+sum[i]-sum[i-m])
思考: 2 次元なので、書かれた dp 方程式は 1 次元のものでなければなりません 変更は転送されるか、2 次元の変更から転送されます
AC コード:
//#pragma comment(linker, "/STACK:102400000,102400000")#include <cstdio>#include <cstring>#include <algorithm>#include <string>#include <iostream>#include <iomanip>#include <cmath>#include <map>#include <set>#include <queue>using namespace std;#define ls(rt) rt*2#define rs(rt) rt*2+1#define ll long long#define ull unsigned long long#define rep(i,s,e) for(int i=s;i<e;i++)#define repe(i,s,e) for(int i=s;i<=e;i++)#define CL(a,b) memset(a,b,sizeof(a))#define IN(s) freopen(s,"r",stdin)#define OUT(s) freopen(s,"w",stdout)const ll ll_INF = ((ull)(-1))>>1;const double EPS = 1e-8;const double pi = acos(-1);const int INF = 100000000;const int MAXN = 5000+100;ll num[MAXN],dp[MAXN][MAXN],pp[MAXN];int n,m,k;ll solve(){ CL(dp,0); for(int i=m;i<=n;i++) for(int j=1;j<=k;j++) dp[i][j]=max(dp[i-m][j-1]+pp[i]-pp[i-m],dp[i-1][j]); return dp[n][k];}int main(){ //IN("C.txt"); while(~scanf("%d%d%d",&n,&m,&k)) { pp[0]=0; for(int i=1;i<=n;i++) { scanf("%I64d",&num[i]); pp[i]=pp[i-1]+num[i]; } printf("%I64d\n",solve()); } return 0;}
最初のアイデアの AC コード (http:// から抜粋) blog.csdn.net/qian99/article/details/39397101):
rree

ホット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)

ホットトピック









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

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

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

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

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

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

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

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。
