UVA 10635 Prince and Princess

來源:互聯網
上載者:User

把最長公用子串問題轉換成最長遞增子串問題然後用nlogn的方法去求解最長遞增子串問題,整個題目就解出來了。

#include <stdio.h>#include <algorithm>#include <map>using namespace std;typedef int NUMBER;typedef int INDEX;map<NUMBER, INDEX> m;#defineINF0x7fffffffint arr[62505];int g[63505];void func(int len){static int case_n = 1;int i, p, max_len;for(i=1; i<=len; i++)g[i] = INF;max_len = -1;for(i=1; i<=len; i++){p = lower_bound(g+1, g+i, arr[i])-g;if(max_len < p)max_len = p;g[p] = arr[i];}printf("Case %d: %d\n", case_n++, max_len);}int main(void){int t, n, p, q, i, num;//freopen("input.dat", "r", stdin);scanf("%d", &t);while(t--){scanf("%d %d %d", &n, &p, &q);for(i=1; i<=p+1; i++){scanf("%d", &num);m[num] = i;}for(i=1; i<=q+1; i++){scanf("%d", &num);arr[i] = m[num];}func(q+1);}return 0;}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.