离散化
穷源溯流
路很长,尽管走便是。
展开
-
Codeforces Round #129 (Div. 1) B. Little Elephant and Cards(离散化)
有 n 张牌,每张牌先输入它的正面,再输入它的反面,问最少有几次翻面可以使正面的花色出现的数量超过一半 首先如果一种花色出现次数超过 n 的一半才有可能产生答案,题目模拟即可 但是如果没有答案需要输出 -1,最重要的是一张牌可能两面都是相同的花色,这样其对花色的贡献数量为 1 const int N=2e5+5; int n,m; int i,j,k; pii a[N]; vector<int> v; pii sum[N]; ...原创 2021-03-13 15:44:32 · 188 阅读 · 0 评论 -
NC15203 投票统计(离散化)
其实这个题用 map 的话很好解决 本题采用离散化解决,利用桶排的思想,因为桶无法申请那么大的内存,所以进行离散化 const int N=1e5+5; int i,j,k; int n,m,t; pii a[N],cnt[N]; vector<int> v,ans; int get_id(int x) { return lower_bound(v.begin(),v.end(),x)-v.begin()+1; } bool ...原创 2020-11-22 15:47:32 · 234 阅读 · 0 评论