题目大意:给出n个数,问有多少种排列把数字接起来是11的倍数。(n<=2000)

做法:一个数后面接一个数等同于乘上10的若干次幂然后加上这个数,10模11等于-1,所以10的若干次幂是-1或1,根据这个把长度奇和偶的分开考虑,他们最后对和的贡献都是可以确定的几段正几段负,f[i][j][k]表示前i个长度为奇/偶的数,j个贡献为负,对和的贡献为k的方案数,最后再排列组合比较容易可以算出答案,复杂度O(11*n^2)。

代码:

#include<cstdio>
#include<cstring>
inline int read()
{
int x;char c;
while((c=getchar())<''||c>'');
for(x=c-'';(c=getchar())>=''&&c<='';)x=x*+c-'';
return x;
}
#define MN 2000
#define MOD 998244353
int a[MN+],an,b[MN+],bn,C[MN+][MN+],f1[MN+][MN+][],f2[MN+][MN+][],v[],p[MN+];
inline int mod(int x){return x<MOD?x:x-MOD;}
inline int f(int n,int m){return m?1LL*p[n]*C[n+m-][m-]%MOD:n?:;}
int main()
{
int T,n,i,j,k,x,ans;
for(p[]=i=;i<=MN;++i)p[i]=1LL*p[i-]*i%MOD;
for(i=;i<=MN;++i)for(C[i][]=j=;j<=i;++j)C[i][j]=mod(C[i-][j-]+C[i-][j]);
for(i=;i<;++i)v[i]=i%;
for(T=read();T--;)
{
n=read();an=bn=;
for(;n--;(j&?a[++an]:b[++bn])=x%)for(k=x=read(),j=;k;k/=)++j;
for(f1[][][]=,i=;i<=an;++i)for(j=;j<=an/;++j)for(k=;k<;++k)
f1[i][j][k]=mod((j?f1[i-][j-][v[k+a[i]]]:)+f1[i-][j][v[k+-a[i]]]);
for(f2[][][]=,i=;i<=bn;++i)for(j=;j<=bn;++j)for(k=;k<;++k)
f2[i][j][k]=mod((j?f2[i-][j-][v[k+b[i]]]:)+f2[i-][j][v[k+-b[i]]]);
for(j=;j<;++j)f1[an][an/][j]=1LL*f1[an][an/][j]*p[an/]%MOD*p[an-an/]%MOD;
for(ans=i=;i<=bn;++i)for(j=;j<;++j)
ans=(ans+1LL*f1[an][an/][j]*f2[bn][i][v[-j]]%MOD*f(i,(an+)/)%MOD*f(bn-i,an+-(an+)/))%MOD;
printf("%d\n",ans);
}
}

[Codeforces]856C - Eleventh Birthday的更多相关文章

  1. python爬虫学习(5) —— 扒一下codeforces题面

    上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...

  2. 【Codeforces 738D】Sea Battle(贪心)

    http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...

  3. 【Codeforces 738C】Road to Cinema

    http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...

  4. 【Codeforces 738A】Interview with Oleg

    http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...

  5. CodeForces - 662A Gambling Nim

    http://codeforces.com/problemset/problem/662/A 题目大意: 给定n(n <= 500000)张卡片,每张卡片的两个面都写有数字,每个面都有0.5的概 ...

  6. CodeForces - 274B Zero Tree

    http://codeforces.com/problemset/problem/274/B 题目大意: 给定你一颗树,每个点上有权值. 现在你每次取出这颗树的一颗子树(即点集和边集均是原图的子集的连 ...

  7. CodeForces - 261B Maxim and Restaurant

    http://codeforces.com/problemset/problem/261/B 题目大意:给定n个数a1-an(n<=50,ai<=50),随机打乱后,记Si=a1+a2+a ...

  8. CodeForces - 696B Puzzles

    http://codeforces.com/problemset/problem/696/B 题目大意: 这是一颗有n个点的树,你从根开始游走,每当你第一次到达一个点时,把这个点的权记为(你已经到过不 ...

  9. CodeForces - 148D Bag of mice

    http://codeforces.com/problemset/problem/148/D 题目大意: 原来袋子里有w只白鼠和b只黑鼠 龙和王妃轮流从袋子里抓老鼠.谁先抓到白色老鼠谁就赢. 王妃每次 ...

随机推荐

  1. alpha冲刺第二天

    一.合照 二.项目燃尽图 三.项目进展 图形界面基本完成 接口文档框架完成,接下来将会不断细化填充 登录界面向服务器请求数据进行ing 四.明日规划 1.注册登录接口能够完成 2.研究idea实现获得 ...

  2. alpha-咸鱼冲刺day2-紫仪

    总汇链接 一,合照 emmmmm.自然是没有的. 二,项目燃尽图 三,项目进展 今天并没有什么进展,弄了好久好像也只研究出怎么把JS的功能块插入进去.html的信息提交这些还不知道要怎么弄. 四,问题 ...

  3. Linux进程间通信--信号量

    信号量绝对不同于信号,一定要分清,关于信号,上一篇博客中已经说过,如有疑问,请移驾! 信号量 一.是什么   信号量的本质是一种数据操作锁,它本身不具有数据交换的功能,而是通过控制其他的通信资源(文件 ...

  4. Django 基本设置

    建立django目录,为了独立区分app和主站的关系,需要把app完全和主站分离 app/views.py from django.shortcuts import render from djang ...

  5. java连接jdbc Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by defa

    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jsp_db","root",& ...

  6. CentOS 7 安装Graphite

    Graphite简介 Graphite是一个Python编写的企业级开源监控工具,采用django框架,用来收集服务器所有的即时状态,用户请求信息,Memcached命中率,RabbitMQ消息服务器 ...

  7. 根据抽象工厂实现的DBHelpers类

    public abstract class DBHelper { public static SqlConnection conn = new SqlConnection("server=l ...

  8. hadoop大数据技术架构详解

    大数据的时代已经来了,信息的爆炸式增长使得越来越多的行业面临这大量数据需要存储和分析的挑战.Hadoop作为一个开源的分布式并行处理平台,以其高拓展.高效率.高可靠等优点越来越受到欢迎.这同时也带动了 ...

  9. redis入门(06)各种类型的操作命令

    Redis 字符串命令下表列出了常用的 redis 字符串命令:序号 命令及描述1 SET key value 设置指定 key 的值2 GET key 获取指定 key 的值.3 GETRANGE ...

  10. 2017年Unity游戏开发视频教程(入门到精通)

    本文是我发布的一个Unity游戏开发的学习目录,以后我会持续发布一系列的游戏开发教程,都会更新在这个页面上,适合人群有下面的几种: 想要做独立游戏的人 想要找游戏开发相关工作的人 对游戏开发感兴趣的人 ...