CodeForces 758 D Ability To Convert
题意:给你一个n进制的60位的数,但是由于Alexander只会写0->9,所以他就会用10来表示十而不是A(假设进制>10);
题解:模拟就好了,先走往前走进制的位数的倍数,再判断一下首位是不是0,或者这个数有没有大于等于进制,如果有就不行,就要往后走,走到一个非0开头的点,或者就是走到只有1个0的点,然后算出目前这段区间的答案加一个倍数就好了。
代码:
#include<bits/stdc++.h>
using namespace std;
#define Fopen freopen("_in.txt","r",stdin); freopen("_out.txt","w",stdout);
#define LL long long
#define ULL unsigned LL
#define fi first
#define se second
#define pb push_back
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define max3(a,b,c) max(a,max(b,c))
#define min3(a,b,c) min(a,min(b,c))
typedef pair<int,int> pll;
const int INF = 0x3f3f3f3f;
const LL mod = (int)1e9+;
const int N = 2e5 + ;
char str[N];
char cmp[N];
LL ans = ;
LL tmp = ;
LL n = ;
LL base = ;
LL b = ;
LL t;
vector<LL> vc;
int main(){
scanf("%s", cmp);
int len1 = strlen(cmp);
for(int i = ; i < len1; i++){
n = n* + cmp[i] - '';
}
scanf("%s", str);
if(str[] == ''){
cout << << endl;
return ;
}
int len2 = strlen(str);
for(int i = len2-; i >= ;){
int j = i - len1 + ;
if(j < ) j = ;
//cout << j <<' '<< i << endl;
if((j+len1- == i && strcmp(cmp,str+j) <= ) || str[j] == ''){
j++;
if(j >= i) j = i;
while(str[j] == '' && j < i) j++;
t = ;
for(int k = j; k <= i; k++)
t = t* + str[k] - '';
ans += b*t;
b *= n;
}
else {
t = ;
for(int k = j; k <= i; k++)
t = t* + str[k] - '';
ans += b*t;
b *= n;
}
i = j - ;
}
printf("%I64d", ans);
return ;
}
CF 758 D
CodeForces 758 D Ability To Convert的更多相关文章
- 【codeforces 758D】Ability To Convert
[题目链接]:http://codeforces.com/contest/758/problem/D [题意] 给你一个n进制的数k; 问你它可能的最小的十进制数是多少; [题解] 从右往左; 获取数 ...
- Codeforces 758D:Ability To Convert(思维+模拟)
http://codeforces.com/problemset/problem/758/D 题意:给出一个进制数n,还有一个数k表示在n进制下的值,求将这个数转为十进制最小可以是多少. 思路:模拟着 ...
- Codeforces Round #392 (Div. 2)-758D. Ability To Convert(贪心,细节题)
D. Ability To Convert time limit per test 1 second Cmemory limit per test 256 megabytes input standa ...
- Codeforces Round #392 (Div. 2)-D. Ability To Convert
D - Ability To Convert 题目大意:给你一个数字 n 接下来再输入一个数字 w(<10^60),表示w这个数字是 n 进制的, 并且超过十进制也用数字表示,这样就有多种组合了 ...
- 【动态规划】Codeforces Round #392 (Div. 2) D. Ability To Convert
D. Ability To Convert time limit per test 1 second memory limit per test 256 megabytes input standar ...
- D. Ability To Convert
http://codeforces.com/contest/758/problem/D D. Ability To Convert time limit per test 1 second memor ...
- Codeforces758D Ability To Convert 2017-01-20 10:29 231人阅读 评论(0) 收藏
D. Ability To Convert time limit per test 1 second memory limit per test 256 megabytes input standar ...
- Codeforces 758D Ability To Convert(区间DP)
题目链接:http://codeforces.com/problemset/problem/758/D 题意:一个n进制下的数k,其中k不会用字母,如果有A就用10代替了.求k这个数对应的,在10进制 ...
- codeforces 758D Ability To Convert【DP】
在N进制下给你一个数,要你转换成最小的十进制数; 状态转移方程:从前向后 dp[j]表示j位前数列的最小十进制数 dp[j]=min(dp[j],dp[i]*n+x) 程序: #include < ...
随机推荐
- [Chat]实战:仿网易云课堂微信小程序开发核心技术剖析和经验分享
本Chat以一个我参与开发并已上线运营近2年——类似网易云课堂的微信小程序项目,来进行微信小程序高级开发的学习. 本场Chat围绕项目开发核心技术分析,帮助你快速掌握在线视频.音频类小程序开发所需要的 ...
- C#打开并选择特定类型文件并返回文件名
public string[] GetOpenFileDialogReturnFileFullName(bool multiSelect = false) { ...
- java-web调用后台下载方法
后台下载指定文件必定会用到流, 无论使用poi还是使用jxl导出excel都需要用到流一种是outputstrean,另一种fileoutputstream第一种:如果想要弹出保存的提示框必须加入下列 ...
- Caddy 源码全解析
caddy源码全解析 Caddy 源码全解析 Preface Caddy 是 Go 语言构建的轻量配置化服务器.同时代码结构由于 Go 语言的轻便简洁,比较易读,推荐学弟学妹学习 Go 的时候也去查看 ...
- 算法与数据结构基础 - 排序(Sort)
排序基础 排序方法分两大类,一类是比较排序,快速排序(Quick Sort).归并排序(Merge Sort).插入排序(Insertion Sort).选择排序(Selection Sort).希尔 ...
- jQuery学习和知识点总结归纳
jQuery目前在Web前端开发所占的比重越来越高,在我们jQuery学习和开发的过程中都会去使用.jQuery帮我们解决了浏览器之间JS一些不兼容的地方和简化了原生JS对DOM的操作.下面把PHP程 ...
- MQTT的学习之Mosquitto安装和使用
Mosquitto是一个实现了MQTT3.1协议的代理服务器,由MQTT协议创始人之一的Andy Stanford-Clark开发,它为我们提供了非常棒的轻量级数据交换的解决方案.本文的主旨在于记录M ...
- 性能测试学习第三天-----loadrunner接口测试&中文乱码处理
loadrunner 接口测试: get.post(3种参数格式).cookie及token处理.加密接口.webservice.socket.文件上传接口.文件下载接口 & 中 ...
- python+appium自动化测试(一)-----环境搭建
基础背景: windows7系统 +python3.4版本 环境搭建目标: 使用python编写app自动化测试脚本并成功执行. 搭建步骤: 1.安装python3,安装步骤详见:https:// ...
- EL表达式forEach中索引获取
有的时候,不得不使用循环中的索引,比如label对应的单选多选: <c:forEach items="${lpalls }" var="pall" var ...