Codeforces 899D Shovel Sale
题目大意
给定正整数 $n$($2\le n\le 10^9$)。
考虑无序整数对 $(x, y)$($1\le x,y\le n, x\ne y$)。
求满足 「$x+y$ 结尾连续的 9 最多」的数对 $(x,y)$ 的个数。
例子:
$n=50$,$(49,50)$ 是一个满足条件的数对。
比赛时我的思路
首先注意到,「两个正整数的和」的结尾的连续的 9 一定不包含进位的贡献,也不产生进位。
首先考虑(数对的和的)结尾最多有几个连续的 9 。不难得出:
设 $n$ 的位数为 $k$ ,令 $x=5\times 10^{k-1}$ 。
若 $n\ge x$,则和的结尾最多有 $k$ 个连续的 9 。
若 $n=10^{k} - 1$,满足条件的数对有 $n - x$ 个,否则有 $n-x+1$ 个。
若 $n < x$ ,数对之和的第 $k$ 位一定小于 $9$,故结尾至多有 $k-1$ 个连续的 9 。
若 $k-1=0$,则为平凡情形。
考虑 $k\ge 2$ 的情形。
设 $n$ 的 第 $k$ 位上的数字为 $h(n)$,显然有 $h(n) > 0 $ 。
考虑数对 $(x,y)$($x>y$),设 $x$ 的第 $k$ 位上的数字为 $h(x)$ 。
将所有满足条件的数对 $(x,y)$ 分成下列若干类:
- $h(n)>h(x)=h(y)=0$
- $h(n)>h(x) = h(y) > 0$
- $h(n)>h(x) > h(y)>0$
- $h(n)>h(x) > h(y)=0$
- $h(n)=h(x) > h(y) > 0$
- $h(n) = h(x) > h(y) = 0$
- $h(n) = h(x)= h(y) $
在比赛中,我没考虑到上述第 7 种情况。
总结
本题的思维方式:分类。
实现技巧:
求一个正整数 $n$ 的位数可用 to_string(n).size()
。
转载于:https://www.cnblogs.com/Patt/p/8053576.html
Codeforces 899D Shovel Sale相关推荐
- Codeforces 题目合集+分类+代码 【Updating...】【361 in total】
961A - Tetris 模拟 ...
- CodeForces 732A-Buy a Shovel
CodeForces 732A-Buy a Shovel 题目链接:A. Buy a Shovel 思路: 题目大意是商店一把铲子卖 k元,一个人有无数张十块钱和一张零钱r(1~9),要求这人最少要买 ...
- CFCC百套计划4 Codeforces Round #276 (Div. 1) E. Sign on Fence
http://codeforces.com/contest/484/problem/E 题意: 给出n个数,查询最大的在区间[l,r]内,长为w的子区间的最小值 第i棵线段树表示>=i的数 维护 ...
- Codeforces Round #797 (Div. 3)无F
Codeforces Round #797 (Div. 3)无F 这打的也太屎了,白天把G补了才知道简单的很,但f还是没头绪呜呜呜 Problem - A - Codeforces Given the ...
- CodeForces 375D Tree and Queries
传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...
- 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)
题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...
- 【codeforces 812C】Sagheer and Nubian Market
[题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...
- CodeForces 获得数据
针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...
- codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...
题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...
最新文章
- 虚拟机系统如何添加硬件?
- (FortiGate)飞塔防火墙防病毒解决方案
- 浅谈人性 - 讲讲人性丑恶的一面
- android网络游戏开发实战pdf_Python项目开发实战+第2版PDF高清文档下载
- 大批量插入数据如何优化
- FileItem API详解及演示
- C++primer plus第六版课后编程题答案8.6
- linux命令fs ls,Linux 命令:fsdisk
- linux服务端口加密,linux – 如何通过单个端口处理加密和未加密的http连接
- oracle 12c 取消omf,Oracle12c创建及删除PDB
- markdown与latex:向量形式给字母加粗 \pmb{}
- hdu4009 Transfer water 最小树形图
- java jbpm工作流_JBPM工作流
- 英语口译笔记法实战指导 吴钟明 pdf_三口过关,名师指导备考干货帖(内附口译笔记讲解)...
- Temporal Abstraction
- U盘突然提示格式化怎么办?里面的数据怎么办?
- 机器学习 --- 概率图 - 表示 - 动态模型
- 荣耀play面试流程
- win7下后台运行BAT
- STM32F103移植STEMWIN并驱动0.96寸OLED实现弹球界面效果
热门文章
- 【HDU - 5452】Minimum Cut(树形dp 或 最近公共祖先lca+树上差分,转化tricks,思维)
- 【CodeForces - 472A】Design Tutorial: Learn from Math (tricks,思维,数论,打表)
- 【HDU - 5688 】Problem D(STL+map)
- 从零开始学视觉Transformer (8):卷积和Transformer结合的ViT
- mysql操作json优点和缺点_MySQL与JSON-为什么?
- java quartz 数据库_SpringBoot+Quartz+数据库存储
- 特殊mac地址文档_Mac颜值秒杀Win10?五款神器让Win10化身macOS
- 虚拟机安装黑群晖_【群晖系统】HEI群辉DSM 6.2.1 系统安装图文教程 (19年2月)
- java中br.readline_Java:java中BufferedReader的read()及readLine()方法的使用心得
- 关于jsp页面显示的时间格式和Oracle数据库中的格式不一样的问题