D. Cutting Out 二分】的更多相关文章

题意是给你n个数字的序列,让你从中找含k个数字的序列,要求这k个数字要尽可能多次的从n个数字的序列中减去. 解法就是从1到n,二分查找可以删除的最大次数. http://codeforces.com/contest/1077/problem/D #include<bits/stdc++.h> using namespace std; ; int book[maxn]; int box[maxn]; int n,k; int fun(int cnt) { ; ; i<maxn; i++)…
题目链接:Cutting Out 题意:给定一个n长度的数字序列s,要求得到一个k长度的数字序列t,每次从s序列中删掉完整的序列t,求出能删次数最多的那个数字序列t. 题解:数字序列s先转换成不重复的数字序列,并记录各个数字重复的次数,然后按照重复次数从大到小排序.二分最大删除次数,最后再输出对应的序列t. #include <map> #include <cstdio> #include <iostream> #include <algorithm> us…
任意门:http://codeforces.com/contest/1077/problem/D D. Cutting Out time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard output You are given an array ss consisting of nn integers. You have to find any ar…
题目链接 传送门 题意 有\(n\)棵竹子,然后有\(q\)次操作,每次操作给你\(l,r,x,y\),表示对\([l,r]\)区间的竹子砍\(y\)次,每次砍伐的长度和相等(自己定砍伐的高度\(len\),该区间大于\(len\)的树木都要砍到\(len\)),问你第\(x\)次砍的高度是多少(注意在经过\(y\)次砍伐后该区间的竹子的高度都会变成\(0\),询问之间互不影响). 思路 由于在\(y\)次砍伐后树木高度都变为\(0\),且每次砍伐的总长度都相等,因此每次砍伐的长度和为该区间内竹…
题意:n个竹子,有高度,q次询问,询问之间是独立的,每次查询输入l,r,x,y代表砍区间[l,r]]内的竹子砍y次,最后一次要砍成0,每次砍掉的总长度相同,问第x次砍的高度是多少. 既然每次要求砍掉的东西都相同,那么就可以直接算出来砍第x次需要砍掉多少(sumh(l~r)/y*x),然后只需要二分这个高度,在主席树中查找大于等于这个高度的竹子总和减去个数乘以高度即可. 因为主席树的本质是由多颗权值线段树 #include<bits/stdc++.h> using namespace std;…
原题:https://ac.nowcoder.com/acm/contest/889/H 题意: 给你一些竹子,q个询问,问你从第l到第r个竹子,如果你要用y次砍完它,并且每次砍下来的长度是相同的,问你第x次砍在哪. 思路: 先求前缀和,(l,r)区间要砍y刀,每刀总长度step=(sum[r]-sum[l-1])/y,第x次砍完必定还剩下总长度为step*(y-x)的竹子.想到可以二分砍的高度,判断砍得偏高还是偏低,可以通过计算剩下得总长度比要求大还是小.设高度为h,则剩下的总长度=\(高度小…
二分第x次砍的位置,然后用线段树查询小于这个位置的数的个数和值的和.然后判断即可 注意!!!主席树是通过动态开点实现的,本身已经不用再从1开始了,而本题开的范围也应该是0,100000 而不是1,100000(害得我找了很久的错误) #include<iostream> #include<string.h> #include<algorithm> #include<stdio.h> #include<math.h> #define LL long…
题目:戳这里 题意:给n个数的数组,要求找k个数满足,这k个数在数组中出现的次数最多. 解题思路:k个数每个数出现次数都要最大化,可以想到二分下限,主要是正确的二分不好写. 附ac代码: 1 #include <bits/stdc++.h> 2 typedef long long ll; 3 const int maxn = 1e6+10; 4 const ll inf = 1e18; 5 using namespace std; 6 int cnt[maxn]; 7 int s[maxn];…
Pyramid Split Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 104    Accepted Submission(s): 50 Problem Description Xiao Ming is a citizen who's good at playing,he has lot's of gold cones which…
Problem You are waiting in a long line to get a haircut at a trendy barber shop. The shop has B barbers on duty, and they are numbered 1 through B. It always takes the kth barber exactly Mk minutes to cut a customer's hair, and a barber can only cut…