@问天小凯
用&并运算来 和~(1<<i) 操作就是置i位为0
这种记忆化搜索的思路不错,值得一看。只是注释能不能更详细些?
Re:我的第一道状态空间DP题的详细解题报告 tender_love 2011-06-01 08:30
真的不错,我也是初学,不过能理解你的程序,很感谢呀
Re:C语言控制台贪食蛇 tt:) 2010-10-20 20:18
@xianchao
- -|东南的人,不要取笑我,羡慕嫉妒恨
Re:C语言控制台贪食蛇 xianchao 2010-10-20 16:03
看了下你的博客,感觉你现在生活过的很精彩,比我强多了,看得我好羡慕
Re:我的第一道状态空间DP题的详细解题报告 问天小凯 2009-08-22 09:08
楼主,在Fun函数中的 state_t = (state & (~(1<<(last-1))); 和 state_t&(~(1<<i)) != state_t 我看不懂,能否详细解释一下?谢谢啦!
研究你这篇文章研究了两天,终于彻底理解了题目的意思了
写得很详细阿~ 受益匪浅~
re: 防走光衬衫 :-D wzcsoft 2008-11-29 01:39
是啊是啊,居然是个女的,而且还是20出头,而且可能是B杯(我猜的,要是不对楼主指正)
现在搞acm的MM挺多的啊……
re: 我的第一道状态空间DP题的详细解题报告 ヤ嬡腄覺哋渔 2008-09-25 16:26
我 用 DP 写了下,,不知道为什么不对呢
可以 讨论下么?
#include <cstdlib>
#include <iostream>
using namespace std;
struct node {
int a,b;
}; // b 中2进制保存状态
node dp[11][10];
int mm[10][10],len[10];
char word[10][10];
void cal( int a, int b ){
int max = 0;
for ( int i = 0; i < len[a]; ++i )
{
int result = 0;
for ( int j = 0; j < len[b]; ++j )
{
if ( i+j<len[a] && word[a][i+j] == word[b][j] ) ++result;
}
if(max<result)max= result;
}
for ( int i = 1; i < len[b]; ++i )
{
int result = 0;
for ( int j = 0; j < len[a]; ++j )
{
if ( i+j<len[b] && word[b][i+j] == word[a][j] ) ++result;
}
if(max<result)max= result;
}
mm[a][b] = mm[b][a] = max;
}
int main(int argc, char *argv[])
{
int hash[10],n;
hash[0]=1;
for(int i=1;i<10;i++)
hash[i]=hash[i-1]<<1;
while(cin>>n&&n>0){
for(int i=0;i<n;i++){
cin>>word[i];
len[i]=strlen(word[i]);
}
memset(mm,0,sizeof(mm));
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
cal(i,j);
}
}
node max;
int cum,maxtemp=0;
//下面开始 DP
for(int i=1;i<=n;i++){
for(int j=0;j<n;j++){
if(i==1){
dp[i][j].a=0;
dp[i][j].b=hash[j];
continue;
}
max.a=0;
max.b=0;
for(int k=0;k<n;k++){
cum=dp[i-1][k].b | hash[j];
if(cum==dp[i-1][k].b)continue;
if(max.a<dp[i-1][k].a+mm[j][k]){
max.a=dp[i-1][k].a+mm[j][k];
max.b=cum;
}
}
dp[i][j].a=max.a;
dp[i][j].b=max.b;
if(maxtemp<max.a)maxtemp=max.a;
}
}
cout<<maxtemp<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
re: 我的第一道状态空间DP题的详细解题报告 爱睡觉的鱼 2008-09-24 15:51
7楼的额,,看清楚发帖。。
楼主 sample 打的 没错
我觉得 状态DP,更像记忆搜索
目前也只做过一道,,每次遇到这类题 发现最难解决的
是怎么压缩状态,,,
目前只会用2进制保存状态,2进制要也保存不下的话就不会了。
re: 防走光衬衫 :-D 我不是故意要回的 2008-09-08 22:16
那个...
夜深.. 欲睡... 头昏...
第三张图很是有诱惑性... 细看之下... 竟然是白里透红的手...
re: 防走光衬衫 :-D tt:) 2008-09-04 21:12
@小鱼学ACM
谢谢夸奖~谢谢关注~
本人不准备继续以ICPC为生了,以后只用它来闲时消遣,还是不留联系方式了。推荐一个很好的中文在线测评,是一个卡哇伊的女生——雨中飞燕办的论坛,
http://yzfy.org/ 我是从那里起步的。
---------------------------------------------
您没有仔细看我上面的话:“比如我的衬衫是88A,但是绝大部分人不是A杯的:-D”。所以呢~我既不是88A,也不是大牛