博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷P3698 [CQOI2017]小Q的棋盘
阅读量:6231 次
发布时间:2019-06-21

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

 

考虑一个贪心,先在根节点周围转一圈,然后再往下走最长链肯定是最优的

然后设最长链的长度为$d$,如果$m\leq d$,那么答案为$m+1$

否则的话还剩下$m-d+1$步,又得保证能走回来,所以答案为$min\{n,d+\frac{m-d+1}{2}\}$

1 //minamoto 2 #include
3 #include
4 using namespace std; 5 #define getc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++) 6 char buf[1<<21],*p1=buf,*p2=buf; 7 template
inline bool cmax(T&a,const T&b){
return a

 

转载于:https://www.cnblogs.com/bztMinamoto/p/9827260.html

你可能感兴趣的文章
OSChina 周四乱弹 ——00后让别人给自己网购女朋友
查看>>
OSChina 周六乱弹 ——程序员的情怀:贫贱不能移
查看>>
螺旋矩阵
查看>>
SQLserver From simple To Full backup model
查看>>
一个不错的图片
查看>>
win32学习07.Windows消息机制
查看>>
Spring中使用import整合多个配置文件
查看>>
简单工厂模式
查看>>
热门搜索和历史搜索的设计思想
查看>>
php cgi模式下获取执行文件的完整路径
查看>>
防SQL注入过滤器的实现
查看>>
Android在onCreate()中获得控件尺寸
查看>>
php设置虚拟目录
查看>>
计算机是如何做加法的?(4)——构建半加器的初步设想
查看>>
最近打算把string_h下面的函数都实现一遍
查看>>
farpoint合计列不参与排序实现方法
查看>>
嵌入式Linux C语言基础——ARM Linux内核常见数据结构
查看>>
原理剖析(第 006 篇)Semaphore工作原理分析
查看>>
Java基础查漏补缺:(开篇)为什么要在即将找工作的时候还在看Java基础
查看>>
VXWORKS关于任务创建的几个函数概述
查看>>