Codeforces 101206 H & HDU 6006 Engineer Assignment

题意:给定N个任务和M个工程师。每个任务PiAi个部件Cij组成。每个工程师Ei能够处理Bi个部件Cij。每个工程师只能处理一个任务。一个任务可以由多个工程师处理。一个任务当且仅当所有部件被处理后才算被完全解决。问如何安排能够使得完成的任务数目最多。

数据范围:

1N,M10

1C100

1A,B3

思路:预处理每个任务Pi能由哪些工程书处理。

那么对于状态:

dp[N][1<<M]

有:

dp[i][j]=MIN(dp[i][j],dp[i1][k|up]+1)

其中dp[i][j]表示前i个任务工程师工作状态为j的最大任务完成数。

#include<iostream>
#include<cstdio>
#include<cmath>
#include<string>
#include<cstring>
#include<stack>
#include<queue>
#include<map>
#include<algorithm>
#include<bitset>
#include<vector>
#include <functional>
using namespace std;

typedef long long ll;
typedef pair<ll, ll>pii;
typedef bitset<101> bs;

#define sp system("pause")

bs p[15], e[15];
vector<int>pw[15];
int dp[15][(1 << 13)];

void init()
{
    memset(dp, -1, sizeof dp);
    for (int i = 0; i < 15; i++)p[i].reset(), e[i].reset(),pw[i].clear();
}

int main()
{
    int T;
    cin >> T;
    int cas = 1;
    while (T--)
    {
        init();
        int n, m;
        scanf("%d%d", &n, &m);
        for (int i = 0; i < n; i++)
        {
            int x;
            scanf("%d", &x);
            for (int j = 0; j < x; j++)
            {
                int y;
                scanf("%d", &y);
                p[i][y] = 1;
            }
        }
        for (int i = 0; i < m; i++)
        {
            int x;
            scanf("%d", &x);
            for (int j = 0; j < x; j++)
            {
                int y;
                scanf("%d", &y);
                e[i][y] = 1;
            }
        }
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < (1 << m); j++)
            {
                bs now;
                for (int k = 0; k < m; k++)if (j&(1 << k))now |= e[k];
                if ((now&p[i]) == p[i])pw[i].push_back(j);
            }
        }
        for (int i = 0; i < pw[0].size(); i++)
            dp[0][pw[0][i]] = 1;
        for (int i = 0; i < (1 << m); i++)if (dp[0][i] == -1)dp[0][i] = 0;
        int ans = 0;
        for (int i = 1; i < n; i++)
        {
            for (int j = 0; j < (1 << m); j++)
            {
                if (dp[i - 1][j] == -1)continue;
                if (dp[i][j] == -1)dp[i][j] = dp[i - 1][j];
                else dp[i][j] = max(dp[i][j], dp[i - 1][j]);
                for (int k = 0; k < pw[i].size(); k++)
                {
                    int now = pw[i][k];
                    if ((now&j) == 0)
                    {
                        if (dp[i][now | j] == -1)dp[i][now | j] = dp[i - 1][j] + 1;
                        else dp[i][now | j] = max(dp[i][now | j], dp[i - 1][j] + 1);
                    }
                }
            }
        }
        for (int i = 0; i < n; i++)for (int j = 0; j < (1 << m); j++)
            ans = max(ans, dp[i][j]);
        printf("Case #%d: %d\n", cas++, ans);
    }
}

MySQL数据库从入门实战课

12-31
限时福利1:购课进答疑群专享柳峰(刘运强)老师答疑服务。 限时福利2:购课后添加学习助手(微信号:csdn590),按消息提示即可领取编程大礼包! 注意:原价129的课程,最后2天限时秒杀仅需49元!! 为什么说每一个程序员都应该学习MySQL? 根据《2019-2020年中国开发者调查报告》显示,超83%的开发者都在使用MySQL数据库。 使用量大同时,掌握MySQL早已是运维、DBA的必备技能,甚至部分IT开发岗位也要求对数据库使用和原理有深入的了解和掌握。 学习编程,你可能会犹豫选择 C++ 还是 Java;入门数据科学,你可能会纠结于选择 Python 还是 R;但无论如何, MySQL 都是 IT 从业人员不可或缺的技能! 【课程设计】 在本课程中,刘运强老师会结合自己十多年来对MySQL的心得体会,通过课程给你分享一条高效的MySQL入门捷径,让学员少走弯路,彻底搞懂MySQL。 本课程包含3大模块:&nbsp; 一、基础篇: 主要以最新的MySQL8.0安装为例帮助学员解决安装与配置MySQL的问题,并对MySQL8.0的新特性做一定介绍,为后续的课程展开做好环境部署。 二、SQL语言篇: 本篇主要讲解SQL语言的四大部分数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL,学会熟练对库表进行增删改查等必备技能。 三、MySQL进阶篇: 本篇可以帮助学员更加高效的管理线上的MySQL数据库;具备MySQL的日常运维能力,语句调优、备份恢复等思路。 &nbsp;

