摘要: 考虑到当前能否选择这头牛 是与上次选哪头牛有关的 因为要满足差值大于k 所以记录一下last 表示选了哪一头牛 然后记忆化一下 有两个坑点 1.注意取绝对值 2.要枚举开头的那头牛 决不能直接dfs(0,0,0) 因为第一头牛与0的差值不一定大于k(或者初始化一下a[0]= INF也阔以) 这里提供 阅读全文
posted @ 2018-10-18 23:08 Patrickpwq 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 维护一个区间的包含最左的元素的LCIS,包含最右元素的LCIS,以及整个区间的LCIS, 然后pushup的时候就更新这三个值就行了。注意要考虑左右儿子可以“接”起来的情况等等 查询的时候要注意,也要考虑左右可以“接”起来时候,不过还要注意,有可能左右儿子边界的已经“越界了”,就是超过了查询范围,还 阅读全文
posted @ 2018-10-18 20:43 Patrickpwq 阅读(82) 评论(0) 推荐(0) 编辑
摘要: DFS策略:对于当前状态,枚举下一个选哪个(i),如果当前耗时已经超过i的死亡线,ans就累积 然后可以记忆化当前状态标记为true 之后扫到这儿就return 代码不是A的。。和几份题解都对拍了半天没找出问题 如果能指出错误的话请评论 cpp include define N 17 define 阅读全文
posted @ 2018-10-18 16:37 Patrickpwq 阅读(142) 评论(0) 推荐(0) 编辑
摘要: "传送门" 我们记录pos1 pos2 pos3 分别代表现在字符串1,2,3的位置 然后判断pos1是否等于pos3 或者pos2是否等于pos3 分别进行dfs 然后我们发现是可以记忆化的 比方当pos1=pos3且pos2=pos3 那会先搜索pos1+1 那么在这一次的dfs 有可能就 提前 阅读全文
posted @ 2018-10-18 14:45 Patrickpwq 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 我们直接在dfs的时候顺便建主席树 维护一个节点到根路径上的节点出现情况 对于查询(u,v) 用u点的主席树+v点的主席树 lca(u,v)的主席树 lca(u,v)父节点的主席树,在这样产生的主席树上查找第k小的排名,最后输出它原来的点权。 lca我选择了树链剖分 cpp include defi 阅读全文
posted @ 2018-10-18 14:03 Patrickpwq 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 先打一个最裸的暴力再优化 10分代码 cpp // luogu judger enable o2 include define N 105 using namespace std; int n,m,a[N][N],true_ans,choose[N]; //n束花 m个瓶子 vector q; vo 阅读全文
posted @ 2018-10-18 11:08 Patrickpwq 阅读(176) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/linkfqy/article/details/72861176 阅读全文
posted @ 2018-10-18 10:01 Patrickpwq 阅读(92) 评论(0) 推荐(0) 编辑