当前位置: 首页 > news >正文

ps如何做网站网页广告设计

ps如何做网站,网页广告设计,discuz手机模板,备案网站转入阿里云题目描述 在一个二维平面内,给定 n 个整数点 (xi​,yi​),此外你还可以自由添加 k 个整数点。 你在自由添加 k 个点后,还需要从 nk 个点中选出若干个整数点并组成一个序列,使得序列中任意相邻两点间的欧几里得距离恰好为 1 而且…

题目描述

在一个二维平面内,给定 n 个整数点 (xi​,yi​),此外你还可以自由添加 k 个整数点。

你在自由添加 k 个点后,还需要从 n+k 个点中选出若干个整数点并组成一个序列,使得序列中任意相邻两点间的欧几里得距离恰好为 1 而且横坐标、纵坐标值均单调不减,即 xi+1​−xi​=1,yi+1​=yi​ 或 yi+1​−yi​=1,xi+1​=xi​。请给出满足条件的序列的最大长度。

输入格式

第一行两个正整数 n,k 分别表示给定的整点个数、可自由添加的整点个数。

接下来 n 行,第 i 行两个正整数 xi​,yi​ 表示给定的第 i 个点的横纵坐标。

输出格式

输出一个整数表示满足要求的序列的最大长度。

输入输出样例

输入 #1

8 2
3 1
3 2
3 3
3 6
1 2
2 2
5 5
5 3

输出 #1

8

输入 #2

4 100
10 10
15 25
20 20
30 30

输出 #2

103

说明/提示

【数据范围】

保证对于所有数据满足:1≤n≤500,0≤k≤100。对于所有给定的整点,其横纵坐标 1≤xi​,yi​≤10^9,且保证所有给定的点互不重合。对于自由添加的整点,其横纵坐标不受限制。

测试点编号n≤k≤xi​,yi​≤
1∼210010
3∼410100100
5∼75000100
8∼10500010^9
11∼15500100100
16∼2050010010^9
#include <bits/stdc++.h>
using namespace std;struct node
{int x,y;//1e9 1e9
};
bool operator<(node n1,node n2)
{return n1.x<n2.x||(n1.x==n2.x&&n1.y<n2.y);
}
node p[510];//5e2
int dp[510][110];//5e2
int main()
{int n,k;//5e2 1e2cin>>n>>k;for(int i=1;i<=n;i++){int x,y;//1e9 1e9cin>>x>>y;p[i]={x,y};}sort(p+1,p+n+1);int maxn=0;//5e2for(int i=1;i<=n;i++){int x=p[i].x,y=p[i].y;for(int l=0;l<=k;l++){for(int j=1;j<i;j++){int dx=x-p[j].x,dy=y-p[j].y;if(dx>=0&&dy>=0&&dx+dy<=l+1)dp[i][l]=max(dp[i][l],dp[j][l-dx-dy+1]+dx+dy);}if(dp[i][l]==0)dp[i][l]=l+1;maxn=max(maxn,dp[i][l]);}}cout<<maxn;return 0;
}

---------------------------------------前方级别:洛谷黄题,2022CSP-J T3---------------------------------------

主体思想及算法:

        DP中的LIS(最长上升子序列)变形。

        LIS模板:

for(int i=1;i<=n;i++)
{dp[i]=1;for(int j=1;j<i;j++)if(a[i]>a[j])dp[i]=max(dp[i],dp[j]+1);maxn=max(maxn,dp[i]);
}
cout<<maxn;

        变形后dp[i][j]代表第i个点加j个点的最大答案。 

代码解读:

        main():输入n、k、xi、yi。xi和yi记录在一个node(见node)类型的p数组里,p[i]代表编号为i的一组xy。但是由于下方某些原因,p数组不得使用原顺序,需要按排序(具体规则见operator<())后的顺序。排序后定义一个maxn,由于此题为LIS变形,这个maxn自然代表答案啦!不过初始置为k+1,因为但凡有一个点,他添加k个点也有k+1了。

                第一层循环:首先不管加点的事儿,先定义xy分别为p[i]的xy,一会儿将多次使用。

                        第二层循环:请注意,这层循环的变量l代表可以加l个点,是从0到k!!!因为你可以选择独自优秀不须加点。

                                第三层循环:这个j也要注意,是到i-1,由于之前的排序,我们保证到i之后肯定都不行了,所以也都没用了。再设两个临时变量dx和dy,代表x-p[j].x和y-p[j].y(同样,一会儿将多次使用)。如果dx和dy均大于等于0,也就是说按照要求可以连线,且dx加dy小于等于l加1,这里注意加1,因为假设l是0,dx加dy就得是1。如果满足上句话这些条件,那么dp[i][j]就max=dp[j][l-dx-dy+1]+dx+dy。

                        回到第二层循环,因为每一个dp[i][l]都是独立的,所以maxn等要在此处单独结算。注意如果dp[i][l]是0,要给他设为l+1,毕竟添加l个点就有l+1了。最后maxn max=dp[i][l]。

        回到主函数,输出maxn。

        node:一个x一个y。

        operator<():重载小于运算符,如果x不同x小者小;否则y小者小。

http://www.yayakq.cn/news/559844/

相关文章:

  • 国内专业网站制作公司砀山县住房和城乡建设局网站
  • 注册 网站开发 公司怎么建设网站运城
  • 泉州网站建设解决方案企业文化模板
  • 廊坊网站制作系统wordpress 产品页面
  • 网站图片怎么做的高级高端网站建设专业公司
  • 绍兴建设公司网站网站如何吸引人
  • 网站开发的人公司企业邮箱注册流程
  • 广西建设职业学院官网网站东营房产信息网官网
  • 织梦调用网站类型学院的网站建设的意义
  • 网站系统建设预算怎么安装php网站
  • 中山免费建站做一个公司网站大概要多少钱
  • 网站纯色背景图怎么做做网站用的什么语言
  • 中英语网站制作方法好发信息网网站建设
  • 宁波网站建设详细方案模板韶关住房和城乡建设局网站
  • 哈尔滨建设网站公司c 开发网站开发
  • 如何避免网站被降权wordpress 热搜
  • 网站seo分析报告天然气公司的网站应该怎么做
  • 网页效果图素材网络推广的调整和优化
  • 广东省建设工程质量结构评优在哪个网站公示网站推广需求要素
  • 黄页推广软件网站上海建科建设监理网站
  • 手机网站前端开发布局技巧wordpress上传图片
  • 怎么用wordpress仿站网站推广行业
  • 烟台百度网站建设网站开发专员
  • 怎么样创办一个网站豆瓣网站是怎么建设的
  • 包头焦点网站建设临沂网站制作策划
  • 做视频网站需要多少上传网站 建设公司
  • 北京 网站建设咨询顾问公司it外包公司前景如何
  • 网站搭建服务平台市场营销方案
  • 北京网站设计制作网站如何在电脑登录wordpress
  • 标志vi设计机构郑州seo代理外包