摘要: Link: BZOJ 1057 传送门 Solution: 一道求最大子矩阵的裸题 一般求最大子矩阵的方法为单调栈(BZOJ 3039 玉蟾宫 )/ 垂线法 两者的思想其实完全相同,不过以前没写过垂线法,这次来练一练 垂线法要记录3个状态: $h[i][j]$记录当前点能向上合法走的步数 $l[i] 阅读全文
posted @ 2018-07-03 19:50 NewErA 阅读(214) 评论(2) 推荐(0) 编辑
摘要: Link: BZOJ 1060 传送门 Solution: 直接上树形$dp$统计当前节点到叶子的最长距离 在返回前统计答案,这样就保证每棵子树已经平衡,相当于只调整$w(i,son[i])$ 可以发现每条边对答案的贡献为$dp[i]-dp[son[i]]-w(i,son[i])$ Code: 阅读全文
posted @ 2018-07-03 19:31 NewErA 阅读(148) 评论(0) 推荐(0) 编辑
摘要: Link: BZOJ 4720 传送门 Solution: 2016年$NOIP$考的一道语文题 题面虽长,但思路并不难想 对于这类期望问题,大多数时候都用期望$dp$来解决 根据询问:在$n$个时间段中有$m$段可以申请调换时的最小期望值 我们可以设$dp[i][j][0/1]$表示前$i$段中有 阅读全文
posted @ 2018-07-03 19:19 NewErA 阅读(174) 评论(0) 推荐(0) 编辑
摘要: Link: AGC002 传送门 A: …… #include <bits/stdc++.h> using namespace std; int a,b; int main() { scanf("%d%d",&a,&b); if(a>0) puts("Positive"); else if(a<=0 阅读全文
posted @ 2018-07-03 18:56 NewErA 阅读(171) 评论(0) 推荐(0) 编辑
摘要: Link: BZOJ 1801 传送门 Solution: 一眼看过去又像是状压$dp$的经典模型…… 但此题$n,m\le 100$ ,直接跑状压只有50分 此时要发现这道题的特点:每行/列不能放置超过2个 既然每一列只可能有 不选/选1个/选2个 这三种状态,直接记录这三种状态的个数即可 于是设 阅读全文
posted @ 2018-07-03 08:49 NewErA 阅读(143) 评论(0) 推荐(0) 编辑
摘要: Link: BZOJ 1725 传送门 Solution: 事实证明,POJ 1185 炮兵阵地 一道顶十三道! 注意每个状态维护的值要灵活变通! 此题仅要求总次数,因此只要记录末行状态,不用记录当前总个数 Code: 阅读全文
posted @ 2018-07-03 08:40 NewErA 阅读(134) 评论(0) 推荐(0) 编辑