학교 식당 다 이 닝 상 압 DP
#include
#include
#include
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fd(i,a,b) for(int i=a;i>=b;i--)
using namespace std;
const int N=1e3+5;
const int MAX=10;
int n,m,inf;
int f[N][256][50];
struct node
{
int t,b;
}a[N];
int main()
{
int cas;
scanf("%d",&cas);
while (cas--)
{
scanf("%d",&n);
fo(i,1,n)
{
scanf("%d%d",&a[i].t,&a[i].b);
}
memset(f,0x3f,sizeof(f));
inf=f[1][0][-1+MAX];
int tot=1<<8;
f[1][0][-1+MAX]=0;
fo(i,1,n)
{
fo(j,0,tot-1)
{
fo(k,-8,7)
if (f[i][j][k+MAX]if (j&1)
{
f[i+1][j>>1][k-1+MAX]=min(f[i+1][j>>1][k-1+MAX],f[i][j][k+MAX]);
}
else
{
int r=inf;
fo(l,0,7)
{
if ((j&(1<0)
{
if (i+l>r)break;
r=min(r,i+l+a[i+l].b);
int tmp;
if (!(i+k))tmp=0;
else tmp=a[i+k].t^a[i+l].t;
f[i][j+(1<1<int ans=inf;
fo(i,-8,-1)
{
ans=min(ans,f[n+1][0][i+MAX]);
}
printf("%d
",ans);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
bzoj1010 장난감 포장 [결정 단조성 최적화 dp]하나의 모범 문제라고 할 수 있다.우리는 먼저 소박한 dp방정식을 얻을 수 있다. f[i]=min(f[j]+w(j,i)),j∈[0,i). w(j,i)는 j+1~i를 포장하여 운송하는 비용의 시간 복잡도는 O(n2)라...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.