Python入门到实战一卡通

06-09
&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; &lt;span&gt; &lt;/span&gt; &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 【课程特色】 &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; &lt;span class=&quot;ql-author-24357476&quot;&gt;1、超强师资+体系全面+ 1 对 1 答疑+离线缓存+永久有效,无限回放&lt;/span&gt; &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 2、知识全面系统,从Python入门到逐步进阶到爬虫、数据分析、Web框架、人工智能应用 &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; &lt;br&gt; &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; &lt;span class=&quot;ql-author-24357476&quot;&gt;【优惠说明】&lt;/span&gt; &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; &lt;span class=&quot;ql-author-24357476&quot;&gt;1、8大课程,250余节视频课,原价998元,今日联报立减800,仅需198元&lt;/span&gt; &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; &lt;span class=&quot;ql-author-24357476&quot;&gt;2、&lt;/span&gt;现在购课,就送价值800元的编程大礼包! &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 备注:请添加微信:itxy41,按提示获取讲师答疑服务。 &lt;/p&gt; &lt;p&gt; &lt;br&gt; &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 讲师介绍:裴帅帅,前百度资深架构师,现爱奇艺算法架构师全程亲自授课。 &lt;/p&gt; &lt;p&gt; &lt;br&gt; &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 【为什么要学习这门套餐课?】 &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; Python无论是在web/爬虫/人工智能/大数据/机器学习/测试/运维/数据分析等等领域都有大量的应用,但是作为小白来讲,很难确定最适合自己的应用方向。 &lt;/p&gt; &lt;p&gt; &lt;br&gt; &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 在这门课程中,将带你从零入门Python,并向你讲授实战 Python 各个应用方向的核心知识点,同时应用于实战项目。 &lt;/p&gt; &lt;p&gt; &lt;br&gt; &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 【学完后我将达到什么水平?】 &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 你将能够熟练掌握 Python 在人工智能时代的多种技能,具备使用 Python 编写代码完成 Web 后台开发、网络爬虫、数据分析、机器学习、推荐系统等多种项目实战的能力,掌握 Python 全栈工程师的核心能力。 &lt;/p&gt; &lt;p&gt; &lt;br&gt; &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 【课程学习路径】 &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 本套课以市场就业和职位需求为核心,从 Python 入门到多领域实战,并结合 Python 全栈工程师的进阶路线,共分为八大模块,分别是:Python 基础、Python Web 开发、Python 爬虫、Numpy 数据计算、Pandas 数据分析、Python数据可视化、Tensorflow 深度学习、推荐系统实战应用模块。 &lt;/p&gt; &lt;p&gt; &lt;br&gt; &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 套餐中一共包含8门Python课程(共246讲)助你从零进阶Python全栈工程师! &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 课程1:《Python零基础入门视频教程》 &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 课程2:《Python爬虫从入门到实战》 &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 课程3:《Python使用Flask开发Web服务》 &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 课程4:《Python使用Numpy入门数据计算》 &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 课程5:《Python使用Pandas入门数据分析》 &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 课程6:《Python数据图表可视化》 &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 课程7:《Tensorflow深度学习从入门到实战》 &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 课程8:《推荐系统技术入门到实战》 &lt;/p&gt; &lt;p&gt; &lt;br&gt; &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 【面向人群】 &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 1、在校计算机专业或者对软件编程感兴趣的学生; &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 2、想要使用数据分析、网络爬虫提升职场竞争力升职加薪的各行各业的企业白领; &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 3、想要转方向成为数据分析师、大数据开发、机器学习算法、推荐系统工程师的职场码农; &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 4、准备从事人工智能、Python开发的程序员。 &lt;/p&gt; &lt;/span&gt; &lt;p&gt; &lt;br&gt; &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; &lt;br&gt; &lt;/p&gt; &lt;p&gt; &lt;br&gt; &lt;/p&gt; &lt;p class=&quot;ql-long-24357476&quot;&gt; 【课程知识体系图】 &lt;/p&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;p&gt; &lt;img src=&quot;https://img-bss.csdnimg.cn/202006100818561687.png&quot; alt=&quot;&quot;&gt; &lt;/p&gt;
©️2020 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值