摘要: #include<iostream> using namespace std; /* e > h[k + 1],跳到k + 1 塔上的能量:e + e - h[k + 1] = 2 * e - h[k + 1] e <= h[k + 1], 跳到k + 1 塔上的能量:e - (h[k + 1] - 阅读全文
posted @ 2020-08-29 16:56 yys_c 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 注意二分的范围 #include<iostream> using namespace std; const int N = 100010; int h[N], w[N], n, k; /* 答案二段性:如果一个边长t满足,那么所有小于等于t的边长一定满足, 此时需要找最大的t */ int chec 阅读全文
posted @ 2020-08-29 16:37 yys_c 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 推导过程: 前缀和数组:s[0 ~ n] 计算任意一端区间[l, r] (l, r属于[1 ~ n]) 的和使用公式s[r] - s[l - 1] 设l - 1 = t 本题要枚举r,res += s[t] (t 属于0 ~ r - 1)内的和s[r] 模k同余的数的个数 所以开一个cnt数组记一下 阅读全文
posted @ 2020-08-29 16:22 yys_c 阅读(117) 评论(0) 推荐(0) 编辑