首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
loj #6077. 「2017 山东一轮集训 Day7」逆序对
】的更多相关文章
loj #6077. 「2017 山东一轮集训 Day7」逆序对
#6077. 「2017 山东一轮集训 Day7」逆序对 题目描述 给定 n,k n, kn,k,请求出长度为 n nn 的逆序对数恰好为 k kk 的排列的个数.答案对 109+7 10 ^ 9 + 7109+7 取模. 对于一个长度为 n nn 的排列 p pp,其逆序对数即满足 i<j i < ji<j 且 pi>pj p_i > p_jpi>pj 的二元组 (i,j) (i, j)(i,j) 的数量. 输入格式 一行两个整数 n,k n,…
【LOJ6077】「2017 山东一轮集训 Day7」逆序对 生成函数+组合数+DP
[LOJ6077]「2017 山东一轮集训 Day7」逆序对 题目描述 给定 n,k ,请求出长度为 n的逆序对数恰好为 k 的排列的个数.答案对 109+7 取模. 对于一个长度为 n 的排列 p ,其逆序对数即满足 i<j 且 pi>pj 的二元组 (i,j)的数量. 输入格式 一行两个整数 n,k. 输出格式 一行,表示答案. 样例输入 7 12 样例输出 531 数据范围与提示 对于 20% 的数据,n,k≤20:对于 40% 的数据,n,k≤100:对于 60% 的数据,n,k≤50…
LOJ6077「2017 山东一轮集训 Day7」逆序对 (生成函数+多项式exp?朴素DP!)
题面 给定 n , k n,k n,k ,求长度为 n n n 逆序对个数为 k k k 的排列个数,对 1 e 9 + 7 \rm1e9+7 1e9+7 取模. 1 ≤ n , k ≤ 100 000 1\leq n,k\leq 100\,000 1≤n,k≤100000 . 题解 首先,不要看到逆序对就手忙脚乱,它其实是可控的. 令 d i d_i di 为第 i i i 个数前面比它大的数的个数,满足条件 d i ∈ [ 0 , i ) d_i\in[0,i) di∈[0,i) .…
loj6077. 「2017 山东一轮集训 Day7」逆序对
题目描述: loj 题解: 容斥+生成函数. 考虑加入的第$i$个元素对结果的贡献是$[0,i-1]$,我们可以列出生成函数. 长这样:$(1)*(1+x)*(1+x+x^2)*--*(1+x+x^2+--+x^{n-1})=\frac{\prod_{i=1}^{n}1-x^i}{(1-x)^n}$ 把分母提出来:$\frac{1}{(1-x)^n} = (1+x+x^2+--)^n = \sum_{i=0}^{k} C_{i+n-1}^{n-1}$,日常小球放盒. 现在还剩$\prod_{i=…
「2017 山东一轮集训 Day7」逆序对
题解: 满满的套路题.. 首先显然从大到小枚举 然后每次生成的逆序对是1----(i-1)的 这样做dp是nk的 复杂度太高了 那我们转化一下问题 变成sigma(ai (ai<i) )=k的方案数 据说是个经典问题..感觉非常奇妙 先容斥一下,也就是说 总的-至少1个条件不满足+至少2个条件不满足 那考虑一下如何算有x个条件不满足 不满足这个条件就可以等价成ai>=i 那么可以先将ai-i 那么就变成所有数的定义域都变成了自然数 那么方案数就是组合数了 显然我们可以把x个条件-i的和相…
题解 「2017 山东一轮集训 Day7」逆序对
题目传送门 Description 给定 $ n, k $,请求出长度为 $ n $ 的逆序对数恰好为 $ k $ 的排列的个数.答案对 $ 10 ^ 9 + 7 $ 取模. 对于一个长度为 $ n $ 的排列 $ p $,其逆序对数即满足 $ i < j $ 且 $ p_i > p_j $ 的二元组 $ (i, j) $ 的数量. 一行两个整数 $ n, k $. 一行,表示答案. 对于 $ 20% $ 的数据,$ n, k \leq 20 $: 对于 $ 40% $ 的数据,$ n, k…
LOJ #6119. 「2017 山东二轮集训 Day7」国王
Description 在某个神奇的大陆上,有一个国家,这片大陆的所有城市间的道路网可以看做是一棵树,每个城市要么是工业城市,要么是农业城市,这个国家的人认为一条路径是 exciting 的,当且仅当这条路径上的工业城市和农业城市数目相等.现在国王想把城市分给他的两个儿子,大儿子想知道,他选择一段标号连续的城市作为自己的领地,并把剩下的给弟弟,能够满足两端都是自己城市的 exciting 路径比两端都是弟弟的城市的 exciting 路径数目多的方案数. Solution 我们分析一下: 要求的…
loj #6079. 「2017 山东一轮集训 Day7」养猫【最大费用最大流】
首先假设全睡觉,然后用费用流考虑平衡要求建立网络流 把1~n的点看作是i-k+1~k这一段的和,连接(i,i+k,1,e[i]-s[i]),表示把i改成吃饭,能对i~i+k-1这一段的点产生影响:然后连接(i,i+1,k-ms-me,0),这是除了限额外可以随便选的(i+k,i+1>n就连到t) 然后建立ss,向1~k点连(ss,i,inf,0),再连(s,ss,k-ms,0)限流 然后跑最大费用最大流即可 #include<iostream> #include<cstdio>…
Loj #6069. 「2017 山东一轮集训 Day4」塔
Loj #6069. 「2017 山东一轮集训 Day4」塔 题目描述 现在有一条 $ [1, l] $ 的数轴,要在上面造 $ n $ 座塔,每座塔的坐标要两两不同,且为整点. 塔有编号,且每座塔都有高度,对于编号为 $ i $ 座塔,其高度为 $ i $.对于一座塔,需要满足它与前面以及后面的塔的距离大于等于自身高度(不存在则没有限制).问有多少建造方案.答案对 $ m $ 取模. 塔不要求按编号为顺序建造. 输入格式 一行三个整数 $ n, l, m $. 输出格式 输出一个整数,代表答案…
Loj #6073.「2017 山东一轮集训 Day5」距离
Loj #6073.「2017 山东一轮集训 Day5」距离 Description 给定一棵 \(n\) 个点的边带权的树,以及一个排列$ p\(,有\)q $个询问,给定点 \(u, v, k\),设$ path(u,v) \(表示\) u$ 到 $v \(的路径,\)dist(u,v) \(表示\) u$ 到\(v\) 的距离,希望你求出 Input 第一行一个整数 \(type =0/1\)表示这个测试点的数据类型. 第二行两个整数 \(n,q\). 接下来$ n−1$ 行,每行三个整数…