摘要:
从(1,1,n,n)每次只变一个坐标,进行询问。 如果问到对角线有距离限制, 再从(1,1,n/2,n/2)询问到(n/2,n/2,n,n) 记住前半部分贪心忘上走,后本部分贪心往右走 因为最后的路线可能有多条 所以这样走的话一定能找到一条对角线在右上角的路线 c++ include include 阅读全文
摘要:
从最大的数开始讨论 如果最大的数中间有断开的地方,那么就需要从0里面选,把他填上 需要使用树状数组 include include include include include include include include include include include include incl 阅读全文
摘要:
二分答案 然后前缀和+树状数组来判断这个答案是否大于等于数 如果我们对于一个查询,如果小于这个数令为1,大于这个数领为 1 将所有前缀和放在树状数组中,就可以查询所有sum_{l} include include include include include include include inc 阅读全文
摘要:
先枚举所有的列长度 对于每种列长度,然后里面用dp算 include include include include include include include include include using namespace std; const int INF = 0x3f3f3f3f; ch 阅读全文
摘要:
有图可以直观发现,如果一开始的pair(1,1+n/2)和pair(x, x+n/2)大小关系不同 那么中间必然存在一个答案 简单总结就是大小关系不同,中间就有答案 所以就可以使用二分 include include include include include include include i 阅读全文
摘要:
首先枚举Berland最后的得票数,然后根据这个得票数, 根据得票数,贪心的取价钱少的人: 首先 原票数 就比Berland预计票数的团队 需要票投到比Berland少1 如果Berland还是达到预计的票数,然后再贪心从其他人中取 c++ include include include inclu 阅读全文