国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

BZOJ 3174: [Tjoi2013]拯救小矮人

2019-11-08 02:59:42
字體:
來源:轉載
供稿:網友

不會做,看了各種題解都不理解后來看這篇看懂了,這篇我覺得是我看的寫的最好的了,關鍵就是最后小矮人跑出去的序列一定是一個身高+臂長遞增的序列(意會一下?),所以按這個排序是為了DP,然后設f[i]為出去i個人后剩下人的最大高度DP

#include<set>#include<map>#include<deque>#include<queue>#include<stack>#include<cmath>#include<ctime>#include<bitset>#include<string>#include<vector>#include<cstdio>#include<cstdlib>#include<cstring>#include<climits>#include<complex>#include<iostream>#include<algorithm>#define ll long long#define lowbit(x) x&(-x)using namespace std;void up(int &x,int y){if(x<y)x=y;}void down(int &x,int y){if(x>y)x=y;}const int maxn = 2100;struct node{ int a,b;}a[maxn];int n,H;bool cmp(node x,node y){return x.a+x.b<y.a+y.b;}int f[maxn];int main(){ scanf("%d",&n); int sum=0; for(int i=1;i<=n;i++) scanf("%d%d",&a[i].a,&a[i].b),sum+=a[i].a; scanf("%d",&H); sort(a+1,a+n+1,cmp); memset(f,-1,sizeof f); f[0]=sum; for(int i=1;i<=n;i++) { for(int j=n;j>=1;j--) if(f[j-1]!=-1&&f[j-1]+a[i].b>=H) up(f[j],f[j-1]-a[i].a); } int ans; for(ans=1;ans<=n;ans++) if(f[ans]==-1) break;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 磐安县| 九江县| 兰坪| 隆林| 沭阳县| 布尔津县| 巢湖市| 景泰县| 江都市| 公主岭市| 金山区| 株洲市| 南郑县| 纳雍县| 桐梓县| 乌兰县| 陇川县| 宁夏| 永修县| 南昌市| 那曲县| 宝丰县| 阿巴嘎旗| 华宁县| 通州市| 平顶山市| 方山县| 绥中县| 萍乡市| 安阳县| 安化县| 清丰县| 阳东县| 潼南县| 芜湖市| 永清县| 临安市| 凤阳县| 凭祥市| 子洲县| 宜良县|