I Hate Non-integer Number

I Hate Non-integer Number

题意

给定一个长度为 \(N\) 的正整数序列 \(A = ( a_1 \dots a_n)\)。有 \((2n-1)\) 种方法选择 \(A\) 中一个或更多的元素。有多少种选择方法使得选出的元素的平均数为整数?答案对 998244353 取模。

思路

dp,可以看作是一个子集搜索,所以可以定义状态为:\((x, u, sum)\) 表示 \(x\) 个数,已经选了 \(u\) 个,他们的余数为 \(sum\) 时的总方案数。由于可以有很多种子集的长度,所以枚举长度在搜索即可。

代码

#include <iostream>

using namespace std;
using ll = long long;

const int MaxN = 110, mod = 998244353;

int f[MaxN][MaxN][MaxN][MaxN], a[MaxN], n, y, ans;

int DFS(int x, int u, int sum) {
  if (x == n + 1) {
    return !sum && u == y;
  }
  if (u > y) {
    return 0;
  }
  if (f[y][x][u][sum] != -1) {
    return f[y][x][u][sum];
  }
  return f[y][x][u][sum] = (DFS(x + 1, u + 1, (sum + a[x] % y) % y) + DFS(x + 1, u, sum)) % mod;
}

int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
  }
  for (y = 1; y <= n; y++) {
    for (int i = 0; i <= n; i++) {
      for (int j = 0; j <= n; j++) {
        for (int k = 0; k <= n; k++) {
          f[y][i][j][k] = -1;
        }
      }
    }
    ans = (ans + DFS(1, 0, 0)) % mod;
  }
  cout << ans << endl;
  return 0;
}
本文转载于网络 如有侵权请联系删除

