計蒜客習題 刪除最小元素

2021-09-17 04:04:25 字數 1430 閱讀 9365

開乙個二維dp陣列dp[10005][3],第二維儲存的是這個數列的兩種狀態所對應的最大值,和lis思路比較像。

開始的時候忽視了全部降序的情況,後來把兩個維度全部算一遍就出來了。

#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

#define eps (1e-6)

#define ll long long

#define pi acos(-1.0)

#define all(a) (a.begin(),(a.end())

#define zero(a) memset(a,0,sizeof(a))

#define minus(a) memset(a,0xff,sizeof(a))

#define ios cin.tie(0),cout.sync_with_stdio(0)

#define print(a,b) cout << "#" << (a) << " " << (b) << endl

//#define debug(a,b) cout << "$" << (a) << " " << (b) << endl

#define lin cout << "\n--------------------\n"

const ll llinf = 1e18+100;

const int inf = 0x3f3f3f3f;

const int maxn = 1e4 + 5;

const int mod = 1000000000+7;

#define esp 1e-6

int dp[maxn][3];

int a[maxn];

int main()

dp[1][1] = 1;

for(int i=2; i<=n; ++i)

}//cout << dp[i][1] << endl;

}dp[1][2] = 1;

for(int i=2; i<=n; ++i)

}//cout << dp[i][2] << endl;

}int ans = 0;

for(int i=1; i<=n; ++i)

cout << n - ans;

return 0;

}

計蒜客 刪除最少的元素

問題描述 給定有 n 個數的 a 序列 a1,a2,a3 an 對於這個序列,我們想得到乙個子串行 ap1,ap2 api apm 1 p1 p2 pi pm n 滿足 ap1 ap2 api apm 從 a 序列最少刪除多少元素,可以得到我們想要的子串行。輸入格式 第一行輸入乙個整數 n,代表 a...

計蒜客習題 朋友

在社交的過程中,通過朋友,也能認識新的朋友。在某個朋友關係圖中,假定 a 和 b 是朋友,b 和 c 是朋友,那麼 a 和 c 也會成為朋友。即,我們規定朋友的朋友也是朋友。現在,已知若干對朋友關係,詢問某兩個人是不是朋友。請編寫乙個程式來解決這個問題吧。輸入格式 第一行 三個整數 n,m,p n ...

計蒜客習題 逃跑

一位博主寫了ac 但是無論是廣度bfs還是深度dfs,都會報錯,dfs是執行超時,bfs是答案錯誤。傳送門 另一位博主使用了dfs 有興趣可以看下,沒有檢驗是否正確,傳送門 根據前位博主的bfs 做了幾項修改,然後用自己的 找錯前位博主,發現找不出來,有興趣的小夥伴可以試下,找一下前位博主的錯誤。當...