題解
1.dp[i][0]表示初始的連續女生數
2.dp[i][1]表示經過互換後的連續女生數
當沒有操作時dp[i][0]==dp[i][1],操作後,若再次出現男生則dp[i][1]被初始化為dp[i][1]+1,
也就是列舉了第二個操作的位置
#include using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef vectorvi;
typedef vectorvii;
typedef vectorvll;
const int maxn = 1e6 + 10;
const ll inf = 0x3f3f3f3f;
const ll mod = 1e9 + 7;
const double eps = 1e-8;
int n, m, k;
string str;
vii dp;
int main(void)
else
res = max(res, max(dp[i][0], dp[i][1]));
} cout << min(res, cnt) << endl;
cerr << "execute time : " << (double)clock() / clocks_per_sec << endl;
return 0;
}
合唱隊形 DP
合唱隊形 chorus.pas c cpp n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2 k,他們的身高分別為t1,t2,tk,則他們的身高滿足t1 ti 1 tk 1 i k 你的任務是,已知所...
合唱隊形 dp
題目描述 n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學不交換位置就能排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2,k,他們的身高分別為t1,t2,tk,則他們的身高滿足t1 t2 ti ti ti 1 tk 1 i k 你的任務是,已知所有...
合唱隊形 NOIP
合唱隊形 noip time limit 1000ms memory limit 65536k description n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2 k,他們的身高分別為t1,t2...