【计数】Simple Addition Expression
【来源】
2008年哈尔滨区域赛
【题目链接】:
http://acm.hdu.edu.cn/showproblem.php?pid=2451
【参考博客】:
HDU 2451 Simple Addition Expression
【题意】:
题意是要判断前n位数字(不包括n),有多少个数字 i 跟前面两个 i+1 , i+2 ,相加时不进位 。
符合要求的数字就是个位 0 ~ 2 ,其余位 0 ~ 3。
用一个dfs就可以搜出来了。
对于当前位是 x 的话 , 若果 x > 3 , 可以直接得出可以构成 [ 4^(位数-1) * 3 ] 个数
若果 x <= 3 的话 , 就可以构成 [ (x-1)*4^(位数-1)*3 + 后面的位能组成数字的数目(递归求) ]。
【注意】
我第一次交的时候忽略了一种情况,就是其他位置(除个位外)为3的情况。
真的忽略了,一直以为都是3*3*3.....,其实是4*4*4*.....*3
别人都是用回溯什么写的,
我自己用for循环写出来了。
#include<cstdio>
#include<algorithm>
#include<iostream>
using namespace std;
typedef long long ll;
const ll N = 1e10;
const ll M = ;
int main()
{
ll n;
while(~scanf("%lld",&n)) {
ll ans = , tmp = ; if( n <= ){
printf("%lld\n",min(3ll,n));
continue ;
}
n ++ ;
for (ll i = N, j = M; i >= ; i /= , j /= ) {
if (n / i == ) continue;
if (n / i >= ) {
//printf("# 1 %lld , %lld \n ",i,j);
ans += tmp * j;
break;
}
if (n / i <= ) {
ans += (n / i) * j/ ;
//printf("# 2 %lld , %lld \n ",i,j);
} n = n % i ;
}
printf("%lld\n", ans);
}
return ;
}
【计数】Simple Addition Expression的更多相关文章
- 组合数学第一发 hdu 2451 Simple Addition Expression
hdu 2451 Simple Addition Expression Problem Description A luxury yacht with 100 passengers on board ...
- HDU 2451 Simple Addition Expression(组合数学)
主题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2451 Problem Description A luxury yacht with 100 pass ...
- HDU2451:Simple Addition Expression
Problem Description A luxury yacht with 100 passengers on board is sailing on the sea in the twiligh ...
- 【HDOJ】2451 Simple Addition Expression
递推,但是要注意细节.题目的意思,就是求s(x) = i+(i+1)+(i+2),i<n.该表达中计算过程中CA恒为0(包括中间值)的情况.根据所求可推得.1-10: 31-100: 3*41- ...
- HDU 2451 Simple Addition Expression
题目大意:有一个关于 简单加法表达式 的定义告诉你,就是 选一个数字i 如果 i+(i+1)+(i+2) 它的和,没有任何一位进位的话,那就是 一个i的简单加法表达式,求小于n的表达式数目. 题 ...
- hdu 2451 Simple Addition Expression(数位DP )成败在于细节
亚洲区域赛的题,简单的数位DP题,注重细节. 任何细节都有可能导致wa,所以没有绝对的水题. 把握好细节,此题便A. #include<stdio.h> __int64 getans(__ ...
- HDU 2451 Simple Addition Expression(找规律,考验智商)
题目 最近比赛的题目好多签到题都是找规律的考验智商的题目啊,,,我怎么越来越笨了,,,, 通过列举,可以发现规律: 从左往右按位扫这个数: 当数的长度大于1时: 当首位大于3时,答案就是4*4*4*… ...
- 10994 - Simple Addition(规律)
Problem E Simple Addition Input: Standard Input Output: Standard Output Let’s define a simple recurs ...
- uva 10994 - Simple Addition(规律)
题目链接:uva 10994 - Simple Addition 题目大意:给出l和r,求∑(l≤i≤r)F(i), F(i)函数题目中有. 解题思路:由两边向中间缩进,然后l和r之间的数可以按照1~ ...
随机推荐
- golang——写文件和读文件
之前聊过,操作文件——读写文件,直接调用接口即可. 如果是一直写入操作,写入操作一直进行的,免不了会有,有时一大批数据过来,有时没有一条数据. 鉴于此场景,选择用select....channel 的 ...
- 简易总结react-hook三大基础
react-hook的最重要的三大基础 import { useEffect, useState, useContext } from 'react' 1.每一个简单的一句话总结 useEffect ...
- Docker 数据管理(Volumes)
Docker 容器产生的数据在可写层,如果不通过 docker commit 生成新的镜像,使得数据成为镜像的一部分保存下来,那么当容器删除后,数据自然也就没有了. Docker 提供了三种数据 Mo ...
- ELMO及前期工作 and Transformer及相关论文
论文1 https://arxiv.org/pdf/1705.00108.pdf Semi-supervised sequence tagging with bidirectional languag ...
- input 表单
1:datalist元素,一般与input组建配合使用,以定义可能输入的值,例如: <!DOCTYPE html> <html lang="en"> < ...
- 2.使用kubeadm快速搭建k8s集群
准备工作: 时间同步 systemctl stop iptables.servicesystemctl stop firewalld.service 安装docker wget https://mir ...
- 【译】优雅的停止docker容器
1. 介绍 Docker的大部分重点是在隔离的容器中打包和运行应用程序的过程.有无数的教程说明了如何在Docker容器中运行应用程序,但是很少有教程讨论如何正确停止容器化的应用程序.这似乎是一个愚蠢的 ...
- maven settings.xml详解
setting.xml配置文件 http://blog.csdn.net/u012152619/article/details/51485152 maven的配置文件settings.xml存在于两个 ...
- 【Rxjs】 - 解析四种主题Subject
原文地址: https://segmentfault.com/a/1190000012669794 引言 开发ngx(angular 2+)应用时,基本上到处都会用到rxjs来处理异步请求,事件调用等 ...
- android stdio 首次安装配置
http://www.cnblogs.com/smyhvae/p/4390905.html 不启用 加快模拟器调试 这个玩意儿打开老是报什么 android 1.0的问题 导致编译不起来 直接关了 S ...