用乙個陣列
if(b[i]&(1《即i和j起衝突了。
我們還可以做乙個最優化剪枝,如果當前列舉到的長度 \(t\) 和已經列舉的長度cnt滿足\(cnt+m-t+1 \leq ans\),因為假設全取都不可能比當前答案大了,所以返回。退出下列**
#include#include#define re register
using namespace std;
const int n=101;
int ans,n,m,a[n][n],x;
long long b[n];
bool bo[n],boo;
char s[n];
inline void dfs(int t,int cnt,long long res)
if(((~res)&(1ll<<(t-1)))&&((~b[t])&(1ll<<(t-1))))
dfs(t+1,cnt+1,res|b[t]);
dfs(t+1,cnt,res);
}int main()
}for(re int i=1; i<=m; i++)
for(re int j=1; j<=m; j++)
if(boo)
for(re char k='a'; k<='z'; k++)
if(a[i][k]||a[j][k])
}if(boo)
b[i]|=1ll<<(j-1);
}dfs(1,0,0ll);
printf("%d\n",ans);
/*for(re int i=1; i<=m; i++)
printf("%d ",b[i]);*/
return 0;
}
一本通1166 求f x,n
已知f 計算x 4.2,n 10 x 4.2,n 1 以及x 2.5,n 15 x 2.5,n 15 時f f的值。輸入x x和n n。函式值,保留兩位小數。4.2 10 3.681.看見這種乙個套著乙個還帶著詭異符號的,基本上都是函式 迴圈 遞迴嘛 的套路。話說這題一開始我沒看明白,從n怎麼變到x...
一本通1156 求 的值
根據公式 arc tanx x x x3 3 x5 5 x7 7 定義函式 arc tanx x arctanx x 求當最後一項小於10 6時10 6 的值。無 的值。保留到小數點後10 10位。1.一開始看到題一臉懵逼,過於簡單的題幹和神奇的求解公式讓人惆悵,發人深思,完全沒法做嘛。2.沒過多久...
一本通 P1799 數列
f 0 f 1 f 2 f 3 f 4 f 5 f 6 f 7 f 8 f 9 f 00 021032 84198 438932 1936 我們發現 f i 2f i 1 i 2 我們可以設 g i i i 1 則 g i i i 1 i 1 i 2 2 i 1 g 2 i 1 則 我們可以推出初始...