国产探花免费观看_亚洲丰满少妇自慰呻吟_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;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绩溪县| 定日县| 土默特右旗| 永丰县| 南雄市| 叙永县| 黄平县| 颍上县| 宿州市| 永新县| 玉环县| 南宫市| 霸州市| 静宁县| 富顺县| 岳阳市| 高邮市| 乡宁县| 铜梁县| 芮城县| 荔波县| 西青区| 来安县| 台山市| 安阳县| 塔城市| 北票市| 进贤县| 永康市| 余江县| 山东| 子洲县| 靖远县| 邢台市| 大同市| 云梦县| 汉源县| 永登县| 禄丰县| 云梦县| 杭锦旗|