4437: Carries

Submit your solution     Discuss this problem     Best solutions

Carries

frog has nn integers a1,a2,…,ana1,a2,…,an, and she wants to add them pairwise.

Unfortunately, frog is somehow afraid of carries (进位). She defines hardness h(x,y) for adding xx and yy the number of carries involved in the calculation. For example, h(1,9)=1,h(1,99)=2.

Find the total hardness adding nn integers pairwise. In another word, find

∑1≤i<j≤nh(ai,aj)

Input

The input consists of multiple tests. For each test:

The first line contains 11 integer nn (2≤n≤1052≤n≤105). The second line contains nn integers a1,a2,…,ana1,a2,…,an. (0≤ai≤1090≤ai≤109).

Output

For each test, write 11 integer which denotes the total hardness.

Sample Input

    25 5100 1 2 3 4 5 6 7 8 9

Sample Output

    120
 

题意:给定n个数的序列,问这个序列任意两个数相加需要进的位数的和是多少;

思路:

1.给定两个数若这两个数的第k位相加会进位,则满足:(a%10^k+b%10^k)>=10^k;

2.按位计算贡献(进位次数);

3.题目要求是每两个只选择一次,但排序后并不影响,并不会重复枚举两个数;

样例:

97      56

56      97

123    123  //更换顺序后不会影响统计贡献(进位次数);

代码:

#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long ll;const int maxn=100005;
int a[maxn],b[maxn];
int main()
{int n;while(~scanf("%d",&n)){for(int i=1;i<=n;i++)scanf("%d",&a[i]);int mod=1;ll ans=0;for(int i=1;i<=9;i++){mod*=10;for(int i=1;i<=n;i++)b[i]=a[i]%mod;sort(b+1,b+n+1);for(int i=1;i<n;i++)ans+=n-(lower_bound(b+i+1,b+n+1,mod-b[i])-b-1);}printf("%lld\n",ans);}return 0;
}

【思维】SCU 4437 Carries相关推荐

  1. SCU - 4437 Carries

    frog has n integers a1,a2,-,an, and she wants to add them pairwise. Unfortunately, frog is somehow a ...

  2. SCU 4437 Carries 想法题

    题目大意: 就是现在给出10万个1e9以内的非负整数, 问他们两两相加一共会有多少次进位(10进制加法), 例如99 + 1有2次进位, 10 + 19没有进位 大致思路: 其实就是一个简单题, 比赛 ...

  3. B - Carries SCU - 4437

    Carries frog has n integers a1,a2,-,an, and she wants to add them pairwise. Unfortunately, frog is s ...

  4. SCU - 4572 醉后不知天在水,满船清梦压星河【思维】

    传送门 题意: 在自然数序列中 (0,1,2,3,4,5-.),求去掉所有含2,3,5,7的数字后 (0,1,4,6,8,9-)的第k个数. 思路: 这道题就很有意思啦.. 去掉后我们可以发现从小到大 ...

  5. SCU - 4573 和 POJ 3904 Sky Code 【思维 + 容斥定理 or 反演】

    传送门 题意: 就是给定n个数, 问这里面有多少个四元组满足gcd(a, b, c, d) == 1. 思路: 因为题意的那个条件并不是说一定这四个元素就是两两互质的, 所以算正面是有点难算的, 所以 ...

  6. 贝叶斯 定理_贝叶斯定理:批判性思维框架

    贝叶斯 定理 Have you ever noticed how you can be fuming with anger one second and absolutely calm the nex ...

  7. 架构思维成长系列教程(十四)- 不想当架构师的程序员不是好程序员

    引言 不想当将军的士兵不是好士兵. 很多程序员的梦想,就是将来能成为一名架构师. 包括我刚学编程那时候,也是以当架构师为目标,觉得不想当架构师的程序员不是好程序员,希望将来能成为一个优秀的架构师.就像 ...

  8. 揭富人与穷人21个不同思维 看富豪如何脱颖而出

    <富人是怎么想的>(How Rich People Think)的作者Steve Siebold曾在近30年里采访世界各地的富豪,看究竟是什么让富豪从普通人中站出来. 他发现这和金钱基本没 ...

  9. 学习,思维三部曲:WHAT、HOW、WHY

    学习技术的三部曲:WHAT HOW WHY 我把学习归类为三个步骤:What.How.Why.经过我对周围同事和朋友的观察,大部分感觉自己技术没有提高的人,都仅仅停留在What阶段.下面我把这三个步骤 ...

最新文章

  1. CF438E The Child and Binary Tree(有意思的生成函数 + 多项式求逆 + 多项式开方)
  2. R语言ggplot2可视化自定义可视化结果的背景色(background color)实战:改变整个画板(panel)的背景色、改变图像(plot)区域的背景色
  3. python GUI开发
  4. 删除千万级表中重复记录的办法
  5. 逻辑回归与朴素贝叶斯的战争
  6. 计算机技能大赛试题及答案,全国中职计算机技能大赛(园区网)试题及参考答案...
  7. 虚拟机如何设置ftp服务器,虚拟机设置ftp服务器配置
  8. JavaScript学习(七十)—函数中this的指向问题
  9. 企业创新流程的“正向推”与“反向推”思考
  10. 单片机C语言PWM程序原理,单片机C语言程序设计:用 ADC0808 控制 PWM 输出
  11. 洛谷——P1914 小书童——凯撒密码
  12. 项目遇到OpenSessionInViewFilter的默认sessionFactoryBeanName的问题
  13. redis lettuce 超时_Spring Cache 操作 Redis 实现数据缓存(上)
  14. 时间复杂度,贪心算法解最大团问题,回溯算法解0-1背包问题(仅步骤)
  15. 【Flutter】基础组件【07】Appbar
  16. 六面美团后,我有一个重要的发现...
  17. 计算机组成原理与接口技术笔记
  18. java外卖系统源码_java外卖订餐系统小项目
  19. 数字电路设计的基本方法有哪些
  20. 小武与FasterRCNN

热门文章

  1. 2018云原生技术实践峰会CNBPS 重新定义云原生
  2. redis的daemonize设置为yes和no有啥区别呀,为啥我两个都试了之后的效果不是像网上说的那样,设置成No的话,redis也会一直运行呀
  3. 成都托普计算机职业技术怎么样学校,成都中职学校前景怎么样
  4. BUUCTF-[网鼎杯 2020 青龙组]虚幻2
  5. Service的工作过程
  6. 语雀批量导出与图片下载
  7. luogu3933 Chtholly Nota Seniorious
  8. 全方位适配信创生态体系 远眺捷码完成国产化认证
  9. Windows 10 build Error !include: could not find: ****StdUtils.nsh
  10. 证书服务器 过期,iis7服务器证书过期如何换新的以及证书服务器