P2240 【深基12.例1】部分背包问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=110; int n,t; struct node{ int m,v; }; bool cmp(node aa,node bb){ return aa.v*bb.m>bb.v*aa.m; } signed main(){ ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); cin>>n>>t; node coin[N]; for(int i=1;i<=n;i++) cin>>coin[i].m>>coin[i].v; sort(coin+1,coin+1+n,cmp); double ans=0; for(int i=1;i<=n;i++){ if(coin[i].m<=t){ ans+=coin[i].v; t-=coin[i].m; }else{ ans+=(coin[i].v*t*1.0)/(coin[i].m*1.0); break; } } cout<<fixed<<setprecision(2)<<ans<<endl; return 0; }
P1223 排队接水 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=1010; int n; struct node{ int t,id; }; bool cmp(node aa,node bb){ return aa.t<bb.t; } signed main(){ ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); cin>>n; node peo[N]; for(int i=1;i<=n;i++){ cin>>peo[i].t; peo[i].id=i; } sort(peo+1,peo+1+n,cmp); double ans=0; for(int i=1;i<=n;i++){ cout<<peo[i].id<<" "; ans+=peo[i].t*(n-i); } cout<<endl; cout<<fixed<<setprecision(2)<<ans/n<<endl; return 0; }
P1803 凌乱的yyy / 线段覆盖 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e6+10; int n; struct node{ ll 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); cin>>n; node line[n+1]; for(int i=1;i<=n;i++) cin>>line[i].begin>>line[i].end; sort(line+1,line+1+n,cmp); ll t=line[1].end,ans=1; for(int i=2;i<=n;i++){ if(line[i].begin<t)continue; ans++; t=line[i].end; } cout<<ans<<endl; return 0; }
P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=1010; ll n,ans; priority_queue<int ,vector<int> , greater<int> > q; signed main(){ ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); cin>>n; for(int i=1;i<=n;i++){ int x;cin>>x; q.push(x); } for(int i=1;i<=n;i++){ if(q.size()>=2){ int a=q.top();q.pop(); int b=q.top();q.pop(); ans+=(a+b); q.push(a+b); } } cout<<ans<<endl; return 0; }
P3817 小A的糖果 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e5+10; ll n,x,a[N],ans; signed main(){ ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); cin>>n>>x; for(int i=1;i<=n;i++) cin>>a[i]; if(a[1]>x){ ans+=a[1]-x; a[1]=x; } for(int i=2;i<=n;i++){ if(a[i]+a[i-1]>x){ ans+=a[i]+a[i-1]-x; a[i]=x-a[i-1]; } } cout<<ans<<endl; return 0; }
P1106 删数问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=260; string s; int a[N],k; signed main(){ ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); cin>>s; cin>>k; int len=s.size(); for(int i=0;i<len;i++) a[i]=s[i]-'0'; for(int i=1;i<=k;i++){ for(int j=0;j<len;j++){ if(a[j]>a[j+1]){ for(int k=j;k<len;k++)a[k]=a[k+1]; len--; break; } } } int i=0,p=0; while(a[i]==0&&p<len-1) { i++; p++; } for(int i=p;i<len;i++) cout<<a[i]; return 0; }
P1478 陶陶摘苹果(升级版) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 5010; int n,s,a,b,ans; struct node{ int x,y; }apple[N]; bool cmp(node aa,node bb){ return aa.y<bb.y; } signed main(){ ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); cin>>n>>s; cin>>a>>b; for(int i=1;i<=n;i++) cin>>apple[i].x>>apple[i].y; sort(apple+1,apple+1+n,cmp); for(int i=1;i<=n;i++){ if((a+b)>=apple[i].x && (s-apple[i].y>=0)){ s-=apple[i].y; ans++; } } cout<<ans<<endl; return 0; }
P5019 [NOIP2018 提高组] 铺设道路 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e5+10; int n,a[N],f[N]; signed main(){ ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; f[1]=a[1]; for(int i=2;i<=n;i++){ if(a[i]<=a[i-1]){ f[i]=f[i-1]; } else { f[i]=f[i-1]+a[i]-a[i-1]; } } cout<<f[n]<<endl; return 0; }
P1208 [USACO1.3] 混合牛奶 Mixing Milk - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=2e6+10; const int M=5010; ll n,m,ans; struct node{ ll p,a; }; bool cmp(node aa,node bb){ return aa.p<bb.p; } signed main(){ ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); cin>>n>>m; node cow[M]; for(int i=1;i<=m;i++) cin>>cow[i].p>>cow[i].a; sort(cow+1,cow+1+m,cmp); //for(int i=1;i<=m;i++)cout<<cow[i].p<<" "<<cow[i].a<<" "; for(int i=1;i<=m;i++){ if(cow[i].a<=n){ n-=cow[i].a; ans+=cow[i].p*cow[i].a; }else{ ans+=n*cow[i].p; break; } } cout<<ans<<endl; return 0; }
P1094 [NOIP2007 普及组] 纪念品分组 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=3e4+10; int w,n,a[N],ans; signed main(){ ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); cin>>w>>n; for(int i=1;i<=n;i++) cin>>a[i]; sort(a+1,a+1+n); //for(int i=1;i<=n;i++) cout<<a[i]<<" "; int l=1,r=n; while(l<=r){ if(a[r]+a[l]<=w){ ans++; l++; r--; }else{ ans++; r--; } } cout<<ans<<endl; return 0; }
P4995 跳跳! - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=310; int n,a[N]; ll ans; signed main(){ ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; sort(a+1,a+1+n); int l=1,r=n,t=0; ans+=a[r]*a[r]; while(true){ ans+=pow((a[r]-a[l]),2); //cout<<"**ans="<<ans<<endl; //cout<<"l="<<l<<"*****r="<<r<<endl; if(l<r){ t=l; l=r-1; r=t; //cout<<"l="<<l<<"*****r="<<r<<endl; }else if(l>r){ t=l; l=r+1; r=t; }else{ break; } } cout<<ans<<endl; return 0; }
标签:node,洛谷,int,ll,cin,long,算法,ans,贪心 From: https://www.cnblogs.com/accbulb/p/18016335