题意: 如果有2个排列a,b,定义序列c为: c[i] = (a[i] + b[i] - 2) % n + 1 但是,明显c不一定是一个排列 现在,给出排列的长度n (1 <= n <= 16) 问有多少种a,b的排列的组合的方案,使得得到的c也是一个排列 排列的组合a = x,b = y 与 排列的组合a = y,b = x算是2种方案 思路: 有3个排列,不妨假设排列a 为1,2,3,...,n 这样结果再 * n! 就是答案 考虑状压dp j是一个16位的数,记录b的n个数被用了哪些数…
ZOJ Problem Set - 1609 Equivalence Time Limit: 5 Seconds      Memory Limit: 32768 KB When learning mathamatics, sometimes one may come to an theorem which goes like this: The following statements are equivalent: a)......b)......c)...... For example,…
[Codeforces 1208D]Restore Permutation (树状数组) 题面 有一个长度为n的排列a.对于每个元素i,\(s_i\)表示\(\sum_{j=1,a_j<a_i}^i a_j\).即前面比它小的元素的值之和. 给出\(s_1,s_2 \dots s_n\),求a 分析 考虑如何求\(a_n\),\(s_n\)实际上表示的是1~n中比\(a_n\)小的所有数的和,可以直接求出\(a_n\) 然后我们可以倒序求\(a_i\),求到\(a_i\)的时候,我们已经知道\(…
1725: [Usaco2006 Nov]Corn Fields牧场的安排 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1122  Solved: 807[Submit][Status][Discuss] Description Farmer John新买了一块长方形的牧场,这块牧场被划分成M列N行(1<=M<=12; 1<=N<=12),每一格都是一块正方形的土地.FJ打算在牧场上的某几格土地里种上美味的草,供他的奶牛们享用.遗憾的…
一点前(tu)言(cao) 真的考起dfs来可谓是什么都能往dfs上套 状压不止能dp,还能与dfs结合成为搜索好(duliu)题 剪枝卡常司空见惯(打开题解一看并不是纯dfs,emmmm) 开始正文 说到搜索,大家都做过八皇后对叭.现在我们让八皇后变成N皇后 还是N皇后 这里和八皇后不同的是地图中有些地方不可以放皇后(而且数据范围还比八皇后大1)然后它就蓝了.jpg 我们考虑像八皇后一样直接标记列,对角线爆搜,发现会T. 何以解T?唯有剪压(全称剪枝状压) 我们发现\(n \leq 14\),…
题目描述 现在有一个长度为n的随机排列,求它的最长上升子序列长度的期望. 为了避免精度误差,你只需要输出答案模998244353的余数. 输入 输入只包含一个正整数n.N<=28 输出 输出只包含一个非负整数,表示答案模998244353的余数. 可以证明,答案一定为有理数,设其为a/b(a.b为互质的整数),你输出的整数为x, 则你需要保证0≤x<998244353且a与bx模998244353同余. 样例输入 2 样例输出 499122178 题解 状压dp+打表 套路:对于排列问题,从左…
题目链接 题意 给出n个王国和n*n的矩阵,mp[i][j] 代表第 i 个王国欠第 j 个王国 mp[i][j] 块钱.如果当前的王国处于负债状态,那么这个王国就会被消除,和它相连的王国的债务都会被清除.因此会产生连锁反应,使得最后可能只剩下一个王国.输出对于每种情况,最后可能只剩下的王国有哪些. 思路 一开始的想法就是DFS+状压,但是TLE了,队友和我说没记录状态,那样的复杂度差不多是O(n!)的.后面队友写了一个,疯狂WA. 想了好久都没发现的错误:当时做法是全局记录一个原始的图和一个当…
状压DP: 先不考虑数量k, dp[i]表示状态为i的概率,状态转移方程为dp[i | (1 << j)] += dp[i],最后考虑k, 状态表示中1的数量为k的表示可行解. #include<cstdio> #include<iostream> #include<cstdlib> #include<cstring> #include<string> #include<algorithm> #include<map…
吐槽:这道题真心坑...做了一整天,我太蒻了... 题意 构造一棵 $ n $ 个节点的树,要求满足以下条件: 每个非叶子节点至少包含2个儿子: 以节点 $ i $ 为根的子树中必须包含 $ c_i $ 个节点. 给出 $ n (n<=24)$ 和 $ c_i $ ,问是否存在符合条件的树. 分析 看到数据范围,第一时间想到的方法应该是状压DP,用数 $ s $ 表示已经被选入子树的点的集合,将两个以上小的子树合并为大的子树,看最后能否得到 $ s=1<<(n-1)-1 $ 这一集合.这…
http://172.20.6.3/Problem_Show.asp?id=1530 元宵节快要到了,某城市人民公园将举办一次灯展.Dr.Kong准备设计出一个奇妙的展品,他计划将编号为1到N的N(1 <= N <= 35)盏灯放置在一个有M条(1 <= M <= 595)边连接的网络节点上.每盏灯上面都带有一個开关.当按下某一盏灯的开关時,这盏灯本身以及与之有边相连的灯的状态就会改变.状态改变指的是:当一盏灯是亮时,就会被关闭:当一盏灯是关闭时,就会被打开亮着.现在的问题是,你能…