程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> Best Sequence(poj 1699) 狀壓dp(TSP)

Best Sequence(poj 1699) 狀壓dp(TSP)

編輯:C++入門知識

Best Sequence(poj 1699) 狀壓dp(TSP)


類似於前兩天做的那個wordstack。狀壓的其實有時候爆搜+記憶化也差不多。

就是這個是要與之前的都重合,移位預處理要注意。

理解好第一個樣例就行

/* ***********************************************
Author        :bingone
Created Time  :2014/12/9 22:48:56
File Name     :a.cpp
************************************************ */

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define  inf  0x3f3f3f3f
#define  maxn (10+10000)
using namespace std;
typedef long long ll;
int N,M,T;
char in[12][25];
int dp[1<<10][10];
int slen[10][10];
int len[10];
int main()
{
    //freopen("in.txt","r",stdin);
    //freopen("out.txt","w",stdout);
	scanf("%d",&T);
	while(T--){
		scanf("%d",&N);
		for(int i=0;i-1 && p>-1;t--,p--)
                            if(in[i][p]!=in[j][t])break;
                            else tmp++;
                        if(tmp==len[i]-k) slen[i][j]=max(tmp,slen[i][j]);
					}
					else{
                        for(int t=len[j]-1,p=len[j]-1-k;t>-1 && p>-1;t--,p--)
                            if(in[i][p]!=in[j][t])break;
                            else tmp++;
					if(tmp==len[j]-k) slen[i][j]=max(tmp,slen[i][j]);
					}
				}
			}
		}
		int rt=1<
/*
3
2
ACCA
CC
5
TCGG
GCAG
CCGC
GATC
ATCG
3
TAC
ACT
TACTG
ans:6 11 7 特別注意第一個樣例的意思
*/


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved