2019牛客暑期多校训练营(第七场)-C Governing sand
题目链接:https://ac.nowcoder.com/acm/contest/887/C
题意:有n种树,给出每种数的高度、移除的花费和数量,求最小花费是多少使得剩下树中最高的树的数量占一半以上。
思路:先按高度值进行排序,暴力枚举以哪种树为最高的树,对每次选择,要将高度值大于该树的其它树全砍掉,这个可以O(n)预处理得到。然后要砍掉高度值小于该树中的花费最小的一些树使得满足条件,注意到c<=200,那么可以保存每种花费的树的个数,从1到200枚举出需要移除的数量的最小花费即可。
AC代码:
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cctype>
using namespace std; const int maxn=1e5+;
typedef long long LL;
int n;
LL ans,num[maxn],C[],pre,aft[maxn];
struct node{
LL h,c,p;
}a[maxn]; inline LL read(){
LL x=,f=;char ch=;
while(!isdigit(ch)) {f|=ch=='-';ch=getchar();}
while(isdigit(ch)) x=(x<<)+(x<<)+(ch^),ch=getchar();
return f?-x:x;
} bool cmp(node x,node y){
return x.h<y.h;
} LL cal(LL x){
LL res=;
for(int i=;i<=;++i){
if(C[i]>=x){
res+=i*x;
break;
}
else{
res+=i*C[i];
x-=C[i];
}
}
return res;
} int main(){
while(~scanf("%d",&n)){
ans=0x3f3f3f3f3f3f3f3f;
memset(C,,sizeof(C));
for(int i=;i<=n;++i)
a[i].h=read(),a[i].c=read(),a[i].p=read();
sort(a+,a+n+,cmp);
aft[n]=;
for(int i=n-;i>=;--i)
aft[i]=aft[i+]+a[i+].c*a[i+].p;
int j;
for(int i=;i<=n;i=j){
LL t1=a[i].p;
num[i]=num[i-]+a[i].p;
for(j=i+;j<=n&&a[j].h==a[i].h;++j){
num[j]=num[j-]+a[j].p;
t1+=a[j].p;
}
LL tmp=num[j-]-*t1+;
if(tmp<=)
pre=;
else
pre=cal(tmp);
for(int k=i;k<j;++k)
C[a[k].c]+=a[k].p;
ans=min(ans,pre+aft[j-]);
}
printf("%lld\n",ans);
}
return ;
}
2019牛客暑期多校训练营(第七场)-C Governing sand的更多相关文章
- 2019牛客暑期多校训练营(第九场)A:Power of Fibonacci(斐波拉契幂次和)
		题意:求Σfi^m%p. zoj上p是1e9+7,牛客是1e9: 对于这两个,分别有不同的做法. 前者利用公式,公式里面有sqrt(5),我们只需要二次剩余求即可. 后者mod=1e9,5才 ... 
- 2019牛客暑期多校训练营(第一场)A题【单调栈】(补题)
		链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网 题目描述 Two arrays u and v each with m distinct elem ... 
- 2019牛客暑期多校训练营(第一场) B	Integration (数学)
		链接:https://ac.nowcoder.com/acm/contest/881/B 来源:牛客网 Integration 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 5242 ... 
- 2019牛客暑期多校训练营(第一场) A	Equivalent Prefixes ( st 表 + 二分+分治)
		链接:https://ac.nowcoder.com/acm/contest/881/A 来源:牛客网 Equivalent Prefixes 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/ ... 
- 2019牛客暑期多校训练营(第二场)F.Partition problem
		链接:https://ac.nowcoder.com/acm/contest/882/F来源:牛客网 Given 2N people, you need to assign each of them ... 
- 2019牛客暑期多校训练营(第一场)A	Equivalent Prefixes(单调栈/二分+分治)
		链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网 Two arrays u and v each with m distinct elements ... 
- [状态压缩,折半搜索] 2019牛客暑期多校训练营(第九场)Knapsack Cryptosystem
		链接:https://ac.nowcoder.com/acm/contest/889/D来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语言52428 ... 
- 2019牛客暑期多校训练营(第二场)J-Subarray(思维)
		>传送门< 前言 这题我前前后后看了三遍,每次都是把网上相关的博客和通过代码认真看了再思考,然并卵,最后终于第三遍也就是现在终于看懂了,其实懂了之后发现其实没有那么难,但是的的确确需要思维 ... 
- 2019牛客暑期多校训练营(第一场)-A (单调栈)
		题目链接:https://ac.nowcoder.com/acm/contest/881/A 题意:给定两个长度均为n的数组a和b,求最大的p使得(a1,ap)和(b1,bp)等价,等价的定义为其任意 ... 
- 2019牛客暑期多校训练营(第一场)A - Equivalent Prefixes(单调栈)
		题意 给定两个$n$个元素的数组$a,b$,它们的前$p$个元素构成的数组是"等价"的,求$p$的最大值."等价"的意思是在其任意一个子区间内的最小值相同. $ ... 
随机推荐
- JavaScript数组的简单介绍
			㈠对象分类 ⑴内建对象 ⑵宿主对象 ⑶自定义对象 ㈡数组(Array) ⑴简单介绍 ①数组也是一个对象 ②它和我们普通对象功能类似,也是用来存储一些值的 ③不同的是普通对象是使用字符串作为属性名的 ... 
- SQL Server Dead Lock Log
			1 . 模拟Dead Lock Session1: begintran insertintoT1(name)values('test1') UpdateT2setname='test1' commit ... 
- 洛谷P4317 花神的数论题
			洛谷题目链接 数位$dp$ 我们对$n$进行二进制拆分,于是就阔以像十进制一样数位$dp$了,基本就是套模板.. 接下来是美滋滋的代码时间~~~ #include<iostream> #i ... 
- T2695 桶哥的问题——送桶  题解
			校内测试 ------T2 看完这个题,就觉得和贪心那一块的任务调度很像,于是思路就是贪心啦! 蒟蒻的我,也就只能想到用贪心了,但是不知道怎么用qwq 这是我考试当时的思路,数据水骗了80分qwq: ... 
- 理解TCP三次握手和四次挥手
			TCP相关知识 TCP是面向连接的传输层协议,它提供可靠交付的.全双工的.面向字节流的点对点服务.HTTP协议便是基于TCP协议实现的.(虽然作为应用层协议,HTTP协议并没有明确要求必须使用TCP协 ... 
- 2016多校7.14 Warmup 题解
			先讲1007,是一个数位dp,询问一个区间内,各位数的和是一个素数的数字的个数.其实我并不会数位dp,这题直接套用了上次多校lyf队长的dp代码,改了点返回参数没想到直接AC了.代码如下: #incl ... 
- javascript操作表单
			表单元素除了可以运用上述所有DOM相关操作外,为了简化,还有一系列自己的属性和方法. 表单除了支持鼠标,键盘,更改和html时间之外,还支持一些表单特有的事件,如focus,change,blur等等 ... 
- ARTS打卡计划第八周
			Algorithms: https://leetcode-cn.com/problems/repeated-substring-pattern/ 重复子字符串 Review: “I’m Leavin ... 
- 预处理、const、static与sizeof-#pragma pack的作用
			1:有如下代码: #include <iostream.h> #pragma pack(1) struct test{ char c; short s1; short s2; int i; ... 
- You don't have permission to access / on this server.         wampserver3.1.0配置外网访问的问题
			参考各种wamp教程后外网仍然不能访问服务器,很是头疼 网上好多wampserver配置都比较久远,最新版本3.1.0的很少,首先打开httpd.conf文件(这部分较简略,详细可以参考其他wamp配 ... 
