首页 > TAG信息列表 > 求有
【典】一个计数小技巧
其实是一个比较常用的数数技巧,但是遇到题目的时候总是忘掉。 就是形如已知一个序列,求有多少个排列满足一个条件,这个条件一般是制约相邻两个元素的。 那么可以采用一个技巧就是序列排序,然后按照某种顺序插入。 ABC267G *2561 \(\color{blue}\bigstar\) 有一个长度为 \(n\) 的序列长度为2n的数组,包含数字1~n各两个,将数组转化成前半部分非递减,后半部分非递增,求有多少种这样的数组
题目描述 一个长度为2n的数组,其中包含数字1~n,每个数字重复一次。例如n=2,{1,1,2,2}.现将数组转化成前半部分非递减,即只有一个驼峰,对给定的n求所有的满足该条件的数组。 示例 n = 1 输出:{1,1} n = 2 输出:{1,1,2,2},{1,2,2,1},{2,2,1,1} n = 3 输出:{1,1,3,3,2,2},{1,1,2,2,3,3},{1,1,2,3,3,2},{1,3,3,2,2,1} {1,3,3,2,2,1},{1算法学习——求有重复元素的全排列(递归)
算法学习——求有重复元素的全排列(递归) 思路:看到这个题目首先能想到的一点就是:①我们要求元素的所有全排列②我们要对求出的全排列去重 第一步:求全排列,这里先讨论对不含重复元素的数组元素进行全排列,用递归方法怎么实现叻 思考这样一种方法:假如我们要求1,2,3,4的全排列,我们可以把1【图论】【题解】求有向无环图 互不到达的最大点集的大小
ACM_ICPC 2017 Asia Nanning -M 求给定的有向无环图,互不到达的最大点集的大小。 \(T\le500,\,n\le100,\,m\le n*(n-1)/2,\;\sum m\le500000\) 。 做法:对每个点与其能到达的点连边,得到一个新的有向图,对这个有向图求最大二分图匹配,答案则为 \(n\)-最大二分图匹配数。 注意有向图和无莫比乌斯反演 刷题记录
BZOJ1101: [POI2007]Zap 题意:对于给定的整数a,b和d,求有多少正整数对x,y,满足x<=a,y<=b,并且gcd(x,y)=d 直接求有多少正整数对x,y,gcd(x,y)=d比较难求,而且询问有50000个, \begin{gather*}\sum ^{b}_{y=1} \ \sum\limits ^{a}_{x=1} \ gcd( x,y) =1\\\end{gather*}