// 题目链接: https://nanti.jisuanke.com/t/28204
1 //动态规划,重复利用子问题的最优,来求解当前最优问题
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
#include <vector>
#include <queue>
using namespace std;
typedef long long ll;
int t;
const int N=;
int s[N];
int dp[N];//在第i层下楼时从一楼到i楼共生气的最小值
const int inf=0x3f3f3f3f;
int main()
{
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
int sum=;
for(int i=;i<=n;i++)
{
scanf("%d",&s[i]);
sum+=s[i];
}
dp[]=;
int ski;
for(int i=;i<=n;i++)
{
sum-=s[i];//这一层下楼,那么此时前面的都会下,sum为高层人数。
ski=;
dp[i]=inf;
for(int j=i-;j>=;j--)
{
dp[i]=min(dp[i],dp[j]+ski+sum);//
ski+=(i-j)*s[j];//该在j层下,却在i 层才下楼
}
}
//因为dp[i]为i层下楼的。。,因此用不下楼来更新
printf("%d\n",dp[n]);
}
return ;
}
  D. Lift Problems
//在喜欢的里面取mid个,在不喜欢的里面取s-mid个。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int T;
const int N=1e5+;
int t[N],p[N];
int main()
{
int i,j,l,r,mid,maxx,n,s,f,k;
scanf("%d",&T);
while(T--)
{
scanf("%d%d%d",&n,&s,&f);
for( i=;i<n;i++)
scanf("%d",&t[i]);
sort(t,t+f);//要分别排序
//因为分成喜欢与不喜欢
sort(t+f,t+n);
scanf("%d",&k);
for(i=;i<k;i++)
scanf("%d",&p[i]);
l=max(,s-(n-f));//下界
r=min(s,f);//上界
while(l<=r)//因为上界可能取到
{
mid=(l+r)>>;
maxx=t[n-(s-mid)-];//不喜欢的不取的最大值
for(i=;i<k-f-(s-mid);i++)//把P数组小的加到不喜欢的不取的小的部分
maxx=max(maxx,p[i]+t[k--(s-mid)-i]);
for(j=;j<mid&&t[f--j]+(k-mid+j<?:p[k-mid+j])>=maxx;j++);
//喜欢中所取的所有值都要大于不喜欢中不取的最大值
if(j==mid)//这个mid是可以的
l=mid+;
else
r=mid-;
}
printf("%d\n",l-); }
return ;
}

最新文章

  1. Microsoft IoT Starter Kit 开发初体验
  2. input的file 控件及美化
  3. java 27 - 5 反射之 通过反射获取成员方法并使用
  4. linux永久更改eth0的ip地址后仍然ping不通过
  5. angularjs入门基础一
  6. UVa 100 - The 3n + 1 problem(函数循环长度)
  7. cocos2d-x 在android环境下开发遇到的一些bug
  8. PHP优化的总结
  9. Ubuntu 14.04—无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系 解决办法
  10. CodePen最佳实例分享
  11. 如何安装Pycharm官方统计代码行插件
  12. session依赖cookie,如果浏览器禁用了cookie呢?
  13. Compare Version Numbers(STRING-TYPE CONVERTION)
  14. Scala进阶之路-为什么要学习Scala以及开发环境搭建
  15. Sublime Text shift+ctrl妙用(转载)
  16. 【刷题】BZOJ 2434 [Noi2011]阿狸的打字机
  17. swift侧开菜单
  18. git学习------>从SVN迁移到Git之后,项目开发代码继续在SVN提交,如何同步迁移之后继续在SVN提交的代码到Git?
  19. Vue之通过代理设置跨域访问
  20. maven添加阿里仓库

热门文章

  1. Redis入门实例(Redis+Sprint+maven创建工程)
  2. CentOS7 Firewall超详细使用方法
  3. 【深入理解JAVA虚拟机】第二部分.内存自动管理机制.2.HotSpot虚拟机对象探秘
  4. PhoneGap实现重力感应
  5. 刷题防止Time Limit Exceeded(TLE)技巧
  6. linux-资料汇集
  7. WCF 双向通讯实例-简易的聊天程序
  8. 自定义的打印语句NSLog在控制台输出不完整的完美解决
  9. 二十七、详述 IntelliJ IDEA 设置 Sublime 代码颜色的方法
  10. android:windowSoftInputMode属性详解 软键盘