寻找平面上的极大点代码
#include<iostream>
#include<algorithm>
using namespace std;
struct node
{
int x,y;
}a[101];
bool vis[101];
bool cmp(node A,node B)
{
if(A.x!=B.x) return A.x<B.x;
return A.y<B.y;
}
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i].x>>a[i].y;
sort(a+1,a+n+1,cmp);
for(int i=n;i>=1;i--)
{
for(int j=i-1;j>=1;j--)
{
if(!vis[j])
{
if(a[i].x>=a[j].x&&a[i].y>=a[j].y)
{
vis[j]=1;
}
}
}
}
for(int i=1;i<=n-1;i++)
{
if(!vis[i])
{
cout<<"("<<a[i].x<<","<<a[i].y<<"),";
}
}
cout<<"("<<a[n].x<<","<<a[n].y<<")";
return 0;
}
最大连续序列和代码:
#include<iostream>
using namespace std;
int main()
{
//最大连续序列和
//1000 1 -2 3 -4 5 1003
//-1 2 3 -4 5 6
//-1 1 4 0 5 前缀和
int n,a[100]={0};
cin>>n;
//输入数列并求前缀和
for(int i=1;i<=n;i++)
{
cin>>a[i];
a[i]+=a[i-1];
}
int maxn=a[1];
for(int i=1;i<=n;i++)
{
for(int j=0;j<i;j++)
{
int temp=a[i]-a[j];//每一个区间和
maxn=max(maxn,temp);
}
}
cout<<maxn<<endl;
return 0;
}
标签:node,int,namespace,vis,算法,bool,GESP4,include,贪心
From: https://blog.csdn.net/weixin_60445850/article/details/143792974