用帝国cms做网站,电脑上无法安装wordpress,网站开发用例说明,做电商一年能挣多少由于Bi7#xff0c;考虑状压。 如果考虑前i个位置的话#xff0c;状态里需要压入前7个人后7个人#xff0c;显然是跑不动的。 那么改成考虑前i个人。于是设f[i][j][k]表示前i个人都已吃完饭#xff0c;i1后面7个人的吃饭状态为j#xff0c;最后一个吃饭的人是k的答案。…  由于Bi7考虑状压。   如果考虑前i个位置的话状态里需要压入前7个人后7个人显然是跑不动的。   那么改成考虑前i个人。于是设f[i][j][k]表示前i个人都已吃完饭i1后面7个人的吃饭状态为j最后一个吃饭的人是k的答案。转移时考虑下一个吃饭的是谁即可。   a|b-aba^b。当然没什么用。   各种情况需要考虑的非常清楚。写的跟我一样丑的话就比较难搞了。  #includeiostream 
#includecstdio
#includecmath
#includecstdlib
#includecstring
#includealgorithm
using namespace std;
int read()
{int x0,f1;char cgetchar();while (c0||c9) {if (c-) f-1;cgetchar();}while (c0c9) x(x1)(x3)(c^48),cgetchar();return x*f;
}
#define N 1010
int T,n,a[N],b[N],f[N][17][16],lg2[17|1],l[7];
int main()
{
#ifndef ONLINE_JUDGEfreopen(bzoj1226.in,r,stdin);freopen(bzoj1226.out,w,stdout);const char LL[]%I64d\n;
#elseconst char LL[]%lld\n;
#endifTread();for (int i0;i7;i) lg2[1i]i;while (T--){int nread();for (int i1;in;i) a[i]read(),b[i]read();memset(f,42,sizeof(f));f[0][0][7]0;for (int i0;in;i)for (int j0;j(1min(7,n-i-1));j){l[0]min(i1b[i1],n);for (int k1;k7;k)if (!(j(1k-1))) l[k]min(l[k-1],ik1b[ik1]);else l[k]l[k-1];for (int k0;k16;k)if (k7ik-70||k9(j(1k-9))){f[i1lg2[j1-(j1)]][jlg2[j1-(j1)]1][7-lg2[j1-(j1)]]min(f[i1lg2[j1-(j1)]][jlg2[j1-(j1)]1][7-lg2[j1-(j1)]],f[i][j][k](ik-7?(a[ik-7]^a[i1]):0));for (int x1;x7;x)if (!(j(1x-1))ix1l[x-1])f[i][j|(1x-1)][8x]min(f[i][j|(1x-1)][8x],f[i][j][k](ik-7?(a[ik-7]^a[ix1]):0));}}for (int i1;i8;i) f[n][0][0]min(f[n][0][0],f[n][0][i]);coutf[n][0][0]endl;}return 0;
}   转载于:https://www.cnblogs.com/Gloid/p/9639870.html