吉丽王国有n个城市,每个城市有……………………..
今天中午做了学军中学的模拟题,题目质量很高,感谢出题人……
但是,一中午就做出了一道题……..
依旧有收获,因为这是一道dp题;
刚开始感觉与 友好城市 非常相似,于是考虑sort消除后效性后求lis (还真敢一模一样抄….),然后毫不意外的不对;后来spfa一通瞎搞(…….);
最后又回到了dp上,各种找规律后发现将第二个序列调转之后求最长公共子序列竟然过了样例(虽然后来证明是对的,但是考场上的却是猜的……………
不严谨的证明
于是先仔细的分析一下题目,首先我们假设第一个序列为a[],第二个序列为b[];
若 i , j(数列中的两个数字)这两点对要发生交叉,必须满足i,j两个数字在两序列中
的顺序相反;
那么在我们将其中一个序列调转之后,要求就成为了两数字在序列中的顺序相同;所以最长公共子序列即为最优解。
然后就交上了,70pts,毕竟n^2 的复杂度,然而听说这玩意儿并没有nlogn的求法,所以确定不是正解;