考虑我们一定是先放我们选定了\(m\)个数,一定是先放了\(m-1\)个数上去,然后让放上一个不打算选的然后拿下来,白嫖\(b * (m-1)\)的贡献,最后放上一个打算放的。

考虑我们一定是按\(b\)的顺序放的。

按\(b\)排序,用动态规划解决即可。

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstdio>
#include<cstring>
#define ll long long
#define N 80 ll f[N][N],last[N][N];
ll used[N]; struct P{int a,b,id;}e[N]; bool operator < (P x,P y){return x.b < y.b;} ll T; inline void dfs(int i,int j){
if(!i)return;
if(last[i][j])dfs(i - 1,j - 1),used[i] = 1;
else
dfs(i - 1,j),used[i] = 0;
} int main(){
scanf("%lld",&T);
while(T -- ){
ll n,m;
std::memset(f,0,sizeof(0));
scanf("%lld%lld",&n,&m);
for(int i = 1;i <= n;++i){
scanf("%d%d",&e[i].a,&e[i].b);
e[i].id = i;
}
std::memset(f,-0x3f,sizeof(f));
f[0][0] = 0;
std::sort(e + 1,e + n + 1);
for(int i = 1;i <= n;++i)
for(int i = 1;i <= n;++i)
for(int j = 0;j <= std::min(i,(int)m);++j){
f[i][j] = f[i - 1][j] + e[i].b * (m - 1);
last[i][j] = 0;
if(j && (f[i][j] <= f[i - 1][j - 1] + e[i].a + e[i].b * (j - 1)))
f[i][j] = f[i - 1][j - 1] + e[i].a + e[i].b * (j - 1),last[i][j] = 1;
}
dfs(n,m);
std::vector<int>QWQ;
for(int i = 1;i <= n;++i)
if(used[i])QWQ.push_back(e[i].id);
std::cout<<m + (n - m) * 2<<std::endl;
for(int i = 0;i < QWQ.size() - 1;++i)
std::cout<<QWQ[i]<<" ";
for(int i = 1;i <= n;++i)
if(!used[i])
std::cout<<e[i].id<<" "<<-e[i].id<<" ";
std::cout<<QWQ[QWQ.size() - 1]<<std::endl;
}
}

CF1354F Summoning Minions的更多相关文章

  1. ZOJ 3804 YY's Minions (简单模拟)

    /* 题意:一个矩阵中有 n*m个宠物,每一个宠物都有一个状态, 1醒着的,0睡着的 X离开的!如果这个宠物(醒着的)的周围醒着的个数>3 || <2它就会睡着, 如果这个宠物(睡着的)的 ...

  2. 【问题】报错[CRITICAL] Rendering SLS 'base:minions.install' failed: Jinja variable 'list' object has no element 0

    1.报错[CRITICAL] Rendering SLS 'base:minions.install' failed: Jinja variable 'list' object has no elem ...

  3. ZOJ Problem Set - 3804 YY's Minions

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5336 比较简单的模拟题,题意也很好理解. #include <iostr ...

  4. HearthBuddy 复生 reborn

    https://hearthstone.gamepedia.com/Reborn Reborn is an ability that causes a minion to be resummoned ...

  5. (转帖)开源容器集群管理系统Kubernetes架构及组件介绍

    最近在搞Docker还有她的管理工具,选型Kuberetes后,被她的术语和概念搞得晕头转向...看了一篇文章还不错,放到这里分享出来. 地址:http://www.linuxidc.com/Linu ...

  6. angularjs结合d3js实现资源展示

    转载请注明出处: 转载自Bin's Blog:  angularjs & d3 实现资源展示( http://www.wenbin.cf/post/27/ ) angularjs结合d3js实 ...

  7. saltstack(主机改名)

    已存在salt中的机器,为了规范,需要将这批主机改名 操作流程:在master把这批机器剔除:然修改这批机器的主机名.在/etc/salt目录下.用mv把minion_id和pki的目录重命名.重启s ...

  8. saltstack-部署

    安装epel源(所有主机安装) [root@salt-server /]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/r ...

  9. poj 3069 Saruman's Army

    Saruman's Army Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8477   Accepted: 4317 De ...

随机推荐

  1. 网页常用的css特效让互动留住客户

    一般网站如果制作按钮,多做一些互动,可以让客户获得更好的体验. 例如鼠标滑过按钮,让背景颜色从左往右滑出来(或者从右往左都可以): <a target="_blank" hr ...

  2. 12. 亿级流量电商系统JVM模型参数二次优化

    亿级流量电商系统JVM模型参数预估方案,在原来的基础上采用ParNew+CMS垃圾收集器 一.亿级流量分析及jvm参数设置 1. 需求分析 大促在即,拥有亿级流量的电商平台开发了一个订单系统,我们应该 ...

  3. oo第三单元学习总结

    OO第三单元小结 一.JML语言理论基础及工具链梳理 在本单元我们学习了JML语言的一些基础知识,能够让我们看懂简单的JML规格并写出对应代码, 主要用到的知识点有:   1.requires 该子句 ...

  4. 莱特币(LTC)开发环境搭建

    Linux系统下搭建莱特币LTC开发环境 1.简介 2.LTC 客户端下载 3.解压到一个固定的目录中 4.启动客户端 4.1.参数解释: 4.2.更多详细的配置 5.执行命令测试一下 6.获取莱特币 ...

  5. 嵌入式单片机之STM32F103C8T6最小系统板电路设计参考

    STM32F103C8T6最小系统板电路设计 一.电源部分 设计了一个XH插座,以便使用3.7V锂电池供电,接入电压不允许超过6V. 二.指示灯部分 电源指示灯可以通过一个短路帽控制亮灭,以达到节电的 ...

  6. STM32核心板焊接

    焊接工具和材料 电烙铁及烙铁头介绍 电烙铁有很多种,常用的有内热式.外热式.恒温式和吸锡式,为了方便携带,建议使内热式电烙铁,且要带烙铁架和海绵,烙铁架用于放置电烙铁,海绵用于擦拭烙铁锡渣,因此海绵不 ...

  7. linux shell脚本中的开头#!/bin/bash的含义

    对于linux上需要执行 的shell脚本,通常第一行的内容是 #!/bin/bash 当然有很多时候不规范的写法可以忽略掉这一句,执行起来好像也是ok,结果没什么不一样 .. 这只是因为在我们常用 ...

  8. dhcpd 启动失败No subnet declaration for wlan0

    今天在调试机器的WIFI热点,好不容易把dhcp编译打包进去,服务启动出现报错No subnet declaration for wlan0,详细信息如下: Internet Systems Cons ...

  9. poj 2226 Muddy Fields(最小点覆盖)

    题意: M*N的矩阵,每个格不是*就是#.     *代表水坑,#代表草地. 农民要每次可以用一块宽为1,长不限的木板去铺这个矩阵.要求这块木板不能覆盖草地.木板可以重复覆盖(即一块木板与另一块木板有 ...

  10. spring mvc 原理(快速理解篇)

    这两张图大家应该都不陌生. 从图上来看就是:一个请求过来,front controller根据具体的请求路径分派到具体的controller,具体的controller处理请求并把处理结果返回给fro ...