Problem - 2037 (hdu.edu.cn)
#include<iostream>/*活动安排的贪心问题*/
#include<algorithm>
using namespace std;
const int N=110;
int n;
struct node{
int begin,end;
};
bool cmp(node aa,node bb){
return aa.end<bb.end;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
while(cin>>n){
if(!n) return 0;
node a[N];
for(int i=0;i<n;i++) cin>>a[i].begin>>a[i].end;
sort(a,a+n,cmp);
int count=0,lastend=-1;
for(int i=0;i<n;i++){
if(a[i].begin>=lastend){
count++;
lastend=a[i].end;
}
}
cout<<count<<endl;
}
return 0;
}
Problem - 2570 (hdu.edu.cn)
#include<iostream>
#include<algorithm>
#include<iomanip>
#include<cstring>
using namespace std;
const int N = 110;
int c,t[N];
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin>>c;
int n,v,w,tmp;//个数 体积 浓度 合法个数
double sum;
while(c--){
memset(t,0,sizeof(t));
sum=0.0,tmp=0;
cin>>n>>v>>w;
for(int i=1;i<=n;i++) cin>>t[i];
sort(t+1,t+1+n);
for(int i=1;i<=n;i++){
if(((sum+t[i])/(tmp+1))*1.0<=w*1.0){
sum+=t[i];
tmp++;
}else break;
}
if(!sum){
cout<<"0 0.00"<<endl;
}else cout<<tmp*v<<" "<<fixed<<setprecision(2)<<sum/tmp*0.01<<endl;
}
return 0;
}
1521 -- Entropy (poj.org)
#include<iostream>//哈夫曼树编码
#include<algorithm>
#include<queue>
#include<iomanip>
using namespace std;
string s;
priority_queue<int,vector<int>,greater<int> > q;
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
while(getline(cin,s) && s!="END"){
int t=1;
sort(s.begin(),s.end());
for(int i=1;i<s.length();i++){
if(s[i]!=s[i-1]){
q.push(t);
t=1;
}else t++;
}
q.push(t);
int ans=0;
if(q.size()==1) ans=q.top();
while(q.size()>1){
int a=q.top();q.pop();
int b=q.top();q.pop();
q.push(a+b);
ans += a+b;
}
q.pop();
cout<<s.length()*8<<" "<<ans<<" "<<fixed<<setprecision(1)<<s.length()*8*1.0/ans*1.0<<endl;
}
return 0;
}