是中国标题。大家都说水问题。但是,良好的1A它?标题效果:给出n*m的矩阵,当某个单元格有炮兵部队时它的上下左右两格(不包含斜着的方向)是这支部队的攻击范围。问在两支部队之间不可能相互攻击到的情况下。最多能部署多少炮兵部队。解题思路:状态压缩DP,DP[i][j][k]代表当第i行是第j种状态时。第...
分类:
其他好文 时间:
2015-12-07 22:36:03
阅读次数:
182
这道题算是很经典的状态压缩01背包了, 题意是有一个人要用两辆小汽车搬家, 每辆小汽车都有一个最大载重量, 现在有一些要搬的家具, 告诉你这些家具的重量, 问最少几次能将这些家具搬完(每次两辆汽车必须出动, 即使有一辆车什么都没有装)? 物品个数不超过10,根据经验一般有10存在的话都要带点暴力.....
分类:
其他好文 时间:
2015-11-30 17:48:01
阅读次数:
179
m很小,可以用状态压缩做法,最多1#include #include using namespace std;int d[1010][2048];//求整数二进制中1的个数bool is_state_ok(int s,int q){ int c = 0; for(; s; c++) ...
分类:
其他好文 时间:
2015-11-20 15:29:51
阅读次数:
145
NOI2015 day1t1:离散化,并查集 day1t2:树链剖分,dfs序 day1t3:状态压缩动态规划,trick day2t1:k叉哈夫曼树 day2t2:后缀数组,按序合并 day2t3:动态规划,有上下界网络流 unsolved:day2t3
分类:
其他好文 时间:
2015-11-18 15:49:39
阅读次数:
125
题意:给n个点,给出矩阵代表i到j单向边的距离。要求,不介意访问每个点的次数,要求访问完每个点,使得路程总和最小。思路:由于不介意访问每个点的次数,所以可以先进行FLOYD求出任意两个点之间的最短路,然后就是DP。同样的,1代表有访问过,0代表没访问过。dp[s][j]代表访问状态为s的情况下最终到...
分类:
其他好文 时间:
2015-11-06 22:21:26
阅读次数:
213
题意:给n个点m条无向边。要求每个点最多走两次,要访问所有的点给出要求路线中边的权值总和最小。思路:三进制状态压缩DP,0代表走了0次,1,2类推。第一次弄三进制状态压缩DP,感觉重点是对数据的预处理,利用数组分解各个位数,从而达到类似二进制的目的。然后就是状态的表示,dp[s][i]表示状态s时到...
分类:
其他好文 时间:
2015-11-06 22:20:44
阅读次数:
269
题意:给一块n*m的田地,1代表肥沃,0代表贫瘠。现在要求在肥沃的土地上种草,要求任何两个草都不能相邻。问一共有多少种种草的方法。种0棵草也是其中的一种方法。n和m都不大于12.思路:状态压缩DP,dp[i][j]代表在第i行状态j一共有多少种可能的种植方法。j是二进制转化而来的状态,0代表不种草,...
分类:
其他好文 时间:
2015-11-06 20:57:06
阅读次数:
336
题目大意:给你一个矩阵,'x'是你的起始位置, 'g'是宝藏的位置,问最少多少步可以把所有的宝藏取完,并且最后返回起始位置。注意:没有宝藏的时候输出 0==========================================================================...
分类:
其他好文 时间:
2015-10-29 10:50:54
阅读次数:
148
题目传送门题意:采蘑菇。现在采了n座山,共5座山,最后要求有三个篮子的蘑菇量是1024的整数倍,丢掉后一直减1024直到不超过1024分析:n #include #include #include #include #include #include #include #include #inclu...
分类:
其他好文 时间:
2015-10-28 21:01:53
阅读次数:
187
题意: (好难看) 给你 N 个 男的, 女的, 男的选女票, 题目给出矩阵, Mp[i][j] 表示 第 i 个男的选 第 J 个女的优先值 选了 J 之后的就不能选 J 了; 求所有狗男女的最大优先值思路: Dp + 状态 压缩#includeusing namespace std;con...
分类:
其他好文 时间:
2015-10-27 23:33:16
阅读次数:
203