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

建设ca网站南宁seo网站排名优化公司

建设ca网站,南宁seo网站排名优化公司,限制高消费可以去环球影城吗,网站菜单栏代码原题链接:E - Avoid K Partition 题意:给长度为n的数组,将数组划分成任意份,但是每一份的总和都不能是k,问有多少种分割方法。 思路:dp,f[i],代表前i个元素满足题意的划分的总和&a…

原题链接:E - Avoid K Partition

题意:给长度为n的数组,将数组划分成任意份,但是每一份的总和都不能是k,问有多少种分割方法。

思路:dp,f[i],代表前i个元素满足题意的划分的总和,那么转移方程就是f(i)=\sum f[j]^{},j是从1到i-1,然后如果从j到i这一段的总和是k,那么就减去f[j],对于任意的f[i]来说,这样是不重不漏的,那么可以很容易写出一个n*2的算法,可以观察到,这个算法的瓶颈是在减去j到i总和是k的这一步上,从前缀和的角度考虑,对于每个从j到i总和为k来说,从1到j的总和都是一样的值,那么就可以用map来记录一下,从1到j总和为键,从1到j的划分方法为值,这样时间复杂度就可以了。

//冷静,冷静,冷静
//调不出来就重构
//#pragma GCC optimize(2)
//#pragma GCC optimize("O3")
#include<bits/stdc++.h>
#define endl '\n'
#define count2(x) __builtin_popcountll(x)
#define is2(x) __builtin_ffsll(x)
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<ll,ll> pii;
const int N=1e6+10,mod=998244353;
ll pre[N],p[N],f[N];
void Jiuyuan()
{ll n,k;cin>>n>>k;for(int i=1;i<=n;i++){cin>>p[i];pre[i]=pre[i-1]+p[i];}map<ll,ll> op;op[0]=1;f[0]=1;ll sum=1;for(int i=1;i<=n;i++){f[i]=(sum-op[pre[i]-k]%mod+mod)%mod;op[pre[i]]=(op[pre[i]]+f[i])%mod;sum=(sum+f[i])%mod; }cout<<f[n];
}
int main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);ll T=1;
//	cin>>T;while(T--){Jiuyuan();}return 0;
}

http://www.ds6.com.cn/news/64241.html

相关文章:

  • 个人网站开发意义seo咨询岳阳
  • 郑州网站关键搜索引擎营销原理
  • b2bb2c网站电子商务网站建设前期方案磁力兔子搜索引擎
  • 微信android平板版天津网站建设优化
  • 最简单的做网站的工具域名
  • 做网站水晶头crm网站
  • javaweb一个旅游网站怎么做文大侠seo
  • 深圳电子商务网站建设怎样在百度上发布广告
  • 淮安网站推广互联网广告代理可靠吗
  • 最好的网站模板下载网站关键的近义词
  • 可以做代发货源的网站我国网络营销现状分析
  • 校园网站建设考评办法怎么做网站推广和宣传
  • 淘宝小网站怎么做的关键词搜索推广排行榜
  • wordpress与阿里服务器区分网站seo标题是什么意思
  • 网站制作器手机端竞价恶意点击能防止吗
  • 海南网站建设网站开发小程序appseo常用工具
  • 国内网络代理服务器seo sem是什么意思
  • 儿童摄影网站模板网络营销企业培训
  • wordpress更换www解析网站推广与优化平台
  • 网站制作与建立中国职业技能培训中心官网
  • 北京市房山建设培训学校网站微信怎么做推广
  • 如何制作互联网网站seowhy教研室
  • 乌兰察布建设局网站关键词怎样做优化排名
  • 木兰网站建设web个人网站设计代码
  • 南阳疫情防控最新消息排名优化软件点击
  • wordpress优酷自适应优化科技
  • 宣传视频网站优化的主要内容
  • 网站建设创意报告书培训机构排名
  • 旅游的网站怎么做的免费推广网站排行榜
  • 网站伪静态化线上培训