随笔分类 - 状态压缩
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 每一位显然只要取1..60这些数字。 然后需要保证每个这些数字里面,每个数字所用到的质因子都它所唯一拥有的。别人不能用 因为如果别人用了的话。gcd就不为1了。 因此我们肯定需要记录这些数字的质因子使用情况。 如果第i个位置枚举
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 状态压缩动规。 可以写成记忆化搜索的形式。 f[bit][p] 表示选取的菜的情况为bit(用0..2^(N) 1的二进制形式表示各个菜有没有选 然后上一道菜选的是第p道菜,剩下的菜选够m道的话能够获得的最大满意度. 显然这两个
阅读全文
摘要:Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 649 Solved: 328[Submit][Status][Discuss]DescriptionInput本题包含多组数据。 第一行:一个整数T,表示数据的个数。 对于每组数据: 第一行:两个整数,N...
阅读全文
摘要:Time Limit: 10 Sec Memory Limit: 32 MBSubmit: 1208 Solved: 402[Submit][Status][Discuss]Description给定n个字符串(S1,S2,„,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,„...
阅读全文
摘要:Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3040 Solved: 1786[Submit][Status][Discuss]Description 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以...
阅读全文
摘要:Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1862 Solved: 1171[Submit][Status][Discuss]Description 给一个数字串s和正整数d, 统计s有多少种不同的排列能被d整除(可以有前导0)。例如1234...
阅读全文
摘要:描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,……,L(其中L是桥的长度)。坐标为0的点表示桥的起点,坐标为L...
阅读全文
摘要:【问题描述】 小L有一座环形花园,沿花园的顺时针方向,他把各个花圃编号为1~N(2[l+1..r+1] 这里枚举l..r的状态,然后对于新获取的状态; 只有两种情况; r+1为0或者是r+1为1; 如果新获取的状态1的个数小于等于k; 则表示从l..r可以到达l+1..r+1; 这个...
阅读全文
摘要:Time Limit: 1 second Memory Limit: 128 MB【问题描述】近期,农场出现了D (1然后转成十进制); 然后预处理一下0..32768里面哪些状态的细菌个数是小于等于k的; 看看j|a[i]是不是细菌个数小于k; 然后进行转移就好; f[i][j|a...
阅读全文
摘要:【题目链接】:http://hihocoder.com/problemset/problem/1044【题意】 【题解】 设f[i][j]表示; 前i-1个位置已经决策完; 然后i-m+1..i这一段选择的状态是j的最多清扫垃圾数目; 【Number Of WA】 0 【完整...
阅读全文
摘要:【题目链接】:http://hihocoder.com/problemset/problem/1516【题意】 【题解】 状态压缩DP+bfs 这个过河问题能用bfs来搞.涨知识了; 首先; 16个人 容易想到用0..216−1来表示3处地方的状态; 即这一边的岸,船上,以及对岸;...
阅读全文
摘要:【题目链接】:http://hihocoder.com/problemset/problem/1486【题意】 【题解】 设f[i][j]表示前i个物品,每种属性的状态奇偶状态为j的最大价值; 这里用j的二进制对应每种属性的状态; 为1表示那种属性的物品个数...
阅读全文
摘要:【题目链接】:http://hihocoder.com/problemset/problem/1506【题意】 中文题 【题解】 这种题是概率DP…. 设f[i][j]表示i个硬币里面有j个正面朝上的概率; 则第i个有两种可能; 证明朝上或反面朝上; f[i][j]=f[i-1]...
阅读全文
摘要:【题目链接】:http://codeforces.com/problemset/problem/757/D【题意】 给你一个01串; 让你分割这个01串; 要求2切..n+1切; 对于每一种切法 所切成的各个部分的二进制,转成十进制之后;假设里面最大的数为m; 问1..m这些数字都...
阅读全文
摘要:【链接】h在这里写链接【题意】给你n个城市,m条边.选择其中的r(rusing namespace std;const int N = 200;const int INF = 0x3f3f3f3f;int n, m, r, ans = INF;int bh[N + 10], dis[N + 10][...
阅读全文
摘要:【Link】:【Description】 输入正整数n和k(1≤n≤400,1≤k≤10),求长度为n的01串中有多少个不含长度至少 为k的回文连续子串。例如,n=k=3时只有4个串满足条件:001, 011, 100, 110。 【Solution】 状态压缩DP; 我们在做D...
阅读全文
摘要:【Link】:【Description】 给你一个n*m的格子; 里面有钥匙,以及钥匙能开的门; 以及墙,以及起点,以及出口; 问你从起点出发,到出口的话,能不能在t时间内到; 【Solution】 dis[x][y][sta]表示到了点(x,y)然后拥有钥匙的状态为sta的最短...
阅读全文
摘要:【Link】:【Description】 给你n个物体,每个物体都有m种属性; (每个物体的属性都能和别的物体的属性区别) 现在,你已知这n个物体; 然后让一个人心里想一个物体 你可以问这个人,这个物体是否有第i个属性; 显然,这样最后是肯定能问出来你心里所想的那个物体的; 问你,...
阅读全文
摘要:【Link】:【Description】 一个学校,有s门课程(1工资,以及他们能教哪几门课程); 原本的m个老师一定要继续保留下来; 问你在这个条件下,如何选取这n个老师中的一些人; 使得每门课都至少有两个人能教,且花费的总工资最少. 【Solution】 设f[i][j]表示...
阅读全文
摘要:【题目链接】:http://codeforces.com/problemset/problem/417/D【题意】 有n个人共同完成m个任务; 每个人有可以完成的任务集(不一定所有任务都能完成); (有重叠也无所谓); 然后它完成这些任务需要报酬xi; 同时它需要特殊物品的数量达到...
阅读全文