习题 8-12 顾客是上帝(Keep the Customer Satisfied,ACM/ICPC SWERC 2005,UVa1153)

2024-04-13 02:58

本文主要是介绍习题 8-12 顾客是上帝(Keep the Customer Satisfied,ACM/ICPC SWERC 2005,UVa1153),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原题链接:https://vjudge.net/problem/UVA-1153
分类:贪心法
备注:不重叠区间变形

按截止时间从小到大排序,如果当前工作不能按时完成,则尝试替换之前选过工作中耗时最久的。

#include<bits/stdc++.h>
using namespace std;
const int maxn=800000+5;
int t,n,kase;
struct node{int p,q;bool operator < (const node& b) const {return (q<b.q||(q==b.q&&p<b.p));}
}a[maxn];
int main(void){//freopen("in.txt","r",stdin);//freopen("out.txt","w",stdout);scanf("%d",&t);while(t--){if(kase++)printf("\n");scanf("%d",&n);for(int i=0;i<n;i++)scanf("%d %d",&a[i].p,&a[i].q);sort(a,a+n);int pos=0;priority_queue<int>pq;for(int i=0;i<n;i++){if(pos+a[i].p<=a[i].q){pq.push(a[i].p);pos+=a[i].p;}else if(!pq.empty()){if(pq.top()>a[i].p&&pos+a[i].p-pq.top()<=a[i].q){pos+=a[i].p-pq.top();pq.pop(); pq.push(a[i].p);}}}printf("%d\n",pq.size());}return 0;
}

这篇关于习题 8-12 顾客是上帝(Keep the Customer Satisfied,ACM/ICPC SWERC 2005,UVa1153)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/898961

相关文章

《机器学习(周志华)》Chapter5 神经网络 课后习题答案

若用线性函数作为神经元激活函数则无法处理复杂的非线性问题。 激活函数在神经网络中的作用 相当于每个神经元都在进行对率回归 学习率控制着梯度下降的搜索步长,学习率过大收敛过程容易发生振荡,学习率过小收敛速度过慢 https://blog.csdn.net/victoriaw/article/details/78075266 https://blo

《机器学习(周志华)》Chapter4 决策树 课后习题答案

由决策树生成过程可知,不含冲突数据对结点标记有两种情况,一、划分后数据集为同一类则结点标记为该类的叶节点,二、划分后数据集中的属性相同则标记为数据集中类别最多的类。这样所有属性相同的样本最终标记必定会一样,即必存在误差为0的决策树。 训练误差不一定能代表泛化误差,若以最小训练误差作为决策树划分选择准则会容易导致过拟合,泛化性能差 4.3编程实现id3 4.4编程实现C

《机器学习(周志华)》Chapter3 线性模型 课后习题答案

偏置项b在数值上代表了自变量取0时,因变量的取值; 1.当讨论变量x对结果y的影响,不用考虑b; 2.可以用变量归一化(max-min或z-score)来消除偏置。 这里提供大致思路,对一元函数而言,求二阶导,如果二阶导小于零则为凸函数,否则为非凸。 若对多元函数求二阶导,需要得到Hessian矩阵,然后根据Hessian的正定性判定函数的凸凹性,比如Hessian矩阵半正定

《机器学习(周志华)》Chapter2 模型评估与选择 课后习题答案

根据题意可知正例和反例各位50个样本,题目假定的算法为若训练集中正例较多则为正例,反之为反例。 1、先考虑简单的留一法: 若取得1个正例为测试集,则剩下训练集为49个正例50个反例,算法预测为反例,则与测试集预测相反。反之同样成立,则留一法的错误率为100% 2、10折交叉验证 若测试集中正例与反例各为5个,则剩下训练集为45个正例45个反例,因为训练样本数据相同时进行随机猜测

http://acm.hdu.edu.cn/showproblem.php?pid=3336

题目大意: 所有前缀在母串中出现的次数之和。 #include<stdio.h>#define N 200009int next[N];int get_next(int len ,char *p){int i=0,j=-1,sum=0;next[i]=j;while(i<len){if(j==-1||p[i]==p[j]){i++;j++;next[i]=j;}else{j=nex

暨南大学2023年ACM程序设计新生赛解析

文章目录 K 天外来物 本解析为使用python3 题目的地址 邀请码请关注点赞之后评论区私发 K 天外来物 暴力思想:外层使用一个for 循环,一个个寻找之前是否有重复的数字,如果有,一直加一直至找到一个空位(超时) 正确的解题思想:使用单链表并查集,通过fn[i]来记录i 位置开始第一个为空的地方,当fn[i] == i 时,说明为空,然后fn[i]

Andrew Ng机器学习week9(Anomaly Detection and Recommender Systems)编程习题

Andrew Ng机器学习week9(Anomaly Detection and Recommender Systems)编程习题 estimateGaussian.m function [mu sigma2] = estimateGaussian(X)%ESTIMATEGAUSSIAN This function estimates the parameters of a %Gaussi

Andrew Ng机器学习week8(Unsupervised Learning)编程习题

Andrew Ng机器学习week8(Unsupervised Learning)编程习题 findClosestCentroids.m function idx = findClosestCentroids(X, centroids)%FINDCLOSESTCENTROIDS computes the centroid memberships for every example% i

Andrew Ng机器学习week7(Support Vector Machines)编程习题

Andrew Ng机器学习week7(Support Vector Machines)编程习题 gaussianKernel.m function sim = gaussianKernel(x1, x2, sigma)%RBFKERNEL returns a radial basis function kernel between x1 and x2% sim = gaussianKe

Andrew Ng机器学习week6(Regularized Linear Regression and Bias/Variance)编程习题

Andrew Ng机器学习week6(Regularized Linear Regression and Bias/Variance)编程习题 linearRegCostFunction.m function [J, grad] = linearRegCostFunction(X, y, theta, lambda)%LINEARREGCOSTFUNCTION Compute cost an