摘要: 题目大意:有$n$个数,有$m$个操作,有三种: (线段树2就是先读入$n\;m\;p$,再读入序列;本题是先读入$n\;p$,读入序列,再读入$m$,双倍经验) 题解:线段树,把$lazy\_tag$变成两个,分别记录区间加和区间乘,注意乘法的优先级比加法高 卡点:无(我以前写的是什么代码啊?)C 阅读全文
posted @ 2018-09-07 15:17 Memory_of_winter 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有$n$个点,每个点有一个距离(从小到大给出),从第$i$个点跳一次,会跳到距离第$i$个点第$k$远的点上(若有两个点都是第$k$远,就跳到编号小的上)。问对于从每个点开始跳,跳$m$次,最后会到哪个点 题解:难点主要在处理第$k$远上(跳只需要一个类似快速幂的东西就好了,也就是倍增)。 阅读全文
posted @ 2018-09-07 13:59 Memory_of_winter 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个$n$个点$m$条边有向图,第$i$个点有权值$w_i$,求一条路径,使路径经过的点权值之和最大,输出点权和,(多次经过一个点只算一次点权) 题解:$tarjan$缩点+$DP$ 卡点:1.多处$i,j$打错 2.要求找到一条路径,看成了终点必须为$n$ C++ Code: 阅读全文
posted @ 2018-09-07 12:59 Memory_of_winter 阅读(157) 评论(0) 推荐(0) 编辑