博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ4813: [Cqoi2017]小Q的棋盘
阅读量:4884 次
发布时间:2019-06-11

本文共 974 字,大约阅读时间需要 3 分钟。

【传送门:】


简要题意:

  给出一棵树,从根节点出发,走n步,求最多能经过多少个点(重复经过不算)


题解:

  贪心

  本来想着树形DP,太麻烦了,懒得码

  首先我们把最长链留到最后走,这样子我们就可以一次性将最长链走完了,那么最长链的每条边的代价就是1

  而其它边的代价就为2(因为要往回走),然后贪心就好了

  特殊情况:

  1.最长链的长度>=步数,直接输出步数

  2.步数足够将整张图走完,直接输出n

  直接在贪心的时候顺便处理就好了


参考代码:

#include
#include
#include
#include
#include
using namespace std;struct node{ int x,y,next;}a[210];int len,last[110];void ins(int x,int y){ len++; a[len].x=x;a[len].y=y; a[len].next=last[x];last[x]=len;}int dep[110];void dfs(int x,int fa){ for(int k=last[x];k;k=a[k].next) { int y=a[k].y; if(y!=fa) { dfs(y,x); dep[x]=max(dep[y]+1,dep[x]); } }}int main(){ int v,n; scanf("%d%d",&v,&n); len=0;memset(last,0,sizeof(last)); for(int i=1;i
=2){ans++;n-=2;} printf("%d\n",ans); return 0;}

 

转载于:https://www.cnblogs.com/Never-mind/p/8649069.html

你可能感兴趣的文章
51Nod 1095 Anigram单词 | Hash
查看>>
(五)jdk8学习心得之默认方法
查看>>
PHP与ajax,无刷新表单提交
查看>>
矩阵快速幂 -- 兔子繁殖(也就是斐波那契数列啦)
查看>>
Django content_type 简介及其应用
查看>>
poj 1222 EXTENDED LIGHTS OUT
查看>>
qq直聊(1679148947为账号,可以更改)
查看>>
机器学习/深度学习常用资源
查看>>
推荐系统CTR预估-PNN模型解析
查看>>
asp.net core-15.Individual authentication 模板
查看>>
数梦工场:新思维、新技术下的互联网+政务
查看>>
关于java集合的一些操作
查看>>
消息队列—ActiveMQ
查看>>
又强大又方便的 IcoMoon 图标字体
查看>>
05.SSL或TTL应用编程
查看>>
PostgreSQL自学笔记:5 数据类型和运算符
查看>>
Android学习_7/25
查看>>
3400: [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队
查看>>
[异能程序员]第一章 酒后事发(第一更)
查看>>
系统设计
查看>>