HD-ACM算法专攻系列(23)——Crixalis's Equipment
2024-10-01 10:54:52
题目描述:
AC源码:
此次考察贪心算法,解题思路:贪心的原则是使留下的空间最大,优先选择Bi与Ai差值最大的,至于为什么?这里用只有2个设备为例,(A1,B1)与(A2,B2),假设先搬运A1,搬运的那一瞬间,实际将要占用的空间应该为A1+B2,那么为了保证留下的空间最大,则应该有A1+B2<A2+B1成立,才能先搬运A1,即B1-A1>B2-B1。(n个设备可以两两做这样的比较,来达到选择的最优)
#include"iostream"
#include"algorithm"
using namespace std; struct Equipment
{
int A;
int B;
}; bool cmp(Equipment a, Equipment b)
{
return (a.B - a.A) > (b.B - b.A);
} int main()
{
int t, v, n;
bool flag;
Equipment eq[1000];
scanf("%d", &t);
for(int i = 0; i < t; i++)
{
scanf("%d %d", &v, &n);
for(int j = 0; j < n; j++)
{
scanf("%d %d", &eq[j].A, &eq[j].B);
}
sort(eq, eq+n, cmp);
flag = true;
for(int j = 0; j < n; j++)
{
if(eq[j].B <= v)
{
v -= eq[j].A;
}
else
{
flag = false;
break;
}
}
if(flag)
{
printf("Yes\n");
}
else
{
printf("No\n");
}
}
return 0;
}
最新文章
- sysbench 压力测试
- 【Java每日一题】20161101
- “CoreCLR is now Open Source”阅读笔记
- 折腾Centos6.4记
- PHP使用COM 获取RTF内容
- [二]SpringMvc实践-注解
- PHP-购物网站开发设计(二)
- Vue开源项目库汇总
- Python的数据库操作(pymysql)
- bootstrap的使用集锦
- PV、UV、UIP、VV、CPC、CPM、RPM、CTR解释
- SpringSocial业务系统与社交网站的绑定与解绑
- Linux&#160;学习笔记之超详细基础linux命令&#160;Part&#160;8
- Codeforces Round #548
- linux操作系统重启后 解决nginx的pid消失问题
- 复刻smartbits的国产网络测试工具minismb-如何测试DPI引擎
- LNMP 1.2升级Nginx、MySQL/MariaDB、PHP教程
- php.ini中的pcre
- Java堆空间溢出解决方法 Exception in thread ";main"; java.lang.OutOfMemoryError: Java heap space
- display的flex属性使用详解