摘要:
首先考虑两个点的最优集合点,必然是在这两点间最短路径上三个点的最优集合点,不难猜测,是在两两之间的LCA上取,那到底取哪个呢?有一个偷懒的思维方法由于最后的最优集合点唯一,如果有两个LCA相等,则一定是另外一个当然事实也是这样选定了集合点之后,设选的是a,b的LCA,ab到集合点的距离在LCA中可以... 阅读全文
posted @ 2014-08-21 22:02
acphile
阅读(116)
评论(0)
推荐(0)
摘要:
显然如果只有一个窗口,是一道贪心的题目,直接让吃饭慢的排在前面即可两个窗口的话,我们还是根据这个原则先对吃饭时间降序排序,然后这是一个dp假如设当前处理到第i个人,当在窗口1的打饭时间确定了,窗口2的打饭时间也就知道了我们用f[i,j]表示到第i个人,窗口1的打饭时间为j时的最快集合时间然后dp搞一... 阅读全文
posted @ 2014-08-21 20:50
acphile
阅读(200)
评论(0)
推荐(0)
摘要:
这道题很有意思我们解过线性同余方程,也解过同余方程这个则是求x^2≡1 (mod p)可以将问题转化为(x-1)(x+1)≡0 (mod p)然后我们穷举一下p的约数i,看i|x-1,p/i|x+1 或者i|x+1, p/i|x-1是否可行解然后排序去重即可 1 var ans:array[0..1... 阅读全文
posted @ 2014-08-21 20:39
acphile
阅读(136)
评论(0)
推荐(0)
摘要:
都LCP了很显然是要用到后缀数组的显然前面的那个东西是可以直接算出来的关键在于LCP的和怎么快速的计算不难想到穷举height[i],然后判断这个height[i]可能成为多少对后缀的LCP考虑到LCP(i,j)=min(height[rank[i]+1~rank[j]]) 假定rank[i]k) ... 阅读全文
posted @ 2014-08-21 19:57
acphile
阅读(156)
评论(0)
推荐(0)
摘要:
表面上看这是一道LCS问题LCS问题O(n2)的复杂度已经很优秀了而这道题需要O(nlogn)以下的复杂度才能AC所以我们要找经典问题的特殊性特殊就在这两个串中,每个数字都是恰好出现5次不难想到先预处理每个数在B串依次出现的位置先扫一遍A串,对于每一个数a[i],设f[j]=LCS(i,j)显然这个... 阅读全文
posted @ 2014-08-21 15:27
acphile
阅读(120)
评论(0)
推荐(0)
摘要:
首先不难想到排序,这种无规律的东西一般都要转化为有规律才好做 首先以x为第一关键字,y为第二关键字升序排序 拍完序我们发现,若存在两块土地i,j x[i]<=x[j],y[i]<=y[j],那么土地i的购买一定可以忽略(因为价格是由x,y的乘积决定的) 剔除掉不需考虑的土地,不难发现剩下的土地x是升 阅读全文
posted @ 2014-08-21 15:13
acphile
阅读(137)
评论(0)
推荐(0)
浙公网安备 33010602011771号