原来一直没太搞懂,今天大力搞了搞,感觉比较可了 latex取反是\sim \[ 把数拆成二进制数 所以我们最多只需要2^{n+1}-1的十进制数就好(二进制形式是n个1)\\ 1.判断一个数字x二进制下第i位是不是1(假设最低为第1位)\\ if(1 << (i-1)\&x) 操作\\ 2.将一个数 ...
分类:
其他好文 时间:
2020-07-14 20:04:31
阅读次数:
70
题目链接 题目大意:给定$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
简单DP入门学习 众所周知,DP(dynamic Programming)是在没有特定的套路,刚学的真的摸不着头脑~~(对,没错就是我)~~ 所以记录一下DP的学习过程(我枯了,大佬快救救孩子吧) 一、DP的典型题型 1、01背包 2、完全背包 3、最长上升子序列 3.1例题 最长上升子序列LIs ...
分类:
其他好文 时间:
2020-07-10 15:17:29
阅读次数:
87
Description 传送门 Solution 注意到$DFS$的时候每次选择一个$DFS$树的子树后必然会走所有子树中的节点,所以原问题变成所有子树内的顺序乘子树外的顺序。 这样可以将还没有经过的节点状压,进行记忆化搜索。$DFS$树的子树个数就是去掉当前点之后的连通块个数,用并查集维护即可。 ...
分类:
其他好文 时间:
2020-07-07 13:32:39
阅读次数:
62
[HAOI2008]硬币购物 共有四种硬币,其面值分别为$c_1,c_2,c_3,c_4$ $n$次询问,每次给定每种硬币的个数$D_i$和付款金额$S$,问共有多少种付款方式 \(n≤10^3,S≤10^5\) 暴力做法 我们可以把问题看作做$n$次多重背包,用单调队列优化,最优的复杂度为$O(n ...
分类:
其他好文 时间:
2020-07-05 10:49:57
阅读次数:
75
题目 思路 看到数据在20以内,果断跑状压,但是由于我太弱了,最后没有调过来,然后在状压的基础上,做了这道题, 按照状压的思路,首先枚举状态,根据题目要求筛去不合法的情况 判断合法的函数(judge)内容 if(Q(x)!=(k+1))return 0,代表,在房间数大于法宝数的情况下,如果法宝没有 ...
分类:
其他好文 时间:
2020-07-04 20:30:28
阅读次数:
60
CF1042B Vitamins: xiu 题目描述 输入格式 输出格式 题意翻译 输入输出样例 输入 #1 4 5 C 6 B 16 BAC 4 A 输出 #1 15 输入 #2 2 10 AB 15 BA 输出 #2 -1 输入 #3 5 10 A 9 BC 11 CA 4 A 5 B 输出 # ...
分类:
其他好文 时间:
2020-07-03 21:27:36
阅读次数:
55
题目 传送们 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭。学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴。当然,不同的人口味也不一定相同,但每个人的口味都可以用一个非负整数表示。 由于人手不够,食堂每次只能为一个人做菜。做每道菜所需的时间是和前一道菜有关的,若前一道菜 ...
分类:
其他好文 时间:
2020-07-03 19:33:25
阅读次数:
58
总结 状压DP就是将一个状态压缩为一个整数(通常为二进制数),就可以在更为方便地进行状态转移的同时,达到节约空间的目的。 题型一、冲突问题 1.1 特殊方格棋盘 题目描述 分析 我们设f[i][j]为当前的状态为$i$,放置到第$j$行时的方案数 但是,因为我们要在$n \times n$的棋盘上放 ...
分类:
其他好文 时间:
2020-07-03 19:14:23
阅读次数:
54
D 设阈值$L$,预处理$i\le L$的祖先最优背包 对于一次询问,$i>L$的部分可以状压 E 显然,题目可以直接转化为$S=0,T=2^L-1$,\(A_i\in[0,2^T)\) 令$f(U)\(为集合大小\)\in[1,K]\(,集合中所有数\)\And U$相同的个数 \(ans=\su ...
分类:
其他好文 时间:
2020-06-28 22:51:38
阅读次数:
124