题面: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相关推荐

  1. “蔚来杯“2022牛客暑期多校训练营7 L Maximum Range(强连通缩点+网络流输出方案)

    "蔚来杯"2022牛客暑期多校训练营7 L Maximum Range(强连通缩点+网络流输出方案) 题意 找一个环 上面的边权 极差最大 并输出 点 思路 我们先强联通缩点 统计 ...

  2. “蔚来杯“2022牛客暑期多校训练营1

    "蔚来杯"2022牛客暑期多校训练营1 C Grab the Seat! D Mocha and Railgun 题意: 给定一个圆环,中心为(0, 0).给定T个查询,每次给定环 ...

  3. “蔚来杯“2022牛客暑期多校训练营9 补题题解(A、B、G、E)

    "蔚来杯"2022牛客暑期多校训练营9 A Car Show B Two Frogs G Magic Spells E Longest Increasing Subsequence ...

  4. “蔚来杯“2022牛客暑期多校训练营6

    "蔚来杯"2022牛客暑期多校训练营6 [题目链接]("蔚来杯"2022牛客暑期多校训练营6_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛 ...

  5. “蔚来杯“2022牛客暑期多校训练营10,签到题HFIE

    题号 标题 已通过代码 通过率 团队的状态 A Everlasting Transeunt 点击查看 6/42 B Fall Guys-Perfect Match 点击查看 6/115 C Magic ...

  6. “蔚来杯“2022牛客暑期多校训练营8

    Equivalence in Connectivity 前置知识点如下: 1. 并查集哈希 2. 可撤销并查集 3. 线段树分治 #include<bits/stdc++.h> using ...

  7. “蔚来杯“2022牛客暑期多校训练营10补题

    H  Wheel of Fortune 题意 有两个人在打炉石,一方转动了尤格萨隆的命运之轮触发了炎爆选项.双方英雄的血量分别为A和B,双方场面的血量分别为ai和bi,问A获胜的概率. 思路 将代码分 ...

  8. “蔚来杯“2022牛客暑期多校训练营8 D题: Poker Game: Decision

    D题: Poker Game: Decision 原题链接:https://ac.nowcoder.com/acm/contest/33193/D 题目大意 在德州扑克的大小比较规则情况下,发牌顺序与 ...

  9. “蔚来杯“2022牛客暑期多校训练营2 G.[Link with Monotonic Subsequence] 分块构造

    G. Link with Monotonic Subsequence 构造 题目分析 要求构造一个长度为 n n n的序列,使得序列的 max ⁡ ( lis ( p ) , lds ( p ) ) ...

  10. “蔚来杯“2022牛客暑期多校训练营2 个人题解集合

    文章目录 D.[Link with Game Glitch](https://ac.nowcoder.com/acm/contest/33187/D) 题目分析 Code G.[ Link with ...

最新文章

  1. 程序员持续成长,需要持久而痛苦的学习
  2. Antd-Design List渲染列中Button 点击事件 传递参数
  3. python变量运算符_Python(三) 变量与运算符
  4. macOS配置Visual Studio Code开发Java项目
  5. constexpr函数
  6. 蒙古族女孩鲍尔金娜的小说《紫茗红菱》
  7. P4585-[FJOI2015]火星商店问题【线段树,可持久化Trie】
  8. mysql 强制使用索引_快速找出MySQL数据库冗余索引和未使用索引
  9. mysql学习笔记 查找技术 1207 0311
  10. python3写的一个检测远程服务器端口脚本
  11. SQL Server高级查询之子查询(子查询非典型应用)
  12. 机器学习 - [源码实现决策树小专题]决策树中混杂度数值度量的Python编程实现(信息熵和基尼系数的计算)
  13. SYN-COOKIE
  14. html求视频的原尺寸,PR怎样导出原尺寸视频?
  15. 常见cpu性能优化方法
  16. 笔记——关于每次重启之后,虚拟机网络无网络访问权限的解决方法
  17. 微信公众号教程—记录个人公众号运营(待更新)
  18. 在线匿名聊天源码 不错的UI 亲测没毛病 非泛滥版
  19. postgresql 备份 还原
  20. lv蒙田包二手价格_盘点 | LV家保值性最高,最值得入手的五款包包

热门文章

  1. 首届百度Apollo生态大会为什么选择长沙?
  2. TAP-Win32 Adapter OAS“的网络适配器删除后总是出现(kms激活器及win10激活)
  3. Maya中怎么一键清除历史
  4. IBM沃森Watson答题过程全揭秘
  5. linux调整列显示宽度,使单元格或列自动调整宽度 - 在SWT中使用OLE操纵Excel_Linux编程_Linux公社-Linux系统门户网站...
  6. 好听的敕勒川天苍苍野茫茫风吹草低见牛羊
  7. android进入微信加好友页面,Xposed-微信自动加好友功能实现2--自动跳转验证申请页面...
  8. 软件工程实验微信小程序
  9. 华为改变策略,出击超低端手机市场
  10. Linux运维技术之Linux云计算架构