BAPC 2014 Preliminary
// 题目链接: 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 ;
}
BAPC 2014 Preliminary的更多相关文章
- 计蒜客 28206.Runway Planning (BAPC 2014 Preliminary ACM-ICPC Asia Training League 暑假第一阶段第一场 F)
F. Runway Planning 传送门 题意简直就是有毒,中间bb一堆都是没用的,主要的意思就是度数大于180度的就先减去180度,然后除以10,四舍五入的值就是答案.如果最后结果是0就输出18 ...
- 计蒜客 28202. Failing Components-最短路(Dijkstra) (BAPC 2014 Preliminary ACM-ICPC Asia Training League 暑假第一阶段第一场 B)
B. Failing Components 传送门 题意就是单向图,从起点开始找最短路,然后统计一下个数就可以.方向是从b到a,权值为s. 直接最短路跑迪杰斯特拉,一开始用数组版的没过,换了一个队列版 ...
- 计蒜客 28201.Choosing Ice Cream-gcd (BAPC 2014 Preliminary ACM-ICPC Asia Training League 暑假第一阶段第一场 A)
开始水一波博客 题目链接: A. Choosing Ice Cream 传送门 题意就是n个冰淇淋,骰子有k个面,问你是否能在公平的概率下转几次骰子能确定买哪个冰淇淋. 举个例子,假设我只有一个冰淇淋 ...
- BAPC 2014 Preliminary(第一场)
D:Lift Problems On the ground floor (floor zero) of a large university building a number of students ...
- BAPC 2014:Button Bashing(暴力+bfs)
题意: 给出n,m,代表微波炉有n个按钮,要求达到总时间为m 然后给出n个数,代表n个按钮能增加的时间,问最少几步,能够使得按出的总时间大于等于要求的时间,并且相差最小 输出最小的步数与相差的最小值 ...
- ACM 第十七天
暑期热身赛 BAPC 2014 The 2014 Benelux Algorithm Programming Contest 题目网址:https://odzkskevi.qnssl.com/3655 ...
- 2014 Benelux Algorithm Programming Contest (BAPC 14)E
题目链接:https://vjudge.net/contest/187496#problem/E E Excellent Engineers You are working for an agency ...
- ICLR 2014 International Conference on Learning Representations深度学习论文papers
ICLR 2014 International Conference on Learning Representations Apr 14 - 16, 2014, Banff, Canada Work ...
- 看完SQL Server 2014 Q/A答疑集锦:想不升级都难!
看完SQL Server 2014 Q/A答疑集锦:想不升级都难! 转载自:http://mp.weixin.qq.com/s/5rZCgnMKmJqeC7hbe4CZ_g 本期嘉宾为微软技术中心技术 ...
随机推荐
- AutoHotkey批量L版代码转H2的vim脚本
原脚本尽量用表达式的语法写,错误会比较少,比如"If a=", "fun(a=1)"这种语法在V2会出错文件放vim的autoload目录下,可使用以下map使 ...
- 对std::map进行排序
1.对Key排序. std::map的第三个参数即为对key进行排序的比较函数.默认为less,表示升序.如果要降序,可以改为greater. 2.对Value排序 不支持,因为map不是一个序列的容 ...
- 科普文:从人人网看网络科学(Network Science)的X个经典问题
转:https://zr9558.wordpress.com/2013/12/05/科普文:从人人网看网络科学(network-science)的x个经典问/ 长文,写了N个小时写完的.你肯定能看懂, ...
- 如何用jstl的select标签做二级联动下拉列表框??
下拉列表框的多级联动早就会了.但是用jstl的select标签做下拉列表框的做二级联动的时候还是遇到了些问题.主要问题在用Ajax查询到的数据如何拼成下拉选项的时候.其实很简单,但我还是折腾了好久.所 ...
- pcel安装的mongodb的两个问题的解决方案
最近工作需要,要使用mongodb,这个是使用 pecl 安装的,跟标准的 mongo 使用还是有区别的,这里不讲区别,只讲两个比较典型的问题该如何处理,具体的文档大家可以直接参考 php 的官方文档 ...
- 16、SpringBoot-CRUD错误处理机制(3)
3).将自己指定的数据携带出去 出现错误以后,会来到/error请求,会被BasicErrorController 进行处理 响应出去的数据是由 getErrorAttributes 得到的( Abs ...
- 解决vuex requires a Promise polyfill in this browser问题
造成这种现象的原因归根究底就是浏览器对ES6中的promise无法支持,因此需要通过引入babel-polyfill来是我们的浏览器正常使用es6的功能 首先通过npm来安装: npm install ...
- Charles Proxy v4.1.3 Mac、Win64、Win32破解版
http://charles.iiilab.com/ 1. 下载Charles Proxy 4.1.3版本,百度云盘下载 或 去官网下载 2. 安装后先打开Charles一次(Windows版可以忽略 ...
- 强大的Windows 10数字权利获取工具HWIDGEN
前言: 每当windows 10 系统过期就是头疼的key激活,更奇怪的是每次激活的方式不同,上次有效下次就不知道有没有效了,今天发现一种更改数字权利的工具脚本,不要太牛逼!!! 安装之前的准备工作: ...
- SSH secure 连接centos7乱码
1.SSH secure 连接centos7乱码 修改文件 /etc/local.conf LANG="zh_CN.UTF-8"修改为LANG=”zh_CN.GB18030” 然 ...