loj
w_57
这个作者很懒,什么都没留下…
展开
-
loj2481. 「CEOI2017」Sure Bet
2481. 「CEOI2017」Sure Bet 首先选的肯定是A最大的一段,B最大的一段。 然后二分答案w,枚举选了最大的i个A,和记为sa,算出最多可以选几个sa-w; 对B,和至少要为i+w,维护前缀和后可以二分出这个位置p。 比较p和sa-w的大小决定当前二分的答案是否可行。 #include <bits/stdc++.h> using namespace std; #define rep(i,a,n) for (int i=a;i<n;i++) #define per(i,a,原创 2020-10-22 23:39:25 · 288 阅读 · 0 评论 -
loj2254. 「SNOI2017」一个简单的询问
loj2254. 「SNOI2017」一个简单的询问 这里用的是分块的做法。 首先可以差分一下,把左区间都换为1,对一个固定的x get(l1,r1)∗get(l2,r2)=(get(1,r1)−get(1,l1−1))∗(get(1,r2)−get(1,l2−1))=get(1,r1)∗get(1,r2)+get(1,l1−1)∗get(1,l2−1)−get(1,r1)∗get(1,l2−1)−get(1,r2)∗get(1,l1−1) get(l1,r1)*get(l2,r2)\\ =(get(1,r原创 2020-10-22 22:25:43 · 122 阅读 · 0 评论