当前位置: 首页 > news >正文

(状压dp)uva 10817 Headmaster's Headache

题目地址

 1 #include <bits/stdc++.h>
 2 typedef long long ll;
 3 using namespace std;
 4 const int MAX=1e5+5;
 5 const int INF=1e9;
 6 int s,m,n;
 7 int cost[125];
 8 //char sta[MAX];
 9 string sta;
10 int able[125];
11 int dp[125][1<<8][1<<8];
12 int d_p(int i,int s0,int s1,int s2)
13 {
14     if(i==m+n)
15         return s2==(1<<s)-1?0:INF;
16     int& ans=dp[i][s1][s2];
17     if(ans>=0)
18         return ans;
19     ans=INF;
20     if(i>=m)//为应聘者
21         ans=d_p(i+1,s0,s1,s2);//不选
22     int m0=able[i]&s0,m1=able[i]&s1;
23     s0^=m0;s1=(s1^m1)|m0;s2|=m1;
24     ans=min(ans,cost[i]+d_p(i+1,s0,s1,s2));
25     return ans;
26 }
27 int main()
28 {
29     while(~scanf("%d%d%d",&s,&m,&n))
30     {
31         if(s==0)
32             break;
33         getchar();
34         memset(dp,-1,sizeof(dp));
35         memset(able,0,sizeof(able));
36         for(int i=0;i<m+n;i++)
37         {
38             getline(cin,sta);
39             int num=0,len=sta.length(),j;
40             for(j=0;j<len&&sta[j]>='0'&&sta[j]<='9';j++)
41             {
42                 num=num*10+sta[j]-'0';
43             }
44             cost[i]=num;
45             num=0;
46             for(;j<len;j++)
47             {
48                 if(sta[j]>='0'&&sta[j]<='9')
49                     num=num*10+sta[j]-'0';
50                 else
51                 {
52                     if(num)
53                     {
54                         --num;
55                         able[i]|=(1<<num);
56                     }
57                     num=0;
58                 }
59             }
60             if(num)
61             {
62                 --num;
63                 able[i]|=(1<<num);
64             }
65         }
66         printf("%d\n",d_p(0,(1<<s)-1,0,0));
67     }
68     return 0;
69 }

 

转载于:https://www.cnblogs.com/quintessence/p/7197642.html

相关文章:

  • iis6 只能运行aspx, html, 但不能运行asp
  • GBA火焰纹章改版-智慧的结晶2.0更新(发布)
  • 前端到后台ThinkPHP开发整站(2)
  • 放slides了,无人值守的性能测试 for 淘宝技术嘉年华TCon2011
  • 事件冒泡和事件捕获
  • 【Android Dev Guide - 01】 - What Is Android?什么是Android?
  • CodeVs——T 3304 水果姐逛水果街Ⅰ
  • 【Android Dev Guide - 02】 - Application Fundamentals 应用基础
  • 【代码笔记】iOS-自定义选择框(高底强弱)
  • 惨痛教训
  • python(二十八)
  • 页面查找技巧
  • SqlServer索引的原理与应用
  • Spring+SpringMVC+mybatis整合以及注解的使用(三)
  • vs2010 javascript代码折叠扩展插件
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • css的样式优先级
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • Java精华积累:初学者都应该搞懂的问题
  • Lucene解析 - 基本概念
  • Otto开发初探——微服务依赖管理新利器
  • Python连接Oracle
  • Spark RDD学习: aggregate函数
  • TCP拥塞控制
  • Vue2.0 实现互斥
  • 阿里云前端周刊 - 第 26 期
  • 包装类对象
  • 分布式熔断降级平台aegis
  • 诡异!React stopPropagation失灵
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 通信类
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • ionic入门之数据绑定显示-1
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • # 数据结构
  • #Lua:Lua调用C++生成的DLL库
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (23)Linux的软硬连接
  • (Git) gitignore基础使用
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)VC++中ondraw在什么时候调用的
  • .gitignore文件—git忽略文件
  • .gitignore文件---让git自动忽略指定文件
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .NET6实现破解Modbus poll点表配置文件
  • .NET值类型变量“活”在哪?
  • @Transactional类内部访问失效原因详解
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
  • [20150904]exp slow.txt
  • [⑧ADRV902x]: Digital Pre-Distortion (DPD)学习笔记
  • [AIGC] 如何建立和优化你的工作流?