博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【HDOJ】2451 Simple Addition Expression
阅读量:7105 次
发布时间:2019-06-28

本文共 1005 字,大约阅读时间需要 3 分钟。

递推,但是要注意细节。题目的意思,就是求s(x) = i+(i+1)+(i+2),i<n。该表达中计算过程中CA恒为0(包括中间值)的情况。根据所求可推得。

1-10: 3
1-100: 3*4
1-1000: 3*4*4
1-10000: 3*4*4*4
1-10^n: 3*4^(n-1)。
并且需要注意,一旦发现某一位大于3,则应立即跳出累加的循环。比如,f(133) = 24,f(143) = 24。同时,单独讨论个位的情况。28行的break处理该种情况。

1 #include 
2 #include
3 4 __int64 pre[11]; 5 char buf[15]; 6 7 int main() { 8 int i, k, len; 9 __int64 ans;10 11 pre[0] = 1;12 pre[1] = 1;13 for (i=2; i<11; ++i)14 pre[i] = pre[i-1]<<2;15 16 while (scanf("%s", buf) != EOF) {17 len = strlen(buf);18 ans = 0;19 for (i=0; i
3)23 ans += 3;24 else25 ans += k;26 } else if (k > 3) {27 ans += pre[len-i]*3;28 break;29 } else30 ans += k*pre[len-i-1]*3;31 }32 printf("%I64d\n", ans);33 }34 35 return 0;36 }

 

转载于:https://www.cnblogs.com/bombe1013/p/3906152.html

你可能感兴趣的文章
普及一点平板电脑知识,给机油们说说国产平板的五大主流方案
查看>>
js正则实现用户输入银行卡号的控制及格式化
查看>>
MySQL
查看>>
2018-08-14期 Zookeeper客户端连接工具ZooInspector使用方法
查看>>
unity3D初识对象池技术
查看>>
emulator-arm.exe停止工作
查看>>
spring用动态代理还是cglib?
查看>>
共同抵制恶意APP CNCERT公布首批黑名单
查看>>
STP工作过程分析<欢迎指正>
查看>>
您是在为这些问题苦恼吗?
查看>>
几种http-equiv
查看>>
gnuplot绘制曲线图
查看>>
静态缓存
查看>>
使用mdadm创建软raid
查看>>
网络传输之数据单位 kbpsKB/s
查看>>
jquey写的简单图片轮转
查看>>
《JavaScript权威指南》代码解读 -- 第9章:类和模块 (导论)
查看>>
字符测试 =~ 用法
查看>>
【OSChina-MoPaaS应用开发大赛】BiLi记事本
查看>>
Java: String, StringBuilder和StringBuffer 三者之间的区别
查看>>