相关文章

  • H3C交换机常用命令汇总

    大家好,又见面了,我是你们的朋友全栈君。H3C交换机常用命令1.查看Linux下查看端口状态root@root:~#netstat-an|grep-E“6002|6003”2.H3C交换机显示当前配置[H3C]displaycurrent-configuration3.H3C交换机显示arp信息[H3C]disarp4.H3C交换机显示mac列表信息[H3C]dismac-address5.H3C交换机显示端口信息[H3C]displayinterface6.进入系统视图<H3C>system-view7.打开路由器的telnet功能[H3C]telnetserverenable8.设置允许同时配置路由器的用户数[H3C]configure-usercount59.添加本地用户(此处为telnet用户登录时使用的用户名)[H3C]local-usertelnet10.设置telnet用户登录时所使用的密码[H3C-luser-telnet]passwordsimpleh3c11.设置本地用户的服务类型(此处为telnet)[H3C-luser-telnet]service-

  • idea改背景色为护眼(电脑背景色调为护眼色)

    大家好,又见面了,我是你们的朋友全栈君。首先做一些简答的记录,护眼色等等的设置很久以前机器上已经设置过了,今天偶尔要在其他机器上重新做一些设置反而忘记了很多步骤,设置后的HTML页面如何所示:默认情况下,当只是设置General通用的颜色为护眼色时,那么对于html等页面的标签色背景色等等仍然还是灰色等默认颜色,于背景色相对于及其难看,所以在此记录一下如何设置通用颜色为背景色,并且针对特定的文本格式如html,java等格式,修改所对应的tag,attribute属性等的颜色设置。等等。。。OK,,开始:首先设置通用的背景颜色设置;Setting设置中,找到ColorScheme(颜色方案设置)选择General,再选择所对应的颜色设置即可,在这里IDEA有一个很有意思,也或者说很简单的功能,他会在设置上方显示出所对应的属性等等,在方案下方则会显示所对应的例子介绍等:如下图:在此时如果你想修改所对应的//TODO:VisitJbWebresources:也就是所对应的注释的颜色显示,或者所对应的背景色时,只需鼠标点击选中所对应的行数据即可,或者点击空白地方则将会默认选中DefaultT

  • Matlab-离散事件系统仿真实验

    分析一个单服务台排队系统复制1、排队系统的一般理论一般的排队系统都有三个基本组成部分:(1)到达模式:指动态实体(顾客)按怎样的规律到达,描写实体到达的统计特性。通常假定顾客总体是无限的。(2)服务机构:指同一时刻有多少服务设备可以接纳动态实体,它们的服务需要多少时间。它也具有一定的分布特性。通常,假定系统的容量(包括正在服务的人数加上在等待线等待的人数)是无限的。(3)排队规则:指对下一个实体服务的选择原则。通用的排队规则包括先进先出(FIFO),后进先出(LIFO),随机服务(SIRO)等。2、离散系统常用的仿真策略(1)事件调度法(EventScheduling):基本思想:离散事件系统中最基本的概念是事件,事件发生引起系统状态的变化,用事件的观点来分析真实系统。通过定义事件或每个事件发生系统状态的变化,按时间顺序确定并执行每个事件发生时有关逻辑关系。(2)活动扫描法:基本思想:系统有成分组成,而成分又包含活动。活动的发生必须满足某些条件,且每一个主动成分均有一个相应的活动例程。仿真过程中,活动的发生时间也作为条件之一,而且较之其他条件具有更高的优先权。(3)进程交互法:基本思想

  • 树套树专题——bzoj 3110: [Zjoi2013] K大数查询 &amp; 3236 [Ahoi2013] 作业 题解「建议收藏」

    大家好,又见面了,我是全栈君。【原题1】3110:[Zjoi2013]K大数查询TimeLimit:20Sec MemoryLimit:512MB Submit:978 Solved:476Description有N个位置,M个操作。操作有两种,每次操作假设是1abc的形式表示在第a个位置到第b个位置,每一个位置增加一个数c 假设是2abc形式,表示询问从第a个位置到第b个位置,第C大的数是多少。Input第一行N。M 接下来M行。每行形如1abc或2abcOutput输出每一个询问的结果SampleInput25 1121 1122 2112 2111 2123 SampleOutput 1 2 1HINTN,M<=50000,N,M<=50000a<=b<=N1操作中abs(c)<=N2操作中abs(c)<=Maxlongint【传送门】感谢这位大牛给我的启示。http://www.cnblogs.com/lazycal/archive/2013/08/05/3239304.html【分析】一直听到过有一种奇妙的数据结构——树套树。于是通过这

  • zookeeper知识结构3-分布式锁

    zk相关文章已经有了三篇《zookeeper-paxos》、《zookeeper知识结构》、《zookeeper知识结构2-zab协议》但都没有到具体到应用,此篇弥补一下talkischeap,showmethecodeclient如何使用zk除了zk提供原生客户端,还有能过编程方式zkclizkcli原生操作指令比较简单zkcli连接默认zookeeper服务器 zkcli-serverip:port连接指定的zookeeper服务器 create-s-epathdata[acl]创建节点,-s表示顺序,-e表示临时,默认是持久节点,acl缺省表示不做任何权限限制 lspath[watch]显示path下的节点,不递归显示,watch注册监听,命令行可忽视 ls2path显示当前节点下的节点和当前节点的属性信息 getpath[watch]获取path的属性信息和数据内容 setpathdata[version]更新path的数据内容,version是做类似cas的功能的对应dataversion,命令行可忽略 deletepath[version]删除节点,不能递归删

  • kubernetes(十三) k8s 业务上线流程(手动版)

    k8s实战传统部署与k8s部署的区别传统部署k8s部署架构项目迁移到k8s的流程制作镜像镜像分类基础镜像环境镜像项目镜像控制器管理PODDeployment:无状态部署,例如Web,微服务,APIStatefulSet:有状态部署,例如数据库,ZK,ETCDDaemonSet:守护进程部署,例如监控Agent、日志AgentJob&CronJob:批处理,例如数据库备份,邮件通知Pod数据持久化容器部署过程中一般有如下的三种数据启动时需要的初始数据,可以是配置文件启动过程中产生的初始化数据,该临时数据需要多个容器间共享启动过程中产生的业务数据暴露应用使用ServiceClusterIP类型暴露集群内部的应用访问service定义了Pod逻辑集合和访问这个集合的策略service引入为了解决Pod的动态变化,提供服务发现和负载均衡使用coreDNS解析Service名称对外发布应用使用ingress对外暴露应用通过Service关联Pod基于域名访问通过IngressController实现pod的负载均衡支持TCP/UDP四层和Http七层部署Java/PHP项目构建环境镜像$

  • DTU助力于智能配电房监控系统

    一、项目背景  长期以来,配电房管理工作一直是供电系统运行管理可靠性的薄弱环节之一,一些配电房开关跳闸和配电房环境过热影响设备运行、配电房水浸导致设备损坏、配电房设备被盗等,既容易毁坏设备,也容易影响用户正常的用电情况。  而这些故障却常常被人们忽视,由于低压配电网缺乏这方面的检测手段,工作人员逐个测量配电装置及巡检,费时费工,既不能及时反映真实情况,也不能及时解决实际问题。二、系统概述  计讯智能配电房监控系统是利用现代计算机控制技术、通信技术和大数据技术等,采用抗干扰能力强的通讯设备及智能电力仪表,经电力监控管理软件组态,实现的系统的监控和管理。  因此,需要在配电房安装各种智能监测传感器,通过配电房智能在线监测系统实现配电房视频监控、烟雾报警、防洪监测、远程灯光控制、语音对讲等综合监测功能。三、系统组成  计讯智能配电房监控系统由应用管理层(站控层)、通信层(中间层)、间隔层(采集层)三部分组成。 1、现场设备层  位于中低压变配电现场,具体包括:微机保护装置、多功能仪表、直流屏、温湿控制器、电动机保护器、摄像头等。  负责采集电力现场的各类数据和信息状态,发送给通讯间隔层,同时

  • Meaning of Block size in tcode R3AC1

    IntcodeR3AC1youcanmaintainblocksizeforanadapterobject.Forexampleifyouhave110equipmenttobedownloadedfromERP,therewouldbe3inboundqueuesgeneratedinCRM,thefirsttwowilleachimport50equipmentandtheleft3rdqueueimportstheleft10equipment.Thetransactionhandlingofeachqueueisisolatedfromeachother,forexampleifthereissomecorrupteddataonagivenequipmentinthe1stqueue,thecreation/updateonthe1stqueue(50equipment)willfail,howevertheleft60equipmentwillstillbesuccessfullyimportedtoCRM.ScreenshotfromcustomersystemThero

  • 如何在ubuntu 中彻底删除docker

    本文由腾讯云+社区自动同步,原文地址https://stackoverflow.club/88/背景在各种项目的开发初期,总要尝试各种开源方案,取其精华弃其糟粕。但是每种开源方案都依赖于一定的软件环境,不同的开源方案还互相冲突。这种软件环境的冲突可以依靠建立不同的用户来解决,但是也有些软件必须使用sudo安装到系统环境中。那么就又可以考虑用多个虚拟机来解决问题。但是,不管是virtualbox还是kvm,都需要准备体积庞大的镜像,不符合轻量化的开发趋势。Docker的好处就这样显示出来了。目前碰到的问题就是,由于不知名的原因docker无法运行,使用命令aptremovedocker之后docker命令依旧有效。一些解决方案在博客中方案如下sudoapt-getremovedocker sudoapt-getremove--auto-removedocker复制在博客 给的方案如下sudoaptremovedocker-ce复制很遗憾,以上两种方案都不行。使用dpkg查询已安装包,针对性删除#查询相关软件包 dpkg-l|grepdocker #删除这个包 sudoaptremove-

  • Flink Forward 2019--实战相关4--流媒体公司COMCAST详解生产问题解决方案

    从零扩展到每天50亿个数据点的冒险--DaveTorok(Comcast)在FlinkForwardSanFrancisco2018我们的团队在Comcast提出了操作化的流媒体ML框架,刚刚投入生产。今年,在短短几个月内,我们将客户体验用例从最初的少量数量扩展到每天处理超过50亿个数据点。此用例用于帮助诊断高速数据服务的潜在问题,并为尽可能快速和经济高效地解决此问题提供建议。与任何快速增长的解决方案一样,我们的平台也面临挑战、瓶颈和技术限制;迫使我们快速调整和改进我们的方法,使我们能够每秒处理50000多个数据点。我们将介绍一路上我们学到的问题、方法、解决方案和经验教训,包括:触发和诊断问题、其余问题、功能存储问题、客户状态问题、保存点问题、HA问题、容量问题,当然还有高容量功能存储问题。

  • 或有巨大创新?库克称iPhone 7将成为你离不开的产品

    近日苹果公司CEO库克在接受CNBC采访时表示,苹果正在研发更多的伟大产品,而且这一次我们的生活将离不开这些产品。当谈及即将亮相的iPhone7时,库克表示:“在新的iPhone(iPhone7)身上,我们准备了一项巨大的改进,这将刺激消费者,无论你现在有还是没有使用iPhone,都希望去升级到全新的iPhone7。我们将为你带来一项你难以舍弃的技术创新,尽管你甚至现在还不知道你有这种需求,但在使用了iPhone7之后,你会怀疑过去没有这项功能你是怎么接受的。”显然,库克对苹果即将推出的iPhone7信心十足,但对于上周三刚刚公布最新一季财报的苹果公司来说,这一番话还真颇具讽刺的意味,财报显示今年第二季度苹果营收下滑了13%,要知道,这是苹果公司自2003年以来首次出现的下滑,同时苹果公司旗下最重要的iPhone系列手机也出现了销量下滑。或许随着外界对于苹果创新能力的质疑声不断增长,使得库克不得不撂下这番狠话?虽然库克并没有透漏更多有关iPhone7的细节,但从此前流传出的一些产品信息来看,苹果很有可能会在iPhone7上使用全新的双摄像头拍照系统,同时取消3.5mm耳机接口和采用远距

  • iOS开发之有间距的UITableViewCell

    UITableView是最常用的一个iOS控件,现要做一个如下图的UITableView,其中白色部分就是cell,可是默认的UITableView中cell之间是没有间隔的,那么办呢?网上有2种做法,我这里顺带提一下吧效果图.png1、方式一 通过设置cell的contentView来间接实现,在cell的contentView的顶部或者底部留下一定的间距,这样就会有cell间就有间距的效果。但是这种方式在cell有点击效果的时候,会很明显的看出有分层,因为这时候cell是被点击的,contentView都会有系统点击的阴影效果。这种方式在cell左滑删除,置顶等操作的时候,左滑出的视图会高出一部分(左滑显示出的高度=(cell的高度-留下的间距高度)+留下的间距高度),很显然这种方式有致命缺陷。2、方式二 通过分组的方式间接的实现,每组的Header可以当做是cell之间的间距,每组中只有一个cell,代码如下:-(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView {return10;} -(CGFloat

  • 安全咨询「全球第一」的德勤被黑,到底打了谁的脸?

    本周,全球四大会计师事务所之一的Deloitte(德勤)遭到网络攻击,导致其全球电子邮件服务器被入侵。大型公司被黑我们早已见怪不怪,但这次德勤被曝出“大量RDP端口对外”“一个帐号全线入侵”“员工将V**密码上传Github”等低级风险,而其又有着被Gartner评为全球第一的安全咨询业务和销往全球的安全解决方案……也许,这次事件不仅是一场“大规模攻击”,更是一场“大规模打脸”。 德勤被黑事件:大量低级风险被曝光 德勤于今年三月份发现了这一攻击事件,但据了解,攻击者很可能早在2016年的10月或11月份就已经入侵了该公司的网络系统。攻击者通过一个管理员账号成功入侵了Deloitte的全球电子邮件服务器,并成功入侵了该公司的其他网络系统,可能还获取到了公司客户的IP地址、公司业务计划以及员工健康信息等等。更加重要的是,除了公司的个人客户之外,受此次事件影响的机构甚至还包括美国政府部门在内。 根据《卫报》记者所了解到的信息,该公司在云端总共存储了大约五百多万封电子邮件,而攻击者很可能已经成功获取到了这些邮件,但不管怎样,Deloitte仍对外表示在此次数据泄露事件中只有一小部分客户的邮件被

  • 一、URL到底是什么?

      跨域这个东西,额……抱歉,跨域不是个东西。大家一定都接触过,甚至解决过因跨域引起的访问问题,无非就是本地代理,服务器开白名单。但是,但是!你真的知道跨域背后的原理么?嗯……不就是同源策略么?我知道啊。但是你知道为什么要有同源策略么?同源策略限制了哪些内容?又有哪些内容不受同源策略的限制呢?那么,这篇文章,带你搞透、搞懂跨域。其实很多东西本质上来说,没有难与不难的标签,只不过,看你是否愿意花心思,时间,精力去总结整理。嗯……我知道你或许没时间,想休息,那么我来帮你。  花点时间,看完这篇史上最完整的关于跨域的讲解。超过了一万字,而且你要跟着写代码的话,会花更多的时间,除非你做好准备了,否则,随你吧~第一部分理论  这一部分,我们先来看理论,不涉及任何代码。主要是讲清楚什么是跨域,同源策略的定义和产生的原因,以及什么是站点,站点与域又有啥区别?当我们理解了基本的概念之后,我会带大家梳理浏览器允许HTML加载、引用哪些资源,以及哪些资源会导致跨域,哪些不会。  开始吧~又要开始长篇~大论了。一、URL到底是什么?  嗯?你不是要讲跨域么?你说URL干啥?嗯……因为后面的理解离不开URL。

  • 腾讯云负载均衡查询负载均衡实例列表API文档文档中心腾讯云

    接口描述DescribeLoadBalancers接口用来获取用户的负载均衡实例列表。可以根据您输入的参数来返回满足条件的负载均衡实例。 接口访问域名:lb.api.qcloud.com 请求参数以下请求参数列表仅列出了接口请求参数,正式调用时需要加上公共请求参数,详情请参见公共请求参数页面。其中,此接口的Action字段为DescribeLoadBalancers。 参数名称 必选 类型 描述 loadBalancerIds.n 否 String 负载均衡实例ID。 loadBalancerType 否 Int 负载均衡实例的网络类型:2:公网属性,3:内网属性。 forward 否 Int 1:负载均衡,0:传统型负载均衡,-1:全部类型。 loadBalancerName 否 String 负载均衡实例名称。 domain 否 String 腾讯云为传统型公网负载均衡实例分配的域名,其他类型的负载均衡该字段无意义。 loadBalancerVips.n 否 String 负载均衡实例的VIP地址,支持多个。 backendWanIps.n 否

  • JAVA内存关注总结,作为个程序员需要对自己系统的每块内存做到了如指掌

           服务器的JAVA进程使用的内存是否正常  服务器中,JAVA进程的内存占用=JVM内存+JAVA堆最大内存大小(Xmx)+JAVA堆外内存大小+栈区(线程数*Xss) 最需要关注:     1.,服务器内存是否够JAVA进程开销   坑点:每次JAVA的启动,只是检查当前linux的RES内存,并不会检查申请的内存大小。 如,服务器内存16G,JAVA进程A的最大堆内存10G,JAVA服务B最大堆内存也是10G,两个服务都能正常运行,但一段时间后会被服务器kill掉 详情见我另一篇 https://my.oschina.net/u/867417/blog/817866      2,是否用到了服务器的SWAP 坑点:如果JAVA进程的垃圾回收用到了SWAP,将导致GC时间异常久,服务器上建议关掉SWAP(保证内存够用情况下) 详情见我另一篇 https://my.oschina.net/u/867417/blog/820626  &

  • [转]关于Icon,Image,ImageIcon的简单的对比参考

    转自:http://blog.csdn.net/bcmissrain/article/details/7190886 其实就算是现在,我还是有不少地方概念模糊,但是下面的内容是是没有什么问题的。稍微介绍一下,或许有些地方我无法解释: 大部分内容都是查的JavaSE5.0API Icon: Icon位于javax.swing包中,它是一个接口publicinterfaceIcon,介绍为:一个小的固定大小的图片,通常用于装饰组件 有三个方法: intgetIconHeight(); intgetIconWidth(); voidpaintIcon(Componentc,Graphicsg,intx,inty); Icon木有用过,提到它是因为ImageIcon实现了Icon接口(ImageIcon还实现了Accessible,Serializable接口,不过这里不具体说明了) ImageIcon: ImageIcon位于javax.swing包中。可以根据Image绘制Icon(这句话很关键),可以使用MediaTracker预载图像(Image也可以) 构造方法不少,举几个常用的:

  • Elasticsearch 开启

    一.知识补充,摘抄,总结 1. Elasticsearch ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。 在elasticsearch中,所有节点的数据是均等的。 Elasticsearch官方地址 Logstash  Logstash是一个完全开源的工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索),您可以使用它。说到搜索,logstash带有一个web界面,搜索和展示所有日志。 logstash官方地址 Kibana Kibana是一个基于浏览器页面的Elasticsearch前端展示工具。Kibana全部使用HTML语言和Javascript编写的。 Kibana官方地址     待补充!

  • final阶段20191121-5 Scrum立会报告+燃尽图 01

    此作业要求参见:http://edu.cnblogs.com/campus/nenu/2019fall/homework/10065 一: 组名:组长组 组长:杨天宇 组员:魏新 罗杨美慧 王歆瑶 梅小雨 本次ScrumMaster:杨天宇 二:Scrum例会 要求1工作照片 要求二:时间跨度   2019年11月21日15:03至15:26,共计23分钟。 要求三:地点 信息科学技术学院128阶梯教室最后一排 要求四:例会内容 昨天的成绩:无 今天的任务:商量final周的计划安排,上一阶段的问题寻找解决方法。 目前的困难:对新功能添加不太明确。 要求5todolist 三:燃尽图 Leangoo看板地址:https://www.leangoo.com/kanban/board/go/3115330#   版本控制                    

  • xxl-job高可用部署

                                              xxl-job高可用部署 请尊重作者劳动成果,转载请标明原文链接: https://www.cnblogs.com/wanghongsen/p/12504130.html   一高可用部署     xxl-job作为分布式任务调度中心,怎么实现高可用呢,如下图所示当我们部署一套XXL-JOB的时,调度中心可用分布式部署,  首先我们的调度中心最好部署两台,调度中心会指向同一个MySQL实例,这样调度中心一定程度上可以保证它的HA。 二具体流程    1对于页面的请求操作是根据nginx进行负载均衡转发到相应调度中心机器上,它每次调度的时候会通过一个远程任务代理的请求,触发到远程的执行器,   2在部署远程执行器的时候,只要把每一个机器指向同一个APPname,这样每个执行器会以心跳注册的方式向调度中心进行注册,它也是30秒注册一次,三次心跳。如果是连续三次心跳中断的话,会把当前的执行器摘除掉。这样调度中心发现三次心跳之内都

  • 【转】解读Tomcat服务器server.xml文件

      <Server port="8005" shutdown="SHUTDOWN">   <!--属性说明       port:指定一个端口,这个端口负责监听关闭Tomcat的请求       shutdown:向以上端口发送的关闭服务器的命令字符串   -->     <Listener className="org.apache.catalina.core.AprLifecycleListener" />     <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />     <List

相关推荐

推荐阅读