https://www.acwing.com/problem/content/93/ \(dp[S][i]\) 表示经过点的状态为 \(S\) , 当前在 \(i\) 点时的最短路 时间复杂度$O(n2*2n)$ #include<cstdio> #include<cstring> #include ...
描述 给定一张 n(n≤20) 个点的带权无向图,点从 0~n-1 标号,求起点 0 到终点 n-1 的最短Hamilton路径。 Hamilton路径的定义是从 0 到 n-1 不重不漏地经过每个点恰好一次。 输入格式 第一行一个整数n。 接下来n行每行n个整数,其中第i行第j个整数表示点i到j的 ...
分类:
其他好文 时间:
2020-09-17 21:21:28
阅读次数:
28
大致题意 给一个$n×m$的棋盘,在上面放若干个炮,求有多少种放置方法可以使没有一个炮可以攻击到另一个炮 分析 状压$dp$ 观察发现,每行和每列至多只能放$2$个棋子 考虑到每列中已经摆放的棋子数量会影响到之后能摆放的棋子数,不妨设: $f[i][j][k]$为前$i$行中,一共有$j$列放了一个 ...
分类:
其他好文 时间:
2020-09-11 14:15:12
阅读次数:
27
观察到这个数据范围,显然不可能真的存这么大的邻接矩阵。 进一步发现,题目要求正方形矩阵的边长为偶数,并且里面的1为奇数 这启发了我们,因为边长为4的一定要用边长为2的拼接起来,这样边长为4的里面一定是偶数个1 因此直接特判掉n>=4的答案 剩下只有n==2,和n==3。 对于n==2,我们发现因为每 ...
分类:
其他好文 时间:
2020-09-03 16:39:40
阅读次数:
36
解析 考场时想多了,其实根本不用分阶段 一维状压 \(DP\) 就行了 可我没想清楚,加了个第几次去稳固一个点的阶段 然后时间就炸了!!! \(Code\) #include<cstdio> #include<cmath> #include<algorithm> using namespace st ...
分类:
其他好文 时间:
2020-08-10 14:33:20
阅读次数:
66
[CF743E] Vladik and cards 一.前言 ? 把子序列看成子串还真是对不起了。题目链接 二.思路 ? 首先由每两个数字出现的次数之差不超过1可以知道,以下几点。对于一个可以记入答案的序列,有 所有的数字都在里面(除非部分数字只选一个,其余不选) 所有出现的数字的出现次数之中有一个 ...
分类:
其他好文 时间:
2020-07-30 22:16:31
阅读次数:
83
:将每行输入的数字转换为十进制,然后预处理出所有满足题意的状态并存储于 sta ,再处理出单独一行时候的方案数并存储于 dp1,sta 枚举第 i 行的状态,判断第 j = i-1行的状态,并更新dpi , j ,最后累和即可 #include <bits/stdc++.h> using names ...
分类:
其他好文 时间:
2020-07-28 14:10:58
阅读次数:
62
对前几天的动规类型做一个小分析,会简单介绍类型并指出重点和易错点。 关于总结的博客另外推荐几个大佬,总结得非常好: 自为风月马前卒大佬,FlashHu大佬。 状压DP 状压DP主要适用于数据范围很小以至于可以直接把当前状态作为下标的题目。 “数组的定义及状态之间的转移方程”是答题的关键,另外根据题目 ...
分类:
其他好文 时间:
2020-07-18 15:48:47
阅读次数:
77
题目链接 题目大意:给定$n$个宝物,每次随机抛出一个宝物,奖励分数为$p_i$。但如果选这个宝物必须选过它的前置宝物集合。共进行$K$轮问最优策略下的期望。 $n\leq 15,-10^6\leq p_i\leq 10^6$ 看到数据范围,状压很容易想到。 设$f[i][j]$表示到了第$i$轮, ...
分类:
其他好文 时间:
2020-07-12 15:00:20
阅读次数:
53
题目 传送们 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭。学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴。当然,不同的人口味也不一定相同,但每个人的口味都可以用一个非负整数表示。 由于人手不够,食堂每次只能为一个人做菜。做每道菜所需的时间是和前一道菜有关的,若前一道菜 ...
分类:
其他好文 时间:
2020-07-03 19:33:25
阅读次数:
58