摘要:
设计二维dp状态为f[][],处理到i,比原来方案多j的答案是多少 这样可以根据h[i]和h[i+1]来作比较得到 这里因为多j个可能是负的,也就是当前答案不一定是正的,因此我们考虑坐标平移2001个位置,把2001这个点当作原点,这样不会产生边界情况 #include<bits/stdc++.h> 阅读全文
摘要:
这题我们显然可以发现,一个点越被迟处理越优,因此可以先预处理一波,接下来我们发现,如果贪心的在某个点最后可以取的位置去掉,那么可能会出现到后来不够的情况 因此其实我们可以使用反悔贪心的思路,先都取掉,用优先队列维护之前取掉的贡献值,从小到大排序 如果不够了,就把最小的那个去掉,这样兵力就能+1,因此 阅读全文