G. Allowed Letters

题目描述:有一个字符串,由'abcdef'组成,现在对这个字符串进行重排,并满足每个位置能选择的字符,输出重排后字典序最小的字符串,或无解

solution
逐位安排字符,枚举选择哪一个字符后判断剩下的字符是否能满足后面的每个位置的需求,如果可以就选择这个字符。

问题在于如何判断剩下的字符是否能满足条件。这里可以利用一个定理:Hall's marriage theorem.

这个定理给出了一个二分图完美匹配的必要条件:假设两个点集\(U, V\),若对于\(\forall S \subset U\), \(S\)连到\(V\)的点集为\(S'(\subset V)\), 满足\(|S| \leq |S'|\),那么\(U\)能全部匹配。
利用这个定理还能求二分图的最大匹配\(=|U|-max(|S|-|S'|)\)

回到这道题,可以\(2^6\)枚举选择的字符集,预处理出只用该字符集(或子集)的位置有多少个,再用定理判断是否存在完美匹配即可。

时间复杂度:\(O(n*2^6*6^2)\)

转载于:https://www.cnblogs.com/GerynOhenz/p/9351196.html

Educational Codeforces Round 47相关推荐

  1. Educational Codeforces Round 47 (Rated for Div. 2) :E. Intercity Travelling

    题目链接:http://codeforces.com/contest/1009/problem/E 解题心得: 一个比较简单的组合数学,还需要找一些规律,自己把方向想得差不多了但是硬是找不到规律,还是 ...

  2. Educational Codeforces Round 47 (Div 2) (A~G)

    目录 Codeforces 1009 A.Game Shopping B.Minimum Ternary String C.Annoying Present D.Relatively Prime Gr ...

  3. Educational Codeforces Round 47 (Rated for Div. 2) :C. Annoying Present(等差求和)

    题目链接:http://codeforces.com/contest/1009/problem/C 解题心得: 题意就是一个初始全为0长度为n的数列,m此操作,每次给你两个数x.d,你需要在数列中选一 ...

  4. Educational Codeforces Round 90 (Rated for Div. 2)(A, B, C, D, E)

    Educational Codeforces Round 90 (Rated for Div. 2) Donut Shops 思路 分三种情况: a==c/ba == c / ba==c/b这个时候两 ...

  5. Educational Codeforces Round 24 E. Card Game Again(双指针)

    题目链接:Educational Codeforces Round 24 E. Card Game Again 题意: 给你n个数和一个数k. 现在每次可以拿掉前x个数,后y个数,剩下的数的乘积要能被 ...

  6. Educational Codeforces Round 138 (Rated for Div. 2) D

    Educational Codeforces Round 138 (Rated for Div. 2) D. Counting Arrays 题意 给定长度为nnn的数组aaa,若gcd(ai,i)= ...

  7. [Educational Codeforces Round 16]A. King Moves

    [Educational Codeforces Round 16]A. King Moves 试题描述 The only king stands on the standard chess board ...

  8. Educational Codeforces Round 114 (Rated for Div. 2) (A ~ F)全题解

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Educational Codeforces Round 114 (Rated for Div. 2) ...

  9. Educational Codeforces Round 106 (Rated for Div. 2)(A ~ E)题解(每日训练 Day.16 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 Educational Codeforces Round 106 (Rated for Div. ...

最新文章

  1. R语言基于自定义函数构建xgboost模型并使用LIME解释器进行模型预测结果解释:基于训练数据以及模型构建LIME解释器解释一个iris数据样本的预测结果、LIME解释器进行模型预测结果解释并可视化
  2. Dreamweaver8注册码
  3. ABAP gateway里OData url里的select操作是如何在后端实现的
  4. c++ map的存储结构_「软帝学院」java集合类框架map及相关常见问题二
  5. java面试题2021最新
  6. SLAM Cartographer(3)定位和子图构建节点
  7. mysql可以用docker部署吗_使用docker部署MySQL服务器
  8. Shell自动备份部署新项目
  9. JS日期比较 2013-01-31大于2013-02-01
  10. 两台电脑如何实现共享文件
  11. 聚类分析K均值算法讲解
  12. 论数据库运维的全流程管控技术
  13. x86为什么是32位系统?
  14. 2022年中国智能家居产业链图谱 | 产业链全景图
  15. SAP SM30隐藏部分字段以及自动带出某些值
  16. 起先于心血来潮的linux学习...
  17. 用计算机玩游戏的视频教程,手机飞屏玩电脑游戏 观看电脑视频教程
  18. 目标检测数据集:坦克(2)
  19. 聊天机器人 2020
  20. python四种方式打印九九乘法表

热门文章

  1. NOIP2013/day1/1/转圈游戏
  2. Ubuntu ssh 登陆问题
  3. linux apache 多域名配置,apache-2.4.12基于域名访问的多虚拟主机配置
  4. 利用Pin实现CodeCoverage
  5. MySQL线上备份与恢复方案
  6. (113)FPGA面试题-LUT计算问题
  7. (42)Xilinx FIFO IP核配置(三)(第9天)
  8. (39)FPGA原语设计(IDDR)
  9. (36)Verilog HDL关系运算:大于、小于、等于
  10. 练字格子纸模板pdf_这么好用的模板,我要好好保存下来!