当前位置: 首页 > news >正文

长丰下塘新农村建设网站梅西网页设计作业

长丰下塘新农村建设网站,梅西网页设计作业,江宁区住房建设局网站,中国企业500强公司排名全网唯一一篇容斥题解 Description Solution 看到这个题#xff0c;大部分人想的是状压dp 但是我是个蒟蒻没想到#xff0c;就用容斥切掉了。 并且复杂度比一般状压低#xff0c; #xff08;其实这个容斥的算法#xff0c;提出来源于ywy_c_asm#xff09; #xff08;然…全网唯一一篇容斥题解 Description   Solution 看到这个题大部分人想的是状压dp 但是我是个蒟蒻没想到就用容斥切掉了。 并且复杂度比一般状压低 其实这个容斥的算法提出来源于ywy_c_asm 然而我知道了这个算法竟然和他写的不一样而且比他跑的快 进入正题 我们需要统计恰好满足匹配k个的情况。 那么我们可以先找出来恰好满足n个n-1n-2。。。k个的情况。 分别记为ans[i] ans[i]怎么算呢 先给出公式 ans[i]cal(i)-∑C(j,i)×ans[j] 其中i1jn cal(i)表示从n个中任意选择i个对于所有选择的情况的方案数的和。 cal(i)可以dfs暴力C(n,i)枚举每次统计答案。计入tot void dfs(int x,int has){if(xn1){if(has!up) return;ll lp1;for(int j1;jlen;j){las-1;for(int i1;iup;i){if(a[mem[i]][j]!?){if(las-1){lasa[mem[i]][j]-a;}else if(las!a[mem[i]][j]-a) return;}}if(las-1)lp(lp*26)%mod;}(totlp)%mod;return;}if(hasup) {mem[cnt]x;dfs(x1,has1);mem[cnt--]0;}if(n-xup-has) dfs(x1,has); } 至于后面减去的部分。就是容斥的内容了。 大家可以自己画一个韦恩图理解一下。 这里有一个例子n4 现在我们要算ans[2],也就是恰好匹配2个的T的方案数 就是黄色的部分。 红色的数字是这个区域被算cal(i)的次数。 可见三个点的重复区域由于有C(3,2)种方法选到所以会被算C(3,2)次。 所以减去所有的ans[3]即可。 其他情况同理。 最后输出ans[1] 组合数打表。 理论复杂度O(n×len×2^15) Code #includebits/stdc.h using namespace std; typedef long long ll; const int N20; const int M52; const int mod1000003; char a[N][M]; int len; int n,t,k; int mem[N],cnt; ll ans[N]; ll c[N][N]; ll sum; ll tot;//tot measures int up;//choose int las; void dfs(int x,int has){//dfs计算tot if(xn1){if(has!up) return;ll lp1;for(int j1;jlen;j){las-1;for(int i1;iup;i){if(a[mem[i]][j]!?){if(las-1){lasa[mem[i]][j]-a;}else if(las!a[mem[i]][j]-a) return;//两个字符不一样无合法方案 }}if(las-1)lp(lp*26)%mod;//如果都是‘’可以随便填否则只有一种 }(totlp)%mod;return;}if(hasup) {mem[cnt]x;dfs(x1,has1);mem[cnt--]0;}if(n-xup-has) dfs(x1,has); }void clear(){memset(ans,0,sizeof ans);sum0;len0; } int main() {for(int i0;iN-1;i){c[i][0]1;for(int j1;ji;j){c[i][j](c[i-1][j-1]c[i-1][j])%mod;}}scanf(%d,t);while(t--){clear();//清空数组其实没有必要 scanf(%d%d,n,k);for(int i1;in;i){scanf(%s,a[i]1);}lenstrlen(a[1]1);//长度 for(int in;ik;i--){//ans[i]计算 tot0;upi;dfs(1,0);sum0;for(int ji1;jn;j){//容斥的处理 (sumc[j][i]*ans[j])%mod;}ans[i](tot-summod)%mod;}printf(%lld\n,ans[k]);}return 0; }  转载于:https://www.cnblogs.com/Miracevin/p/9585609.html
http://www.pierceye.com/news/285797/

相关文章:

  • ps网站首页怎么做google 浏览器
  • 网站建设数据库软件制作公司宣传片哪家好
  • 高端建站模版大兴模版网站建设哪家好
  • 帝国cms怎样做网站迁移西安网站设计公司排名
  • 网站建设三折页做僾网站
  • 长沙的网站建设公司上海做网站的哪家好
  • 网站开发做什么网站建设银行北京冬奥会纪念币发行时间
  • 企业怎么建设网站网站建设与管理计划
  • 域名怎么制作网站旅游线路设计方案模板
  • 专门做mmd的网站wordpress 免费商城
  • 简洁大气国内企业网站房产网签备案是什么意思
  • 海东企业网站建设公司佛山搜索引擎推广服务好
  • 建设电子商务网站策划书开发网站开发
  • 创建个人网站的流程沈阳德泰诺网站建设
  • 网站备案 接口开一个网站多少钱
  • 郑州网站制作公司哪家好公司网页怎么设计
  • 如何做好企业网站建设工作公众微信网站建设
  • 企业网站开发时间动效网站怎么做
  • 网站编辑是网页制作么表格制作excel下载
  • 网站开发 发表文章网站开发和移动开发
  • 建设银行网站的目的是什么意思展览策划
  • 没有网站如何做落地页wordpress 用户 购物
  • 谁做网站收录网站建设项目竞争性招标文件
  • 做淘客要有好的网站wordpress move
  • 做企业网站有前途吗网站的栏目设置
  • 免费购物网站专门教人做点心的网站
  • 佛山网站设计哪里好seo关于网站搜索排名关键词的标准评定
  • 化工行业网站模板网站上怎么做动画广告视频
  • 怎么查百度收录网站吗用旧技术做网站能过毕设么知乎
  • 容桂医疗网站建设怎样在网站做咨询医生挣钱