赞
踩
1、定义比较函数
struct f;
bool cmp(f a,f b)
{
if(a.x!=b.x) return a.x<b.x;
else return a.y<b.y;
}
2、重载运算符
struct A
{
int a,b;
bool operator < (const A)const
{
return b<=A.x;
}
3、pair
pair <int ,int> p;
p.first= ;
p.second= ;
可以存储两个元素,想坐标一样的东西
4、substr操作 a.substr(起始位置,结束位置);
1、背包问题 可分割
思路 按照性价比由大到小存放,当背包空间不够时,剩余空间可以存放分割后的,注意性价比一块定义在结构体中,double定义性价比
#include<iostream> #include<algorithm> #include<cstring> #include<cstdio> #include<iomanip> using namespace std; struct bag { int r; int v; double p; }; bool cmp(bag x,bag y) { return x.p>y.p; } int main() { int k,w,n; bag a[10001]; cin>>k; while(k--) { memset(a,0,sizeof(a)); cin>>w>>n; int zw=0; double V=0.0; for(int i=1;i<=n;i++) { cin>>a[i].r>>a[i].v; a
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。