当前位置:网站首页>The longest ascending subsequence model acwing 1012 Sister cities
The longest ascending subsequence model acwing 1012 Sister cities
2022-07-07 14:13:00 【T_ Y_ F666】
Longest ascending subsequence model AcWing 1012. Friendly city
Original link
Algorithm tags
DP linear DP Longest ascending subsequence
Ideas
Sort friendly cities at one end , The longest ascending sequence at the other end is the answer
Code
#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i=a;i<b;++i)
#define Rep(i, a, b) for(int i=a;i>=b;--i)
using namespace std;
const int N = 5005, INF = 0x3f3f3f3f;
int f[N], f1[N], a[N];
inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
void put(int x) {
if(x<0) putchar('-'),x=-x;
if(x>=10) put(x/10);
putchar(x%10^48);
}
struct Node{
int a,b;
}node[N];
bool cmp(Node A, Node B){
return A.b<B.b;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n=read(),ans=0;
rep(i, 0, n){
node[i].a=read(),node[i].b=read();
}
sort(node, node+n, cmp);
rep(i, 0, n){
f[i]=1;
rep(j, 0, i){
if(node[j].a<node[i].a){
f[i]=max(f[i], f[j]+1);
}
}
ans=max(ans, f[i]);
}
printf("%lld\n", ans);
}
y Master code
#include <algorithm>
using namespace std;
typedef pair<int, int> PII;
const int N = 5010;
int n;
PII city[N];
int f[N];
int main()
{
scanf("%d", &n);
for (int i = 0; i < n; i ++ ) scanf("%d%d", &city[i].first, &city[i].second);
sort(city, city + n);
int res = 0;
for (int i = 0; i < n; i ++ )
{
f[i] = 1;
for (int j = 0; j < i; j ++ )
if (city[i].second > city[j].second)
f[i] = max(f[i], f[j] + 1);
res = max(res, f[i]);
}
printf("%d\n", res);
return 0;
}
tips
Double keyword sorting , Use pair, There is no need to create a new structure . Consistent running time
Originality is not easy.
Reprint please indicate the source
If it helps you Don't forget to praise and support
边栏推荐
猜你喜欢
【立体匹配论文阅读】【三】INTS
2022-7-6 beginner redis (I) download, install and run redis under Linux
手把手教会:XML建模
Leecode3. Longest substring without repeated characters
Battle Atlas: 12 scenarios detailing the requirements for container safety construction
Use day JS let time (displayed as minutes, hours, days, months, and so on)
Help tenants
Reverse non return to zero code, Manchester code and differential Manchester code of common digital signal coding
Transferring files between VMware and host
566. Reshaping the matrix
随机推荐
Wired network IP address of VMware shared host
Vscode configuration uses pylint syntax checker
Evolution of customer service hotline of dewu
Parameter keywords final, flags, internal, mapping keywords internal
IP and long integer interchange
First choice for stock account opening, lowest Commission for stock trading account opening, is online account opening safe
648. Word replacement: the classic application of dictionary tree
【日常训练--腾讯精选50】231. 2 的幂
手把手教会:XML建模
Es log error appreciation -limit of total fields
Reverse non return to zero code, Manchester code and differential Manchester code of common digital signal coding
Redis 核心数据结构 & Redis 6 新特性详
libSGM的horizontal_path_aggregation程序解读
Did login metamask
Interface automation test - solution of data dependency between interfaces
Environment configuration of lavarel env
AutoCAD - how to input angle dimensions and CAD diameter symbols greater than 180 degrees?
wpf dataGrid 实现单行某个数据变化 ui 界面随之响应
C # switch pages through frame and page
常用数字信号编码之反向不归零码码、曼彻斯特编码、差分曼彻斯特编码