摘要:
首先,我们先确定,最长的曼哈顿距离只可能为 x1+y2-(x2+y2) 和 x1-y1-(x2-y2) 所以我们只需要维护四个值,分别代表 max(x+y) ; max(x-y) ; min(x+y) ; min(x-y) ;因此答案也就是 max(max(x+y)-min(x+y),max(x-y... 阅读全文
摘要:
这题。。思维上远没有上一题复杂,是一个裸的RMQ。。利用倍增就可以解决了。 1 var n,q,i,j,f,t,c:longint; 2 a:array[0..20,0..25001] of longint; 3 function min(a,b:longint):longint; 4 begin ... 阅读全文
摘要:
还是蛮简单的一道题,首先dfs一遍,在所有能到达放有干草的洞穴的所有路径中,找出路径上最小伐值的最大值,按这个值由小到大,再来一遍贪心就行了,能放就放,不能放拉倒(也可以理解为,不能放把最前一个删了)。但是如果题目改为每个洞穴不止一堆干草的话,也是没有问题的,只要在队列上在维护一个小根堆,判断队列中... 阅读全文
摘要:
呵呵呵呵呵,很水的DP,同时能够朴素枚举出来,这数据弱的 是 吃了尸米吧。。 1 var n,i,j,k,l,ans:longint; 2 begin 3 readln(n); 4 for i:=0 to trunc(sqrt(n)) do 5 for j:=0 to trunc(s... 阅读全文
摘要:
水题,模拟就行了,别忘了L>=r的时候直接更新下一个的L然后continue 1 type 2 node=record 3 l,r:longint; 4 end; 5 var n,l,i,ans:longint; 6 k:array[0..10001] of node; 7 func... 阅读全文
摘要:
这道题讨论了好久,一直想不明白,如果按传统的随便某一个点出发找最长链,再回头,K=2 的时候赋了-1就没法用这种方法找最长链了,于是乎,更强的找最长链的方法就来了。。类似于DP的东西吧。先上代码: 1 const maxn=100002; 2 type 3 node=record 4 f... 阅读全文