CF1009G Allowed Letters】的更多相关文章

题意 给你一个长为 \(n\) 的串,字符集为 \(a,b,c,d,e,f\) .你可以将整个串打乱之后重新放置,但是某些位置上有一些限制:必须放某个字符集的字符.问字典序最小的串,如果无解输出 "Impossible". \(n\le 10^5\) 分析 每次贪心地选择字典序最小的字符判断,判断后面是否可以完美匹配.可以考虑霍尔定理. 这里有两种想法,一种是对于每种字符开一个 \(bitset​\) 记录被包含的位置然后求并集(字符匹配位置):另一种则是考虑 "非完美算法&…
link 题意: 给你一个长为n的串,字符集'a'~'f'.你可以重排这个串,满足指定m个位置上只能放特定的字符,m个位置以及字符集会给出.求字典序最小的串? $n,m\leq 10^5.$ 题解: 稍微需要那么一点技巧的贪心. 贪心策略比较显然,无非就是从左往右放尽可能小的字符,同时保证当前位置之后有合法解. 考虑预处理a[i]:i位置可以放的字符集:cnt[i]:集合i的字符在整个串中出现的次数:b[i][j]:i~n位置中a[]被集合j包含的个数.每次判断一个字符是否可行,只要枚举任意一个…
Allowed Letters 最直观的想法是贪心取, 然后网络流取check可不可行, 然后T了. 想到最大流可以等于最小割, 那么我们状压枚举字符代表的6个点连向汇点是否断掉, 然后再枚举64个本质不同的位置, 是否需要切段原点联想它的边, 单次check复杂度64 * 64 用sosdp能优化到64 * 6 #include<bits/stdc++.h> #define LL long long #define LD long double #define ull unsigned lo…
原文链接https://www.cnblogs.com/zhouzhendong/p/CF1009G.html 题目传送门 - CF1009G 题意 给定一个长度为 $n$ 的字符串 $s$ .并给定 $m$ 条限制,第 $i$ 条限制声明了第 $i$ 个位置的字符可以取的值.如果没有声明表示可以任意取值. 求一个字符串 $s$ 的排列,在满足 $m$ 条限制的同时,使得字典序最小.如果不存在满足限制条件的字符串,则输出 $-1$. $n,m\leq 10^5$,字符集 $ = \{'a','b…
题意: 给出一个字符串 给出几个定点必须是哪个字母(或者是几个字母中的一个)  然后求在满足所有定点后的最小字符串 解析: 没错 这题是暴力 用状压暴力 “a - f” 用”0 - 5“ 这几个数字代替   输入字符串  num[i]为字母i的个数,然后输入定点必须为哪个字母,ti[i]中用六位二进制来存储当前位置i的可以放的字母 1代表放 0不放 设cnt = 1<<6 - 1; 即为所有状态的上界 然后从后向前遍历一遍,统计对于位置i到n  状态k还需要多少个 sum[i][j]来表示 然…
题意:给你一个字符串,和每个位置可能的字符(没有就可以放任意字符)要求一个排列使得每个位置的字符在可能的字符中,求字典序最小的那个 题解:很容易判断有没有解,建6个点表示从a-f,和源点连边,容量为原串字符出现次数,再建64个点表示给定的位置的每一个状态,和汇点连边,容量为出现次数,如果a-f某个字符在状态中出现过,再把a-f和状态连边,容量inf,但是这只能求可行解,并不是字典序最小, 我们枚举每个位置该放哪个字符(a-f),假设该位置是pos,枚举的字符是x,该位置可能字符的状态是st,现在…
这个题大概就是每一个位置都有一个能填字符的限制(一个点集),给出已有的$n$个字符,问能填出的最小字典序的字符串. 总体思路是贪心,每一位尽量选最小的字符. 关键在于判断在某位选了一个字符后,接下来的位置能否满足限制. 考虑怎么判断有解,这里有一种网络流的思路: 有$6$个点,代表了$a - f$$6$个字符,有源点向这些点连边,流量为该字符的个数. 另有$2^{6}$个点,代表了各个点集,这些点向汇点连边,流量为该点集在所有限制中出现的次数. 如果某个点在一个点集中,则由该点向该点集连流量为$…
因为是字典序所以贪心选当前能选的最小的,所以问题就在于怎么快速计算当前这个位置能不能选枚举的字母 重排之后的序列是可以和原序列完美匹配的,而完美匹配需要满足hall定理,也就是左边任意k个集合一定和右边至少k个点相连 又一共6个字符,原序列中相同字符点连出的点集是一样的,所以只要2^6个字符集合满足hall定理,每次这样枚举状压判断一下即可 #include<iostream> #include<cstdio> #include<cstring> using names…
把原字符看成 $X$,每个位置看成 $Y$,每种字符向每个能去的位置连边,就成了一个二分图完美匹配的问题.现要得到字典序最小,那么就枚举每一位要放什么,然后看放完这种字符,剩下的字符的个数和后面能不能形成完美匹配.根据霍尔定理,选择 $X$ 中的一个子集 $s$,和 $Y$ 连边的点集为 $N(s)$,那么 $N(s)$ 的大小就只和 $s$ 中的字符种类数有关.当 $s$ 最大时肯定是每种字符的个数都拿上.那么就用一个 $cnt[i][s]$ 表示后缀 $[i, n]$ 中和 $s$ 连边的位…
CF79D Password: 差分.两点取反,本质是匹配!最短路+状压DP 取反是套路,匹配是发现可以把操作进行目的化和阶段化,从而第二次转化问题. 且匹配不会影响别的位置答案 sequence 计算最长极长段小于等于j的方案数 突破口是i,k总共对数nlogn级别,干掉j用组合意义大力推导 CF1062F Upgrading Cities DAG考虑topo,关键性质:topo序队列中点两两不可达.只在队列长度<=2时候才关心. CF1060F Shrinking Tree 考虑x是不是rt…
目录 Codeforces 1009 A.Game Shopping B.Minimum Ternary String C.Annoying Present D.Relatively Prime Graph E.Intercity Travelling(递推) \(Description\) \(Solution\) F.Dominant Indices(启发式合并) G.Allowed Letters(Hall定理 位运算) \(Description\) \(Solution\) Codef…
WebDAV 是超文本传输协议 (HTTP) 的一组扩展,为 Internet 上计算机之间的编辑和文件管理提供了标准.利用这个协议用户可以通过Web进行远程的基本文件操作,如拷贝.移动.删除等.在IIS 7.0中,WebDAV是作为独立扩展模块,需要单独进行下载,而IIS 7.5中将集成WebDAV,然而WebDav把Put,Delete给咔嚓了.所以在IIS 7.5上部署的RESTful服务(WCF Data Service,WCF Rest Service,ASP.NET Web API,…
CREATE DATABASE statement not allowed within multi-statement transaction. 刚开始报这个错误的时候,我上度娘搜了一下. 别人是在Sql Server 管理界面新增数据的时候,报的错误. 而我,是在ASP.NET MVC程序启动,首次访问时,抛的异常,所以别人的解决方案并不适合我. 后来,经过一番折腾,偶然中碰巧解决了问题. 后来试了下重现问题,以便确认解决方案. 大体的原因是有已经有一个实例连接你的数据库了,而此时ASP.N…
前言 配置SharePoint 2016的配置向导中,第三步创建配置数据库报错,然后百度.谷歌了一下,都没有解决,自己看日志搞定,也许会有人遇到类似问题,分享一下. 1.配置向导的错误截图,如下图: 2.根据上图找到错误日志,日志里的详细信息,如下: Failed to create the configuration database. An exception of type System.Xml.Schema.XmlSchemaException was thrown. Additiona…
Design a data structure that supports all following operations in average O(1) time. Note: Duplicate elements are allowed. insert(val): Inserts an item val to the collection. remove(val): Removes an item val from the collection if present. getRandom:…
Given a string which contains only lowercase letters, remove duplicate letters so that every letter appear once and only once. You must make sure your result is the smallest in lexicographical order among all possible results. Example: Given "bcabc&q…
报错内容为: Content is not allowed in prolog. Nested exception: Content is not allowed in prolog. 网上所述总结来说就是 解析内容内包含BOM .这个标记是看不到的,流里面有这个标记而已. BOM:Byte Order Mark,中文名字节顺序标记.UCS规范建议在传输字节流前,先传输BOM来判断字节顺序. 其实UTF-8是不需要用BOM来表明字节顺序的,但是可以 用BOM来表明编码方式.BOM的UTF-8编码…
如果你想连接你的mysql的时候发生这个错误: ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server 1 首先检查电脑的防火墙是否关闭. 2 通过mysql命令来授权,其他电脑的访问权限. 方法一:授权法(推荐).例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENT…
报错:1130-host ... is not allowed to connect to this MySql server   解决方法: 1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" mysql -u r…
``` ... earlier we said top-level code isn't allowed in most of your app's source files. The exception is a special file named "main.swift", which behaves much like a playground file, but is built with your app's source code. The "main.swif…
很奇怪的问题,使用真机测试没有问题.但使用模拟器测试的时候就会报这样的错误,错误类型为:Code Sign Error 错误提示是这样:resource fork, Finder information, or similar detritus not allowed. 找了很多资料,说的都是一半一半,有的看了仍是无从下手.最后看到的处理方式是这样的: 首先关闭Xcode,打开终端: 进入DerivedData目录 cd ~/Library/Developer/Xcode/DerivedData…
修改mysql的root密码后,出现Host 'localhost' is not allowed to connect to this MySQL server 错误. 解决办法: C:\Program Files\MySQL\MySQL Server 5.5\my.ini 在[mysqld]下加下面两行, skip-name-resolveskip-grant-tables 重启mysql的windows服务…
一个stmt多个rs进行操作.那么从stmt得到的rs1,必须马上操作此rs1后,才能去得到另外的rs2,再对rs2操作.不能互相交替使用,会引起rs已经关闭错误——Operation not allowed after ResultSet closed. 错误的代码如下: stmt=conn.createStatement(); rs=stmt.executeQuery("select * from t1"); rst=stmt.executeQuery("select *…
在SQL Server中,在链接服务器中调用表值函数(table-valued function)时,会遇到下面错误: SELECT * FROM LNK_TEST.TEST.DBO.TEST(12)   消息 4122,级别 16,状态 1,第 1 行   Remote table-valued function calls are not allowed. 以前几乎没有在链接服务器(Linked Server)当中调用过表值函数,查了一下资料,看来SQL Server这似乎是不支持的(抑或是…
java.lang.IllegalStateException: Not allowed to create transaction on sharedEntityManager - use Spring transactions or EJB CMT instead 原因以我的理解是,SPRING的配置中没有开启事务.解决方法,在@Transactionalpublic class CategoryDAO {...}的实现类上,加上事务的注解.问题解决可以写入数据库,但是有一点还是不清楚,如果…
其实使用put delete  是在创建webapi中基本才会使用. WebDAV 是超文本传输协议 (HTTP) 的一组扩展,为 Internet 上计算机之间的编辑和文件管理提供了标准.利用这个协议用户可以通过Web进行远程的基本文件操作,如拷贝.移动.删除等.在IIS 7.0中,WebDAV是作为独立扩展模块,需要单独进行下载,而IIS 7.5中将集成WebDAV,然而WebDav把Put,Delete给咔嚓了.所以在IIS 7.5上部署的RESTful服务(WCF Data Servic…
Received an invalid response. Origin 'null' is therefore not allowed access. 今天在做二级联动,使用ajax请求xml数据,在用ie8与chrome做测试时就出现了这句话,看到网上也有说跨域等其他,更改浏览器等...... 我的解决方法:我把它放在iis服务器进行测试,请求数据就正常了!…
现象 日志里出现异常: OOM command not allowed when used memory > 'maxmemory' 原因 内存已满,不允许再存数据了,可以通过redis-cli 查看redis的具体信息 > info memory # Memory used_memory: used_memory_human:3.93M used_memory_rss: used_memory_peak: used_memory_peak_human:.84G used_memory_lua…
在进行类转json字符串时,报错JsonException: Max allowed object depth reached while trying to export from type System.Single. ok,实际上是类的属性中有json不能识别的数据类型. JsonData public JsonData(bool boolean); public JsonData(double number); public JsonData(int number); public Js…
在程序中使用了一个wcf服务,调试时无任何问题(win7 64位,iis6.1),发布到部门服务器上没有问题(server2008 64位),但是部署到实际服务器上时(server2008 iis6.1),捕捉到错误“POST http://IP/WCFService.svc 405 (Method Not Allowed) ” 一开始从代码入手解决,绕了一圈才发现是服务器部署问题,IIS上的“处理程序映射”中没有.svc文件的映射... 参考http://msdn.microsoft.com/…