题目链接:排队接水 - 洛谷


- #include
- using namespace std;
- struct node{
- int t,id;//接水时间,编号
- bool operator<(node &b){
- return t
- }
- }a[1010];
-
- int main(){
- int n;cin>>n;
- for(int i=1;i<=n;i++){
- cin>>a[i].t,a[i].id=i;
- }
- sort(a+1,a+1+n);
- for(int i=1;i<=n;i++){
- cout<" ";
- }
- puts("");
-
- double time=0;
- for(int i=1;i<=n-1;i++){//因为最后一个人不需要等待所有n-1
- time+=a[i].t*(n-i);
- }
- printf("%.2lf",time/n);
- return 0;
- }
2、B站视频链接:A26 贪心算法 P1190 [NOIP2010 普及组] 接水问题_哔哩哔哩_bilibili


- #include
- using namespace std;
- int n,m,w[10010];//w是接水量
- int s[110];//每个龙头的出水量
-
- int main(){
- scanf("%d%d",&n,&m);
- for(int i=1;i<=n;i++)scanf("%d",&w[i]);
- for(int i=1,t;i<=n;i++){
- t=1;//假设1号水龙头排水量最少
- //找到排水量最小的水龙头
- for(int j=2;j<=m;j++){
- if(s[t]>s[j])t=j;
- }
- s[t]+=w[i];
- }
- int maxn=0;
- for(int i=1;i<=m;i++)maxn=max(maxn,s[i]);
- printf("%d\n",maxn);
- return 0;
- }
小根堆实现版
- #include
- using namespace std;
- int n,m,w[10010];//w是接水量
- priority_queue<int,vector<int>,greater<int>>s;
- //小根堆维护最小值
- int main(){
- scanf("%d%d",&n,&m);
- for(int i=1;i<=n;i++)scanf("%d",&w[i]);
-
- for(int i=1;i<=m;i++)s.push(0);
- for(int i=1;i<=n;i++){
- int t=s.top();s.pop();//维护最小出水量
- s.push(t+w[i]);
- }
- for(int i=1;i
//把小的全部弹出,剩下的即为最大 - s.pop();
- }
- printf("%d\n",s.top());
- return 0;
- }
-
题目链接:[USACO05MAR] Yogurt factory 机器工厂 - 洛谷
- #include
- using namespace std;
- //上次的单价花费+s与当前单价花费做比较,
- //哪个花费更少,就取哪个。
- int main(){
- int n,s,c,y,last;//last表示上次的生产花费
- long long ans=0;
- cin>>n>>s;
- for(int i=1;i<=n;i++){
- cin>>c>>y;
- if(i==1)last=c;//没有last取自己为当前
- else last=min(last+s,c);
- ans+=last*y;
- }
- cout<
- return 0;
- }
-
相关阅读:
uni-app 开发的H5 定位功能部署注意事项
typescript对类型的管理和查找规则
【二叉树-中等】1530. 好叶子节点对的数量
将SpringBoot项目的jar包注册成service服务的方式启动
Puppeteer监听网络请求、爬取网页图片(二)
WPS的JS宏如何实现全文件路径字符串中截取文件名(excel)
BUSMASTER使用记录(一):基本收发、报文过滤、报文录制和数据回放
rsync 远程同步
Vue3框架中CompositionAPI的基本使用(第十课)
各种格式文件预览
-
原文地址:https://blog.csdn.net/lmessi10_/article/details/136215338