摘要: 求出数字1...n的全排列中完美排列的个数,完美排列是指排列的第$a_i$位为数字$b_i$(0<=i<m) 思路:f[i][j]表示排列长度为i时,数字填充状态为j时的不完美排列数 #include<cstdio> #include<cstring> #include<iostream> type 阅读全文
posted @ 2020-11-07 17:52 童年の波鞋 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 有一个n*m的网格,正数格子代表被研究的费用,-1代表不能被研究,且网格中有k个宝藏;问一个宝藏猎人以网格外部为起点进入网格,并收集所有宝藏回到起点的最小花费。(1<=K<=13,n,m<=200) 思路:f[i][j]表示终点在宝藏i,且宝藏状态为j时的最少花费; 由于要回到起点,所以在dijks 阅读全文
posted @ 2020-11-07 16:12 童年の波鞋 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 从城市Ai到城市Bi,有两种方式支付旅行费用: 在城市Ci提前支付pi(Ci可能不等于Ai); 出差后在城市Bi支付,花费Ri。 思路f[i][j]表示到达点i,且已经遍历过的点状态为j时的最小花费 当E[i]=u,v时,f[v][j]=min(f[v][j|1<<u], f[u][j]+cost) 阅读全文
posted @ 2020-11-07 11:05 童年の波鞋 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 有n头牛和m个谷仓,每头牛都有自己喜爱的谷仓,而且仅喜欢独居,问有多少种分配方案能使所有牛满足自己的意愿且不冲突(不冲突是指没有两头牛或更多牛在同一个场地打篮球) 思路因为恰好要安排n头牛,所以有n个1的状态才是合法的,这一步可先预处理到数组g中;对于每一头牛的爱好$x_i...x_{i+k}$,都 阅读全文
posted @ 2020-11-07 08:27 童年の波鞋 阅读(104) 评论(0) 推荐(0) 编辑