Cunning Gena CodeForces - 417D
2024-08-26 04:07:41
Cunning Gena CodeForces - 417D
先将小伙伴按需要的监视器数量排序。然后ans[i][j]表示前i个小伙伴完成j集合内题目所需最少钱。那么按顺序枚举小伙伴,用ans[i-1][j]更新ans[i][j]和ans[i][j | 第i个小伙伴能完成题目的集合](更新后一种时答案要加上第i个小伙伴的费用)。
由于小伙伴已经按监视器数量排序了,对于每个枚举出的小伙伴i,可以试着将其作为最后一个要求助的小伙伴,那么此时监视器上花的钱就是这个小伙伴所需监视器数量*每个的费用,求助小伙伴费用就是ans[i][所有题目的集合],此时总费用就是这两者的总和。最终答案就是最小的枚举得到的总费用。
可以开滚动数组优化空间。
错误记录:45-47无效代码导致TLE
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
typedef long long LL;
LL n,m1,b;
struct A
{
LL x,k,v;
bool operator<(const A& b) const
{
return k<b.k;
}
}aa[];
LL ans[][];
LL anss;
int main()
{
LL i,j,k,t,tt,ii=;
scanf("%I64d%I64d%I64d",&n,&m1,&b);
for(i=;i<=n;i++)
{
scanf("%I64d%I64d%I64d",&aa[i].x,&aa[i].k,&tt);
for(j=;j<=tt;j++)
{
scanf("%I64d",&t);
//v[i].push_back(t);
aa[i].v|=(<<(t-));
}
}
sort(aa+,aa+n+);
anss=0x3f3f3f3f3f3f3f3f;
memset(ans,0x3f,sizeof(ans));
ans[][]=;
for(i=;i<n;i++)
{
ii^=;
memset(ans[ii],0x3f,sizeof(ans[ii]));
for(j=;j<(<<m1);j++)
{
ans[ii][j]=min(ans[ii][j],ans[ii^][j]);
ans[ii][j|aa[i+].v]=min(ans[ii][j|aa[i+].v],ans[ii^][j]+aa[i+].x);
}
/*for(j=0;j<(1<<m1);j++)
for(k=0;k<m1;k++)
ans[ii][j]=min(ans[ii][j],ans[ii][j|(1<<k)]);*/
anss=min(anss,ans[ii][(<<m1)-]+b*aa[i+].k);
}
if(anss!=0x3f3f3f3f3f3f3f3f)
printf("%I64d",anss);
else
printf("-1");
return ;
}
最新文章
- (2016弱校联盟十一专场10.3) 	B.Help the Princess!
- 基础知识系列☞MSSQL→约束
- cpp blog上面看到一哥们写的 下拉列表
- 高效使用Vector
- c# 中日期的使用
- IOS流媒体播放
- CentOS6.4x64安装mysql5.6.23(rpm)
- Javascript技巧实例精选(3)—用字符在屏幕上打印金字塔
- React与Preact差异之 -- setState
- 自动化接口测试(java)
- github 遇到Permanently added the RSA host key for IP address &#39;192.30.252.128&#39; to the list of known hosts问题解决
- Java JDK版本切换--绝逼好使
- freemark+ITextRenderer 生成PDF,设置pdf的页面大小
- gVim 中文内容显示为乱码的解决办法
- 【Python】获取翻页之后的各页面中的属性值。
- python下载网页上公开数据集
- linux查找目录下的所有文件中是否含有某个字符串 (转)
- Golang 之 Base62 编码
- React Native 搭建开发环境
- android 智能提示
热门文章
- HDU 4279 Number(找规律)
- django 简易博客开发 2 模板和数据查询
- 【转】Wireshark技巧-过滤规则和显示规则
- 【.NET Core项目实战-统一认证平台】基于jackcao博客使用VSCode开发及感悟One搭建开发环境
- linux下weblogic11g成功安装后,启动报错Getting boot identity from user
- C#数据库连接池 MySql SqlServer
- 反射学习总结 --为理解SpringMVC底层做准备
- 零基础学python-5.1 数字简单介绍
- 【bzoj1561】[JSOI2009]去括号
- 6.游戏特别离不开脚本(3)-JS脚本操作java(2)(直接解析JS公式,并非完整JS文件或者函数)