07 2019 档案

摘要:此笔记开始记录时间为2019.7.20 主要供自己深化知识点 一、Floyd算法: 流程(重点理解): 通常我们写的Floyd算法框架是这样的 ~~~c++ for(int k=1;kj路径只经过1 k节点的最短路 且d[i][j][0]为i j的初始路径 则若经过k节点 d[i][j][k]=d[ 阅读全文
posted @ 2019-07-20 23:36 zmy蒟蒻 阅读(278) 评论(0) 推荐(0)
摘要:"传送门" 终于拿下NOIP最难一题 看别人的题解看不懂 于是准备写一篇更~~通俗易懂~~杂乱无章的题解 解法: 树上差分+线段树(桶)+LCA 将每条路径在LCA处切成上升路径和下降路径 会发现对于x号观察员若观察到玩家i 则必有 dep "i]=w[x]+dep[x" 或 dep "i] 2 d 阅读全文
posted @ 2019-07-11 13:55 zmy蒟蒻 阅读(349) 评论(0) 推荐(1)
摘要:树剖要多打 代码: ~~~c++ include include include include include include include include define inf 2000000000 define min(x,y) ((x)(y)?(x):(y)) define rep(i,a 阅读全文
posted @ 2019-07-08 15:55 zmy蒟蒻 阅读(251) 评论(0) 推荐(0)
摘要:"传送门" 解法: 这道题虽然思路不会太难 但是代码较难实现 ~~可能是我太菜了~~ 思路就是二分答案 在答案范围内将军队尽量向上提(注意不能提到跟节点) 然后考虑子树见转移 对于根节点的子节点进行转移 要是爬上来消耗掉的时间还足以转移改军队 则将其加到根节点上准备转移 对于要救助的子节点进行转移即 阅读全文
posted @ 2019-07-07 19:16 zmy蒟蒻 阅读(199) 评论(0) 推荐(0)
摘要:"传送门" 解法: 首先要学会求 树的最近公共祖先(LCA) 没用树剖 用了一个经常可以代替树剖的方法 树上差分 ~~这个方法很优秀 一定要掌握~~ 首先 有了lca 就可以求树上两点间长度 设 $d[x]$ 为 $x$ 到 根节点 的距离 则 $u$,$v$ 间距离为 $d[u]+d[v] 2 d 阅读全文
posted @ 2019-07-01 20:56 zmy蒟蒻 阅读(257) 评论(0) 推荐(0)