摘要: 传送门 这个题听说是NOIP2017最难的题?反正我当时啥也不会爆零…… 首先我们看送的分,直接跑最短路计数有30pts。 之后就不会了hhhhh…… 我们仔细观察题目之后发现,这个题k的数据范围特别小,只有50,也就是说我们最多只会统计比最短路径长50的所有路径条数,那我们其实完全是可以这样DP的 阅读全文
posted @ 2018-09-27 23:58 CaptainLi 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 传送门 这道题是个Tarjan+DAG上求最长路的好题啊……来说说我的智障做法。 首先这题很明显要缩点,这都没啥,然后我发现要求最长路? 好啊,直接找昨天学的那种,深搜!过了样例就交。 算法一,期望得分100,实际得分7. ???好的,发现这个算的是从一个点出发的最长路,我们要求的是终点还必须是酒馆 阅读全文
posted @ 2018-09-27 23:42 CaptainLi 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 传送门 这道题也是很简单的树剖啊……(虽然说大佬们都用了什么树上差分……但是这题暴力树剖真能过) 其实N = 300000有点卡nlog^2n,不过这题数据好像比较水还是能过的。 直接用树剖维护,每次走过一条路径就把上面所有的点值全部++,最后输出每个点被走过多少次即可。 不过这里就有了BUG!我们 阅读全文
posted @ 2018-09-27 00:38 CaptainLi 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 传送门 这个题还是树剖的基本练习,不过线段树维护的东西复杂了一些。 还是树剖起手,之后我们要在线段树中维护当前区间内颜色个数,最靠左的颜色和最靠右的颜色。这样的话我们在合并的时候,如果左区间最靠右颜色和右区间最靠左颜色是相同的话,那么这个合并之后的区间的颜色个数要-1(因为原来计算的方法是左右两区间 阅读全文
posted @ 2018-09-27 00:30 CaptainLi 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 传送门 最近学了树剖我们来做几道题练练手。 这个题我觉得也是板子题啊…… 反正就是对于一个安装操作,就在它自己所在链向上跳,如果当前链顶已经被安装的话计算一下从这个点到链顶还有多少没被安装即可。每次向上跳的时候都要把经过的链上的点全改为1.至于卸载操作就更简单了,直接先统计自己子树内有多少节点值为1 阅读全文
posted @ 2018-09-27 00:24 CaptainLi 阅读(178) 评论(0) 推荐(0) 编辑