
二分
bigstrength
记录学习的算法,以及好点的题
展开
-
Educational Codeforces Round 127 (Rated for Div. 2) C. Dolce Vita
C. Dolce Vita本题先预处理出所有商店糖果价格的前缀和sum[i],显然当金币的数量小于sum[i]则当天不能买到i个糖果,反之可以。所以我们还要预处理出b[i],表示前i个商店涨价后总价格最后小于x的天数,可以二分处理。答案的构成是当天没有涨价能买的糖果数量ans1加上后面慢慢涨价后能买到的数量ans2。显然, ans1是前缀和最后一个小于x的下标。ans2的计算:我们从后往前遍历数组b,然后定义一个变量r存b[i + 1],一开始r = 0,产生的贡献是当天可以涨价的天数减去后面一天涨原创 2022-04-23 10:52:09 · 424 阅读 · 0 评论 -
2021-09-04
D - Cutting Woods方法:二分将砍木头的位置存到一个set里面,然后进行二分,二分出第一个大于的等于询问位置的位置,减去前面一个位置就是答案时间的复杂度mlogm#include <bits/stdc++.h>using namespace std;int n, m;set<int>s;int main(){ ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); cin原创 2021-09-04 22:51:28 · 77 阅读 · 0 评论 -
2021-08-09
The 14th Jilin Provincial Collegiate Programming ContestG.MatrixProblem G. MatrixInput file: standard inputOutput file: standard outputTime limit: 1 secondMemory limit: 256 megabytesBob is playing a matrix game. He needs to deal with a matrix of n原创 2021-08-09 20:31:14 · 324 阅读 · 0 评论