CF:Problem 425A

区间暴力,枚举区间。交换选定区间最小值和剩余区间最大值k次。

其实等同于将剩余区间最大k个加到选定区间里,然后排序

#include <iostream>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <stack>
#include <queue>
#include <cctype>
#include <vector>
#include <iterator>
#include <set>
#include <map>
#include <sstream>
using namespace std; #define mem(a,b) memset(a,b,sizeof(a))
#define pf printf
#define sf scanf
#define spf sprintf
#define pb push_back
#define debug printf("!\n")
#define INF 10000
#define MAXN 5010
#define MAX(a,b) a>b?a:b
#define blank pf("\n")
#define LL long long
#define ALL(x) x.begin(),x.end()
#define INS(x) inserter(x,x.begin())
#define pqueue priority_queue int a[];
int n,k; int main()
{
int i,j,m;
while(sf("%d%d",&n,&k)==)
{
for(i =;i<n;i++)
sf("%d",&a[i]); int mx=-; for(i =;i<n;i++)
{
for(j =i;j<n;j++)
{
vector<int> p,q;
for(m=;m<n;m++)
{
if(m<i||m>j) p.pb(a[m]);//p剩余区间
else q.pb(a[m]);//q选定区间
}
sort(p.rbegin(),p.rend());//rbegin反向迭代器
for(m=;m<k&&m<p.size();m++)
q.pb(p[m]);
sort(q.rbegin(),q.rend());
int sum=;
for(m=;m<=j-i;m++) sum+=q[m];
if(sum>mx) mx=sum;
}
} pf("%d\n",mx);
}
}

CodeForces 363D

这题其实是二分法。需要买最多的车,判断能不能买k辆车的话,一定是钱最多的k个人,买最便宜的k辆车,然后二分查找找出最大k

第二条件即花钱最少其实可以算出来,最关键还是k的大小

#include <iostream>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <stack>
#include <queue>
#include <cctype>
#include <vector>
#include <iterator>
#include <set>
#include <map>
#include <sstream>
using namespace std; #define mem(a,b) memset(a,b,sizeof(a))
#define pf printf
#define sf scanf
#define spf sprintf
#define pb push_back
#define debug printf("!\n")
#define INF 10000
#define MAXN 5010
#define MAX(a,b) a>b?a:b
#define blank pf("\n")
#define LL long long
#define ALL(x) x.begin(),x.end()
#define INS(x) inserter(x,x.begin())
#define pqueue priority_queue int b[],p[];
int n,m,a; bool ok(int k)
{
int aa = a;
int d=n-k;
for(int i=;i<k;i++)
{
if(b[i+d]<p[i])
aa-=(p[i]-b[i+d]);
if(aa<) return false;
}
return true;
} int main()
{
int i,j;
while(sf("%d%d%d",&n,&m,&a)==)
{
for(i=;i<n;i++) sf("%d",&b[i]);
for(i=;i<m;i++) sf("%d",&p[i]);
sort(b,b+n);
sort(p,p+m);
int l=,r=min(n,m),mid;
while(l<=r)
{
mid = (l+r)>>;
if(ok(mid)) l=mid+;
else r=mid-;
}
int s =;
for(i=;i<l-;i++)
s+=p[i];
pf("%d %d\n",l-,s-a);
}
}

SZU2的更多相关文章

  1. Qt开发初步,循序渐进,preRequest for 蓝图逆袭

    1,使用Qt面向对象类继承创建第一个窗口主部件,使用setMinimumSize(),setMaximumSize()配置主部件窗口是否能够resize;

  2. 数据结构——表(list)

    #include <iostream> #include <list> using namespace std; 标准类的存储方式为双向循环链表 list类 class lis ...

  3. [Android系列—] 1. Android 开发环境搭建与Hello World

    前言 開始之前先熟悉几个名词: SDK -- Software Development Kit, 软件开发工具包.这个词并不陌生, JDK,就是Jave Development Kit,相同对于And ...

随机推荐

  1. HTTP请求的两种方式get和post的区别

    1,get从服务器获取数据:post向服务器发送数据: 2,安全性,get请求的数据会显示在地址栏中,post请求的数据放在http协议的消息体: 3,从提交数据的大小看,http协议本身没有限制数据 ...

  2. mysqli扩展库应用---批量执行sql语句

    1, mysqli批量执行sql语句.基本语法: $sqls=”sql1;sql2;………” mysqli::multi_query($sqls); 同一个$sqls要么是增删改语句集合,要么是查询语 ...

  3. ubuntu16.04 能启动mysql服务

    ubuntu16.04 后, 貌似mysqld在/etc/init.d下,直接执行会报mysqld不在服务中,因此开启mysql服务失败. 所以执行以下命令不能启动mysql服务: /etc/init ...

  4. if else 和 or 的新用法

    a = 1b = 2c = a if a > b else b print(c)print(id(c))print(id(b)) 条件为真返回前面的为假返回后面的 a = 0 b = 2 c = ...

  5. POJ_1990 MooFest 【树状数组】

    一.题面 POJ1990 二.分析 一个简单的树状数组运用.首先要把样例分析清楚,凑出57,理解一下.然后可以发现,如果每次取最大的v就可以肆无忌惮的直接去乘以坐标差值就可以了,写代码的时候是反着来的 ...

  6. 51nod 1943 联通期望 题解【枚举】【二进制】【概率期望】【DP】

    集合统计类期望题目. 题目描述 在一片大海上有 \(n\) 个岛屿,规划建设 \(m\) 座桥,第i座桥的成本为 \(z_i\),但由于海怪的存在,第 \(i\) 座桥有 \(p_i\) 的概率不能建 ...

  7. 命令提示符下的WQL

    WQL就是英文WMI Query Language的缩写,就是说wmic这个命令支持简单的一些SQL查询,我们以实例来讲解他的部分用法,这个命令过于强大,因此以下只是该命令的冰山一角. 列出本地连接的 ...

  8. Win10远程连接,出现身份验证错误。远程计算机要求的函数不受支持 这可能是由于CredSSP加密Oracle修正 。

    问题: 升级至win10 最新版本10.0.17134,安装最新补丁后无法远程win server 2016服务器,报错信息如下: 出现身份验证错误,要求的函数不正确,这可能是由于CredSSP加密O ...

  9. 使用Filter解决登录中乱码问题

    使用Filter解决登录中乱码问题 衔接:https://www.cnblogs.com/zst18980621948/p/10654088.html 1.工作目录 新增Filter类 2.Login ...

  10. 使用Django-environ管理多个配置

    使用Django-environ管理多个配置 https://django-environ.readthedocs.io/en/latest/