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

网站规划与建设进度广州做网站的网络公司

网站规划与建设进度,广州做网站的网络公司,海口专业网站搭建厂,wordpress重定向seo题干#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.pierceye.com/news/218970/

相关文章:

  • wordpress网站在哪里修改密码ps做网站要求高吗
  • 企业网站带商城源码Audiology wordpress
  • 星月教你做网站东营城乡建设局官网
  • 镇江网站建设开发旺店通erp系统
  • 体育直播网站建设深圳制作小程序
  • 手机微信管理系统搜索引擎优化的流程是什么
  • 壁纸公司网站源码做网站价格表
  • 潜江网站设计商务科技网站建设
  • 合肥企业网站制作网站开发公司简介
  • 德州市建设小学网站文员工作内容
  • 网站域名买卖营销技巧第三季在线观看
  • 西宁市公司网站建设比较网站建设
  • 深圳网站设计公司建设部人才网站
  • 广水住房和城乡建设部网站巅峰网站建设
  • 建设智能家居网站SWOT分析商业网站有哪些
  • 相亲网站男人拉我做外汇h5特效网站欣赏
  • 网站一个多少钱有什么做同城的网站
  • 网站 改版 方案wordpress谷歌字体 4.9
  • 全网引流推广 价格网站百度关键词seo排名优化
  • 信用门户网站建设规范win7 iis 发布asp.net网站
  • 织梦网站添加视频教程如何套用wordpress的源码
  • 网站服务器模式wordpress安装后只有英文版
  • 企业网站建设晋升wordpress 自助建站
  • 网站建设案例建站资源
  • 四大商业网站镇江制作网站的
  • 做网站系统学校宠物交易网站模板
  • 佛山市官网网站建设哪家好瑶海合肥网站建设
  • 微网站app建筑图片大全高清
  • 贵阳金阳网站建设公司网站开发与维护书
  • 做非法网站判什么邢免抵退税在哪个网站做