Regionals 2014 >> Latin America >> 6823 - Counting substhreengs
来源:互联网 发布:阿里云备案幕布ps 编辑:程序博客网 时间:2024/06/01 21:50
6823 - Counting substhreengs
题目:
题目大意:1.子串只包含连续数字 2.该数字为3的倍数 。问这种子串存在多少个?
题目思路:直接暴力会超时,优化为n的复杂度。遍历该字符串,如果该位是数字,求出其与3的余数,填入表格。
题目链接:6823 - Counting substhreengs
以下是代码:
#include <vector>#include <map>#include <set>#include <algorithm>#include <iostream>#include <cstdio>#include <cmath>#include <cstdlib>#include <string>#include <cstring>using namespace std;int main(){ string s; while(cin >> s) { long long t1 = 0,t2 = 0,t3 = 0; long long ans = 0; for (int i = 0; i < s.size(); i++) { if (isdigit(s[i])) { int num = (s[i] - '0') % 3; long long ret1,ret2,ret3; //记录新表格值 if (num == 0) //余数为0时,新表格值内余数为0的加1; { ret1 = t1 + 1,ret2 = t2,ret3 = t3; } else if (num == 1)//余数为1时,余数为0的值→由原来余数为2的值得到;以此类推。另外余数为1的值需加1 { ret1 = t3,ret2 = t1 + 1,ret3 = t2; } else //余数为2时,余数为0的值→由原来余数为1的值得到;以此类推。另外余数为2的值需加1 { ret1 = t2,ret2 = t3,ret3 = t1 + 1; } ans += ret1; //余数为0的个数就是所求答案 t1 = ret1,t2 = ret2,t3 = ret3; //更新表格内值 } else { t1 = 0,t2 = 0,t3 = 0; } } cout << ans << endl; } return 0;}
0 0
- Regionals 2014 >> Latin America >> 6823 - Counting substhreengs
- Regionals 2014 >> Latin America
- Regionals 2014 >> Latin America 6822 - Black a
- Regionals 2014 >> Latin America >> 6828 - Help cupid
- ICPC 6828 Help cupid(Regionals 2014 >> Latin America)
- 20130902组队赛Regionals 2012, Latin America
- 130902组队赛-Regionals 2012, Latin America
- 20130926组队赛-Regionals 2011, Latin America
- 组队赛130926 Regionals 2011, Latin America
- ICPC 6823 Counting substhreengs
- HNU13303 Counting substhreengs(递推)
- Regionals 2014 >> North America - Greater NY >> 7097 - Growing Rectangular Spiral
- Regionals 2014 >> North America - Greater NY >> 7094 - Happy Happy Prime Prime
- Regionals 2013 :: North America - Greater NY
- Latin America 2010 _problem D_digits count
- 130825组队赛-Regionals 2012, North America - East Central NA
- 20130827组队赛Regionals 2012, North America - Greater NY
- 130827组队赛Regionals 2012, North America - Greater NY
- Swift学习 常用基本数据类型
- Java拾遗-异常
- 【Android基础】-基于Apache HttpClient封装的网络操作工具类
- Django ajax
- Java性能优化(8):改写equals时总是要改写hashCode
- Regionals 2014 >> Latin America >> 6823 - Counting substhreengs
- 前端路上的各种问题-javascript—4
- C# Excel 生成图表,添加趋势线、误差线
- this class is not key value coding-compliant for the key progressVIew
- 可以将txt快速转换成pdf的方法分享
- ViewPager和ScrollView冲突,不重写控件的一个解决方法
- NOIP2006
- android studio关于快捷键设置-切换eclipse中 alt+斜扛代码提示快捷键
- php 中全半角转换