http://acm.hdu.edu.cn/showproblem.php?pid=3605用最大流做的,G++超时,C++可以过,看别人写的叫二分图多重匹配,还不会这玩意一会学学显然的最大流模型,n是100w,直接做最大流一定超时,但是注意到m只有10,所以可以对所有点进行状态压缩,状态相同的点可...
分类:
其他好文 时间:
2014-09-11 13:43:11
阅读次数:
209
参考:http://blog.csdn.net/qian99/article/details/39138329参考的链接里说明得很好,注释也很好。。。thanks for sharing朴素的想法不难,dp[i][j][k]类似背包做法即可。但朴素思想复杂度过高。这里主要是用到 dif 那个变量,只...
分类:
其他好文 时间:
2014-09-10 19:07:00
阅读次数:
255
由于一个框框只有4种状态,总状态数只有4^9,bfs可解。
麻烦的地方就在于模拟。
我的状态的存法是,将初始状态看做000000000,若顺时针旋转一次就+1, 3+1=0。
bfs的过程中,需要套一个dfs计算旋转当前框框会影响到哪些框。
有个地方要注意,就是目标状态其实不止一种,因为有些框框旋转之后不变,我们必须把所有可能的目标状态都计算出来,样例的中间那个框框就是这种情况。
#in...
分类:
其他好文 时间:
2014-09-07 19:53:05
阅读次数:
276
https://icpcarchive.ecs.baylor.edu/external/64/6454.pdf
求最少的灯照亮所有.的区域,但不能照到#号区域,可以照到界限之外,每个.号上只能放一盏灯。灯照的区域为L形,灯在拐角处。大多数灯是这样没错,但有一盏灯比较特殊,可以是L的其他三种旋转体。
状态压缩搜索,状态为放置的灯的状态,(.)点最多只有15个,做好序号可以直接存进一个int型里。...
分类:
其他好文 时间:
2014-09-06 22:34:07
阅读次数:
300
题目链接:http://poj.org/problem?id=3254思路:状态压缩DP,状态方程为dp[i][j] += (dp[i-1][k])code: #include #include #define N 500const int MOD = 100000000;int dp[15][N....
分类:
其他好文 时间:
2014-09-06 22:31:44
阅读次数:
329
http://acm.hdu.edu.cn/showproblem.php?pid=4336
有N种卡片,每一袋零食里面最多有一张卡片,给出一袋零食里面每种卡片的概率,问平均要买多少袋零食能收集到所有的卡片。
状态压缩一下,共有1
这一袋零食里没有卡片,概率为p(没有一张卡片的概率),状态转移到sta;
这一袋零食里面有卡片j,但是他已经拥有这种卡片,概率是a[j],状...
分类:
其他好文 时间:
2014-09-06 16:09:53
阅读次数:
260
HDU4064 Carcassonne(状态压缩DP)...
分类:
其他好文 时间:
2014-09-03 19:55:27
阅读次数:
408
Prison Break
Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3165 Accepted Submission(s): 804
Problem Description
Rompire is a robot...
分类:
其他好文 时间:
2014-09-02 15:50:54
阅读次数:
209
描述小Hi和小Ho在兑换到了喜欢的奖品之后,便继续起了他们的美国之行,思来想去,他们决定乘坐火车前往下一座城市——那座城市即将举行美食节!但是不幸的是,小Hi和小Ho并没有能够买到很好的火车票——他们只能够乘坐最为破旧的火车进行他们的旅程。不仅如此,因为美食节的吸引,许多人纷纷踏上了和小Hi小Ho一...
分类:
其他好文 时间:
2014-08-31 17:14:11
阅读次数:
234
zoj 上次的月赛题,相当牛的题目啊,根本想不到是状态压缩好吧有个预先要知道的,即500个16相加那也是不会超过8192,即,合并最多合并到4096,只有2的12次方所以用状态压缩表示前面有的序列组合,找到了符合的,就往上累加合并生成新状态,否则就添加到前面的状态的后面构成新状态,因为每一个的状态都...
分类:
其他好文 时间:
2014-08-31 11:43:11
阅读次数:
132