定制网站建设公司有哪些新手做网站视频讲解
web/
2025/10/1 23:30:44/
文章来源:
定制网站建设公司有哪些,新手做网站视频讲解,网站页面术语,wordpress门户插件正题
题目链接:https://www.luogu.com.cn/problem/P3226 题目大意 1∼n1\sim n1∼n选出一些组成集合#xff0c;一个集合里如果有xxx则不能有2x,3x2x,3x2x,3x。求有多少合法集合。 解题思路
我们可以构造一个矩阵
13927…2618…412…8…
这样选择一个位置后它相邻的位置就不…正题
题目链接:https://www.luogu.com.cn/problem/P3226 题目大意
1∼n1\sim n1∼n选出一些组成集合一个集合里如果有xxx则不能有2x,3x2x,3x2x,3x。求有多少合法集合。 解题思路
我们可以构造一个矩阵
13927…2618…412…8…
这样选择一个位置后它相邻的位置就不能选择发现这个矩阵不会很大可以状压解决状态。
对于没有出现在这个矩阵内的我们新开一个矩阵作为左上角每个矩阵之间不会有影响方案相乘即可。 codecodecode
#includecstdio
#includecstring
#includealgorithm
using namespace std;
const int N20,XJQ1e91;
int n,a[N],f[N][1N],line[N],v[110000];
long long ans;
long long solve(int x){line[1]0;while(xn)a[line[1]]x,x*3,v[a[line[1]]]1;x1;while(1){x;line[x]0;while(line[x]line[x-1]a[line[x]1]*2n)line[x],a[line[x]]*2,v[a[line[x]]]1;if(!line[x])break;}x--;for(int i1;ix;i)line[i]1line[i];for(int i0;iline[1];i)f[1][i](i(i1))?0:1;for(int i2;ix;i){for(int j0;jline[i];j){if((j(j1)))continue;f[i][j]0;for(int k0;kline[i-1];k){if((!(k(k1)))!(jk))(f[i][j]f[i-1][k])%XJQ;}}}long long ans0;for(int i0;iline[x];i)(ansf[x][i])%XJQ;return ans;
}
int main()
{scanf(%d,n);ans1;for(int i1;in;i){if(v[i])continue;(ansans*solve(i))%XJQ;}printf(%lld,ans);
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85310.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!