Codeforces 题面传送门 & 洛谷题面传送门 神仙题.在 AC 此题之前,此题已经在我的任务计划中躺了 5 个月的灰了. 首先考虑这个最短距离是什么东西,有点常识的人(大雾)应该知道,对于一个排列 \(p\) 而言,通过交换两个元素使其变成 \(1,2,3,4,\cdots,n\) 的最少步数等于 \(n\) 减去该排列中置换环的个数,因此对于两个排列 \(a,b\) 而言,将 \(a\) 变成 \(b\) 所需的最少步数即是在所有 \(a_i\) 与 \(b_i\) 之间连 \(a_i…
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定两个排列 p, q,他们中的有些位置被替换成了 0. 两个排列 p, q 的距离为:最少需要在 p 中执行交换两个元素的操作,使得 p, q 相等. 对于每个 0 <= k <= n,求有多少将 0 替换回正整数并满足 p, q 依然是排列的替换方法,使得 p, q 距离为 k. 原题戳这里 @solution@ 考虑两个排列的距离怎么算.如果把 p[i]…
[CF715E]Complete the Permutations(容斥,第一类斯特林数) 题面 CF 洛谷 给定两个排列\(p,q\),但是其中有些位置未知,用\(0\)表示. 现在让你补全两个排列,定义两个排列\(p,q\)之间的距离为每次选择\(p\)中两个元素交换,使其变成\(q\)的最小次数. 求距离恰好为\([0,n-1]\)的填数方案数. 加强的题目在\(BZOJ\)上有,戳这里. 题解 看到这道题目就觉得无比熟悉.回头翻了翻发现果然是省队集训的时候的题目... 果然都是原题啊..…
题目 CF715E Complete the Permutations 做法 先考虑无\(0\)排列的最小花费,其实就是沿着置换交换,花费:\(n-\)环个数,所以我们主要是要求出规定环的个数 考虑连边\(a_i\rightarrow b_i\)(仅非零数有出边),本身形成环的不管(也没办法管),考虑一条除首尾外都不为\(0\),首尾至少有一个\(0\)的链(链),那么还有三类: \(0\rightarrow0(0(a)\)对应的\(b\)是\(0\)或\(b\)的最终点是\(0)\) \(0\…
codeforces 372 Complete the Word(双指针) 题链 题意:给出一个字符串,其中'?'代表这个字符是可变的,要求一个连续的26位长的串,其中每个字母都只出现一次 #include<queue> #include<cmath> #include<cstdio> #include<cstring> #include<cstdlib> #include<iostream> #include<algorith…
CF 715 E. Complete the Permutations 题目大意:给定两个排列\(p,q\)的一部分.定义两个排列\(p,q\)的距离为使用最少的交换次数使得\(p_i=q_i\).对于所有\(0\leq k\leq n-1\)的所有补全方案中距离为\(k\)的方案数. \(\\\) 将排列看成置换的话,两个完整的排列的距离为\(n-m\),其中\(m\)为循环节个数. 现在考虑将所有存在的不完整的循环节找出来.先连边:对于每个\(i\),连\(a_i\to b_i\),然后若\…
B. Complete the Word time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output ZS the Coder loves to read the dictionary. He thinks that a word is nice if there exists a substring (contiguous segmen…
题目链接:http://codeforces.com/problemset/problem/716/B 题目大意: 给出一个字符串,判断其是否存在一个子串(满足:包含26个英文字母且不重复,字串中有‘?’表示占位符可表示字母),如果存在则输出该字串‘?’位置用替换后的字母代替,其他不在子串中的‘?’用字母代替即可.如果该字串不存在满足条件的子串,则输出-1. 举例: ---------------------------------- input ABC??FGHIJK???OPQR?TUVWX…
E. Alphabet Permutations time limit per test:  1 second memory limit per test:  512 megabytes input:  standard input output: standard output You are given a string s of length n, consisting of first k lowercase English letters. We define a c-repeat o…
C. Iahub and Permutations time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Iahub is so happy about inventing bubble sort graphs that he's staying all day long at the office and writing permu…