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

成都装饰网站建设昆明建设网站的公司

成都装饰网站建设,昆明建设网站的公司,电商erp,百度网站建设是什么意思题干#xff1a; 链接#xff1a;https://ac.nowcoder.com/acm/contest/1080/E 来源#xff1a;牛客网 tokitsukaze有一个长度为n的字符串#xff0c;字符串仅包含0-9。 tokitsukaze要把这个字符串切割成若干个子串#xff0c;每个子串作为一个十进制的数#xff0c;…题干 链接https://ac.nowcoder.com/acm/contest/1080/E 来源牛客网   tokitsukaze有一个长度为n的字符串字符串仅包含0-9。 tokitsukaze要把这个字符串切割成若干个子串每个子串作为一个十进制的数能被3整除且不含前导0。 问有多少种切割的方案。由于答案可能很大请输出mod 998244353 后的结果。 输入描述: 第一行包含一个正整数n,(1≤n≤10^5)。 第二行包含一个长度为n的字符串s,(0≤s[i]≤9)。 输出描述: 输出一个整数表示方案数mod 998244353 后的结果。 示例1 输入 复制 1 1输出 复制 0示例2 输入 复制 1 0输出 复制 1示例3 输入 复制 4 1203输出 复制 3说明 (1) 1203 (2) 120|3 (3) 12|0|3 所以方案数为3。 注意12|03视作不合法因为有前导0。解题报告 看似一个dp题其实直接递推就可以了。其实如果数字中没有0的话直接一个变量就可以了。但是这题有零所以需要开两个变量。 先来一个TLE代码 #includecstdio #includeiostream #includealgorithm #includequeue #includemap #includevector #includeset #includestring #includecmath #includecstring #define FF first #define SS second #define ll long long #define pb push_back #define pm make_pair using namespace std; typedef pairint,int PII; const int MAX 2e5 5; const ll mod 998244353; char s[MAX]; ll dp[MAX]; int cur,tmp,n; int main() {cinn;cin(s1);for(int i 1; in; i) s[i] - 0;dp[0] 1;for(int i 1; in; i) {cur (curs[i])%3;tmp cur;for(int j i; j1; j--) {tmp (tmp9-s[j])%3;if(!tmp cur tmp (s[j]!0 || ji)) dp[i] (dp[i] dp[j-1]) % mod;}}ll ans 0;printf(%lld\n,dp[n]%mod);return 0 ; } 可以发现可以化简成这样来自题解 for(int i1;in;i) dp[i]0; dp[0]1; for(int i1;in;i) {suf0;for(int ji;j;j--){suf(sufs[j]-0)%3;if(s[j]0ji) continue;if(!suf) (dp[i]dp[j-1])%mod;} } 也就是说特点就是要找前缀数字和是0的方案数然后累加一下就行了。但是因为有前导0所以要开两个变量分别记录。 AC代码 #includecstdio #includeiostream #includealgorithm #includequeue #includemap #includevector #includeset #includestring #includecmath #includecstring #define FF first #define SS second #define ll long long #define pb push_back #define pm make_pair using namespace std; typedef pairint,int PII; const int MAX 2e5 5; const ll mod 998244353; char s[MAX]; ll dp,sum; int cur,tmp,n; int main() {cinn;cin(s1);sum 1;for(int i 1; in; i) s[i] - 0;for(int i 1; in; i) {cur (curs[i])%3;if(cur 0) {if(s[i] 0) sum (sumdp)%mod;else sum dp (sumdp)%mod;}}if(cur 0) printf(%lld\n,sum);else printf(0\n);return 0 ; }
http://www.zqtcl.cn/news/454612/

相关文章:

  • 网页制作三剑客不包括优化关键词推广
  • 济南设计网站中盛浩瀚建设有限公司网站
  • 做袜子娃娃的网站wordpress 文章卡片
  • 网站建设的相关新闻做网站需准备些什么问题
  • 深圳一建公司地址安徽网络seo
  • 永州网站建设gwtcms爱网站无法登录怎么回事
  • 常用于做网站的软件优质网站建设哪家好
  • 网站怎么做响应网络营销怎么做有特色
  • 电子商务企业网站的推广方式正邦设计怎么样
  • 哪个网站可以免费下载ppt模板简述网站开发的过程
  • 中国商标注册网官方网站广东网站建设包括什么软件
  • 个人如何做网站软件企业网站制作设
  • 无锡百度公司王东百度免费优化
  • 做移动网站快速排名软件正能量网站网址大全
  • 网站横幅代码山东省住房和城乡建设厅电话号码
  • 营销模式有哪些seo点击软件哪个好用
  • 信息流网站建设做网站换服务器怎么整
  • html5网站编写wordpress同步到本地
  • php商城网站开发工业设计在线
  • 网站建设发布实训总结网站自适应代码
  • 网站建设与管理是什么摄影网站 蜂鸟
  • 廊坊做网站的大公司wordpress+主题加速
  • 做网站还能挣钱吗网页端
  • 自适应网站建设推荐淘宝详情页设计
  • 手机网站域名设置深圳的网站建设公司怎么样
  • 余姚网站建设设计服务cms网站源码
  • 工作是套模板做网站想做网站制作运营注册什么公司核实
  • 北京网站建设116networdpress导航栏下拉菜单
  • 医院网站建设的目标网络服务许可证
  • 市场部做网站工作职责晋江论坛网