摘要: 题目链接 "POJ2374" 题解 题意: 给出$n$个平行于$x$轴的栅栏,求从一侧栅栏的某个位置出发,绕过所有栅栏到达另一侧$x = 0$位置的最短水平距离 往上说都是线段树优化dp 我写了一个奇怪的线段树过了,似乎并没有和dp沾边 因为每次都是从某个栅栏的端点出发,到达某个位置的值等于[所有这 阅读全文
posted @ 2018-05-10 21:27 Mychael 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 题目链接 "POJ" 题解 背包树形dp板题 就是读入有点无聊,浪费了很多青春 C++ include include include include include include include define LL long long int define REP(i,n) for (int i 阅读全文
posted @ 2018-05-10 16:48 Mychael 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 题目链接 "BZOJ1855" 题解 设$f[i][j]$表示第$i$天结束时拥有$j$张股票时的最大收益 若$i \le W$,显然在这之前不可能有交易 $$f[i][j] = max\{f[i 1][j], ap[i] j\} \quad [j \le as[i]]$$ 否则,就有三种选择: ① 阅读全文
posted @ 2018-05-10 14:49 Mychael 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 题目链接 "POJ3585" 题解 二次扫描与换根法 对于这样一个无根树的树形dp 我们先任选一根进行一次树形dp 然后再扫一遍通过计算得出每个点为根时的答案 C++ include include include include include define LL long long int de 阅读全文
posted @ 2018-05-10 12:18 Mychael 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 题目链接 "选课" 题解 基础背包树形dp C++ include include include include include define LL long long int define Redge(u) for (int k = h[u],to; k; k = ed[k].nxt) defi 阅读全文
posted @ 2018-05-10 11:20 Mychael 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 题目链接 "BZOJ2535" 题解 航班之间的关系形成了一个拓扑图 而且航班若要合法,应尽量早出发 所以我们逆拓扑序选点,能在后面出发的尽量后面出发,不会使其它点变得更劣,容易知是正确的 第二问只需枚举航班$x$,拓扑排序时忽视$x$,最后无法选点时就是$x$最早的时间 C++ include i 阅读全文
posted @ 2018-05-10 10:24 Mychael 阅读(199) 评论(0) 推荐(0) 编辑