“蔚来杯“2022牛客暑期多校训练营5 Don‘t Starve
题面:https://ac.nowcoder.com/acm/contest/33190/A
分析 : 因为是求最优化问题,应会想到DP和贪心
然而贪心并不可取,不可以只先走较长的边(的二长的边距离其 他点很远)
故
我们可以设dpi,jdp_{i,j}dpi,j为从iii开始距离为jjj时能得到的最多食物
可是在题目中(0<N<2001)(0<N<2001)(0<N<2001) 而时间复杂度为O(n3)O(n^3)O(n3),空间复杂度为O(n4)O(n^4)O(n4),显然不可取
实际上,我们可以设dpidp_idpi为到iii点时能得到的最多食物
so,状态转移方程便为dpi=max(dpi,dp所有合法的起点j+1)dp_i=max(dp_i,dp_{所有合法的起点j}+1)dpi=max(dpi,dp所有合法的起点j+1)
现在,时间复杂度便只为O(n2)O(n^2)O(n2),空间复杂度为O(n2)O(n^2)O(n2),可以通过这道题了
(对于转移时的存储,见代码)
代码:
#include<bits/stdc++.h>
#define LL long longusing namespace std;const int MXN=2007;struct Edge{int x,y;LL w;
};Edge p[MXN*MXN];
int x[MXN],y[MXN];
int dp[MXN];inline int read(){int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-'){f=-1;}ch=getchar();}while(ch>='0'&&ch<='9'){x=(x<<3)+(x<<1)+(ch^48);ch=getchar();}return x*f;
}bool cmp(Edge xx,Edge yy){return xx.w>yy.w;
}int tp[MXN*MXN],top,V[MXN*MXN];int main(){int i,j,k,n,len,res;LL v;memset(dp,200,sizeof(dp));n=read();for(i=1;i<=n;i++){x[i]=read(); y[i]=read();}dp[0]=0;len=0; res=0; top=0;for(i=0;i<=n;i++){for(j=i+1;j<=n;j++){v=1ll*(x[i]-x[j])*(x[i]-x[j])+1ll*(y[i]-y[j])*(y[i]-y[j]);len++;p[len].w=v;p[len].x=i; p[len].y=j;len++;p[len].w=v;p[len].x=j; p[len].y=i;}}sort(p+1,p+1+len,cmp);for(i=1;i<=len;i=j+1){j=i;while((j<len)&&(p[j+1].w==p[j].w)){++j;}top=0;for(;i<=j;i++){if(p[i].y){tp[++top]=p[i].y;V[top]=dp[p[i].x];}} while(top){dp[tp[top]]=max(dp[tp[top]],V[top]+1);--top;}}for(i=0;i<=n;i++){res=max(res,dp[i]);}cout<<res<<"\n";
}
“蔚来杯“2022牛客暑期多校训练营5 Don‘t Starve相关推荐
- “蔚来杯“2022牛客暑期多校训练营7 L Maximum Range(强连通缩点+网络流输出方案)
"蔚来杯"2022牛客暑期多校训练营7 L Maximum Range(强连通缩点+网络流输出方案) 题意 找一个环 上面的边权 极差最大 并输出 点 思路 我们先强联通缩点 统计 ...
- “蔚来杯“2022牛客暑期多校训练营1
"蔚来杯"2022牛客暑期多校训练营1 C Grab the Seat! D Mocha and Railgun 题意: 给定一个圆环,中心为(0, 0).给定T个查询,每次给定环 ...
- “蔚来杯“2022牛客暑期多校训练营9 补题题解(A、B、G、E)
"蔚来杯"2022牛客暑期多校训练营9 A Car Show B Two Frogs G Magic Spells E Longest Increasing Subsequence ...
- “蔚来杯“2022牛客暑期多校训练营6
"蔚来杯"2022牛客暑期多校训练营6 [题目链接]("蔚来杯"2022牛客暑期多校训练营6_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛 ...
- “蔚来杯“2022牛客暑期多校训练营10,签到题HFIE
题号 标题 已通过代码 通过率 团队的状态 A Everlasting Transeunt 点击查看 6/42 B Fall Guys-Perfect Match 点击查看 6/115 C Magic ...
- “蔚来杯“2022牛客暑期多校训练营8
Equivalence in Connectivity 前置知识点如下: 1. 并查集哈希 2. 可撤销并查集 3. 线段树分治 #include<bits/stdc++.h> using ...
- “蔚来杯“2022牛客暑期多校训练营10补题
H Wheel of Fortune 题意 有两个人在打炉石,一方转动了尤格萨隆的命运之轮触发了炎爆选项.双方英雄的血量分别为A和B,双方场面的血量分别为ai和bi,问A获胜的概率. 思路 将代码分 ...
- “蔚来杯“2022牛客暑期多校训练营8 D题: Poker Game: Decision
D题: Poker Game: Decision 原题链接:https://ac.nowcoder.com/acm/contest/33193/D 题目大意 在德州扑克的大小比较规则情况下,发牌顺序与 ...
- “蔚来杯“2022牛客暑期多校训练营2 G.[Link with Monotonic Subsequence] 分块构造
G. Link with Monotonic Subsequence 构造 题目分析 要求构造一个长度为 n n n的序列,使得序列的 max ( lis ( p ) , lds ( p ) ) ...
- “蔚来杯“2022牛客暑期多校训练营2 个人题解集合
文章目录 D.[Link with Game Glitch](https://ac.nowcoder.com/acm/contest/33187/D) 题目分析 Code G.[ Link with ...
最新文章
- 程序员持续成长,需要持久而痛苦的学习
- Antd-Design List渲染列中Button 点击事件 传递参数
- python变量运算符_Python(三) 变量与运算符
- macOS配置Visual Studio Code开发Java项目
- constexpr函数
- 蒙古族女孩鲍尔金娜的小说《紫茗红菱》
- P4585-[FJOI2015]火星商店问题【线段树,可持久化Trie】
- mysql 强制使用索引_快速找出MySQL数据库冗余索引和未使用索引
- mysql学习笔记 查找技术 1207 0311
- python3写的一个检测远程服务器端口脚本
- SQL Server高级查询之子查询(子查询非典型应用)
- 机器学习 - [源码实现决策树小专题]决策树中混杂度数值度量的Python编程实现(信息熵和基尼系数的计算)
- SYN-COOKIE
- html求视频的原尺寸,PR怎样导出原尺寸视频?
- 常见cpu性能优化方法
- 笔记——关于每次重启之后,虚拟机网络无网络访问权限的解决方法
- 微信公众号教程—记录个人公众号运营(待更新)
- 在线匿名聊天源码 不错的UI 亲测没毛病 非泛滥版
- postgresql 备份 还原
- lv蒙田包二手价格_盘点 | LV家保值性最高,最值得入手的五款包包
热门文章
- 首届百度Apollo生态大会为什么选择长沙?
- TAP-Win32 Adapter OAS“的网络适配器删除后总是出现(kms激活器及win10激活)
- Maya中怎么一键清除历史
- IBM沃森Watson答题过程全揭秘
- linux调整列显示宽度,使单元格或列自动调整宽度 - 在SWT中使用OLE操纵Excel_Linux编程_Linux公社-Linux系统门户网站...
- 好听的敕勒川天苍苍野茫茫风吹草低见牛羊
- android进入微信加好友页面,Xposed-微信自动加好友功能实现2--自动跳转验证申请页面...
- 软件工程实验微信小程序
- 华为改变策略,出击超低端手机市场
- Linux运维技术之Linux云计算架构