> 活动地址:CSDN21天学习挑战赛
D. Gargari and Permutations题意:1900难度的dp题,给定k个长度为n的数字排列,找到最长的公共子序列的长度。 思路: 1.属于经典dp问题,最长公共子序列。复杂度在O(n^2) 2.记录每个串数字所在的位置;p[i][a[i][j]]=j
3.对比第二个之后的排列,满足排列1中的数字的相对位置关系,方向应一致不满足则无法进行更新长度 4.f[i]表示截止到i的最长公共徐磊长度。
#include
#define int long long
#define endl '\n'
#define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
using namespace std;
const int N=5e5+5;
const int mod=1e9+7;
int n,k,a[15][1005],p[15][1005],f[1005];
signed main()
{
IOS;
cin>>n>>k;
for(int i=1;ia[i][j],p[i][a[i][j]]=j;
}
for(int i=1;i>s;
int g=0;
for(int i=0;ic;
c=-c;
int x,y;
int d=exgcd(a,b,x,y);
x=c/d*x;
y=c/d*y;
cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?