codeforces B. Making Sequences is Fun 解题报告
题目链接:http://codeforces.com/problemset/problem/373/B
题目意思:给出w,m和k,需要找出从m开始,可以有多少个连续的数(m+1,m+2,...)(在添加(m+i)这个数到序列时,需要付出s(m+i) * k的代价,i = 1,2,...)满足不超过总代价w的长度。
可以列一个这样的方程:
一位数的个数*1*k + 两位数的个数*2*k + 三位数的个数*2*k + ... + n位数的个数*n*k = w
化简后得到:
一位数的个数*1 + 两位数的个数*2 + 三位数的个数*2 + ... + n位数的个数*n = w / k
思路就是:得出m是一个几位数(假设为len)——> m要到达len+1位数时还需要多少个len位数 ——> 代价 w 更新。
#include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std; int main()
{
__int64 w, m, k, i, res, tmp, num; while (scanf("%I64d%I64d%I64d", &w, &m, &k) != EOF)
{
w /= k;
int len = ;
// 判断m是几位数(len)
for (tmp = m; tmp; tmp /= )
len++;
// 赋予num最大的len位数(10,100,1000, ...)
num = ;
for (i = ; i <= len; i++)
num *= ;
for (res = , i = len; ;i++)
{
if (w - (num-m) * i >= ) // i位数里有多少个k
{
w -= i * (num-m);
res += num - m;
m = num;
num *= ;
}
else // w 不足num-m
{
res += w/i;
break;
}
}
printf("%I64d\n", res);
}
return ;
}
codeforces B. Making Sequences is Fun 解题报告的更多相关文章
- codeforces C1. The Great Julya Calendar 解题报告
题目链接:http://codeforces.com/problemset/problem/331/C1 这是第一次参加codeforces比赛(ABBYY Cup 3.0 - Finals (onl ...
- codeforces B. Eugeny and Play List 解题报告
题目链接:http://codeforces.com/problemset/problem/302/B 题目意思:给出两个整数n和m,接下来n行给出n首歌分别的奏唱时间和听的次数,紧跟着给出m个时刻, ...
- codeforces 433C. Ryouko's Memory Note 解题报告
题目链接:http://codeforces.com/problemset/problem/433/C 题目意思:一本书有 n 页,每页的编号依次从 1 到 n 编排.如果从页 x 翻到页 y,那么| ...
- codeforces 556B. Case of Fake Numbers 解题报告
题目链接:http://codeforces.com/problemset/problem/556/B 题目意思:给出 n 个齿轮,每个齿轮有 n 个 teeth,逆时针排列,编号为0 ~ n-1.每 ...
- codeforces 510B. Fox And Two Dots 解题报告
题目链接:http://codeforces.com/problemset/problem/510/B 题目意思:给出 n 行 m 列只有大写字母组成的字符串.问具有相同字母的能否组成一个环. 很容易 ...
- codeforces 505A. Mr. Kitayuta's Gift 解题报告
题目链接:http://codeforces.com/problemset/problem/505/A 题目意思:给出一个长度不大于10的小写英文字符串 s,问是否能通过在字符串的某个位置插入一个字母 ...
- codeforces 499A.Inna and Pink Pony 解题报告
题目链接:http://codeforces.com/problemset/problem/499/A 题目意思:有两种按钮:1.如果当前观看的时间是 t,player 可以自动处理下一分钟,姑且理解 ...
- codeforces 374A Inna and Pink Pony 解题报告
题目链接:http://codeforces.com/problemset/problem/374/A 题目意思:给出一个 n 行 m 列 的棋盘,要将放置在坐标点为(i, j)的 candy 移动 ...
- codeforces 471B. MUH and Important Things 解题报告
题目链接:http://codeforces.com/problemset/problem/471/B 题目意思:有 n 个 tasks,编号依次为 1 - n,每个 task 都有一定的难度值来评估 ...
随机推荐
- 用批处理文件来手动启动和停止Oracle服务
服务名称 说明 OracleOracle_homeTNSListener 对应于数据库的监听程序 OracleServiceSID 对应于数据库的例程 OracleDBConsoleSID ...
- bzoj 2815 灾难
首先假设我们定义x灭绝后y会灭绝,那么离y最近的x就为y的父亲节点,那么如果我们可以求出每个节点的父亲节点,我们就得到了一棵树,然后每个节点的灾难值就是子树的大小-1. 我们将出度数为0的节点的父亲节 ...
- ElasticSearch插件安装Head、Kopf与Bigdesk
ElasticSearch-Head ElasticSearch-Head 是一个与Elastic集群(Cluster)相交互的Web前台. ES-Head的主要作用 它展现ES集群的拓扑结构,并且可 ...
- 【poj1010】 STAMPS
http://poj.org/problem?id=1010 (题目链接) 感到了英语深深的恶意... 题意(真的很难懂....) 第一行数字是邮票的面值,每一个数字就是一个不同的种类,哪怕面值相同. ...
- Redis Installation、Configuration、Program Based On Redis Learning
目录 . Redis 简介 . Redis安装配置 . 编程使用Redis . 使用Lua脚本 1. Redis 简介 0x1: Redis是什么 Redis是一款Nosql类型的基于key-valu ...
- javaIO(三)
- 51NOD 1400 序列分解
传送门:1400 序列分解序列分解 基准时间限制:1s 空间限制:131072 KBKB131072 KB 1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题1 秒 空间限制:13 ...
- org.springframework.orm.hibernate3.LocalSessionFactoryBean的疑惑解决办法
在项目中使用了SSH框架(Struts2 + Spring3+ Hibernate3),applicationContext中配置了sessionFactory <bean id="s ...
- android 读取sd卡中的图片
一.获取读取SD卡的权限 <!--在SDCard中创建与删除文件权限 --> <uses-permission android:name="android.perm ...
- 初学Hibernate之Query扩展
1.hql参数化查询,不明确值类型的用setParameter方法:明确查询结果为一条记录的用uniqueResult方法查询 注意,参数化查询中方法setString 或 setParameter如 ...