2019牛客国庆集训派对day3 排列(状压dp)
发布日期:2021-06-30 10:33:01 浏览次数:2 分类:技术文章

本文共 536 字,大约阅读时间需要 1 分钟。

状压每个位置是否被填充数字

考虑从小到大把数字填充进去,这样就可以去掉绝对值符号

#include
using namespace std;#define int long longconst int inf = 1e18;const int maxn = 1<<21;int n,m,a[maxn],b[maxn],z[maxn],y[maxn];int bit[maxn],sumz[maxn],sumy[maxn],p[22],f[maxn];signed main(){
bit[0] = 0; for(int i=1;i
>1]+(i&1); while( cin >> n >> m ) {
for(int i=1;i<=n;i++) cin >> p[i]; for(int i=1;i<=m;i++) {
cin >> a[i] >> b[i]; z[a[i]] |= (1<<(b[i]-1)); y[b[i]] |= (1<<(a[i]-1)); sumz[a[i]]++, sumy[b[i]]++; } sort( p+1,p+1+n ); int mx = 1<

转载地址:https://issue-is-vegetable.blog.csdn.net/article/details/116566203 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:2019牛客国庆集训派对day3 J.买一送一(dfs+组合数学)
下一篇:2021蓝桥杯第二次省赛B组题解(全&详细&有PDF)

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月11日 14时19分33秒