摘要:
写了1506顺便写下1505。。 还是求矩形面积,不过要预处理一下以每一个F为底的高度,然后想左右扩展到最大长度即为矩形的长。。 计算方法有点绕,令l\[i]表示i的左边界,那么初始化l\[i] = i. 假设我们在第n行 每次向左跳 判断 h[j]是否小于或等于h\[l\[j] 1],换句话说就是 阅读全文
摘要:
单调栈裸题 如果矩形高度从左到右是依次递增,那我们枚举每个矩形高度,宽度拉到最优,计算最大面积即可 当有某个矩形比前一个矩形要矮的时候,这块面积的高度就不能大于他本身,所以之前的所有高于他的矩形多出来的部分都没用了,不会再计算第二次。 因此我们只需要用单调栈维护矩形高度即可,当有高度较低的矩形进栈时 阅读全文
摘要:
反向建图+dijkstra 切一道老题水水。。。 题目的意思是让我们找到两个点x,y,使得差值最大。 所以我们先在正向图跑dijkstra,用d数组表示从起点到i点的最少价值,所以可以用d\[i]=min(w\[i], d\[j])更新d值 再用f数组表示从该点到终点的最大价值,这次我们在反向图从n 阅读全文
摘要:
拓扑排序+状态压缩 考虑每一个点能够到达的所有点都是与该店相邻的点的后继节点,可知: 令f\ "u]表示u点可到达的节点个数,f\[u]={u}与f\[v" 的并集 于是可以利用状态压缩,能够到达的节点用1表示,这样更新f的时候直接求并集即可 include define INF 0x3f3f3f3 阅读全文