HNU13303 Counting substhreengs(递推)
来源:互联网 发布:广东省网络问政平台 编辑:程序博客网 时间:2024/06/09 18:32
题目:http://acm.hnu.cn/online/?action=problem&type=show&id=13303&courseid=0
题意:给你一个字符串,由数字和其他字符组成,问有多少个子串,使得子串里面的数字和为3的整数倍(子串必须连续,而且里面不能有其他字符)。
分析:开3个数组,dp0[i],dp1[i],dp2[i]。dp0[i]表示从字符串的最后一个位置到位置i有多少个字符串的和是0的倍数,dp1[i],dp2[i]类似。从后往前推,那么假如当前位置为i,(str[i]-'0')%3==1,dp0[i]=dp2[i+1],。。。。
代码:
#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int maxn = 1e6+10;char str[maxn];long long dp0[maxn],dp1[maxn],dp2[maxn];int main(){int len,i,j,x;long long ans,Sum;while(scanf("%s",str)!=EOF){len=strlen(str);memset(dp0,0,sizeof(dp0[0])*(len+2));memset(dp1,0,sizeof(dp0[0])*(len+2));memset(dp2,0,sizeof(dp0[0])*(len+2));ans=0;for(i=len-1;i>=0;i--){if(str[i]>='0' && str[i]<='9'){x=(str[i]-'0')%3;if(x==1){ans+=dp2[i+1];dp0[i]=dp2[i+1];dp1[i]=dp0[i+1];dp2[i]=dp1[i+1];dp1[i]++;}else if(x==2){ans+=dp1[i+1];dp0[i]=dp1[i+1];dp1[i]=dp2[i+1];dp2[i]=dp0[i+1];dp2[i]++;}else{ans+=dp0[i+1]+1;dp0[i]=dp0[i+1];dp1[i]=dp1[i+1];dp2[i]=dp2[i+1];dp0[i]++;}}else{dp0[i]=dp1[i]=dp2[i]=0;}}cout<<ans<<'\n';}return 0;}
0 0
- HNU13303 Counting substhreengs(递推)
- ICPC 6823 Counting substhreengs
- Regionals 2014 >> Latin America >> 6823 - Counting substhreengs
- hdoj3664Permutation Counting【递推】
- hdu 1396 Counting Triangles(递推)
- Counting Triangles - HUD 1396 递推
- UVa 11401 Triangle Counting(递推)
- uva 1485 - Permutation Counting(递推)
- UVa 11401 Triangle Counting(数学递推)
- UVA - 11401 - Triangle Counting (递推!)
- NYOJ 982 Triangle Counting 【递推】
- uva 1485 Permutation Counting(递推)
- UVA11401 Triangle Counting(递推,dp)
- UVA 11401 Triangle Counting [递推]
- LeetCode 338 Counting Bits (递推)
- uva 11401 Triangle Counting 数三角形 递推
- UVA 10516 - Another Counting Problem(递推)
- HDOJ题目1396Counting Triangles(递推)
- 如何让网页自适应电脑屏幕分辨率
- java实现多线程的三种方式
- poj 2723 Get Luffy Out 【2-sat + 二分查找判断可行性】
- Oracle学习网址 暂存推荐介绍
- eclipse创建jsp文件的格式改为utf-8
- HNU13303 Counting substhreengs(递推)
- 【Unity3D】坐标转换
- Swift学习笔记(一)——我的第一个Swift程序 Hello World
- 福冈中文离线地图App上线
- 卡特兰数
- JAVA 并发编程-返回执行结果(Callable和Future)(九)
- ci高级用法篇之连接多个数据库
- jQuery(二)
- http压缩