整数的Alvin值

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 401    Accepted Submission(s): 87

Problem Description
alvin在理解了一个数的二进制表达之后,认为二进制的每一位都拥有不同的权值,而一个数的权值是二进制为1的权值之和。

比如,假设我们分别认为二进制的前三位的权值为1、4、7,则对于7来说,其权值为1 + 4 + 7 = 12,对于6来说其权值为4 + 7 = 11。

但是alvin并不满足于这么简单的计算,现在,他定义了一个alvin值——
对于一个整数n,alvin值即为1到2 ^ n的权值之和。

现在alvin给你一个整数n,你能告诉他对应的alvin值吗?

Input
有多组数据输入。

每组数据有两行,第一行有一个整数n,代表alvin所给的整数n。

第二行有n + 1个数,其中第i个数ai代表第i位所对应的权值。

数据规模:
ai <= 100,n <= 100

Output
对于每组数据,输出一个数,代表n的alvin值。
因为答案可能很大,所以你只需要输出答案 mod(1e9 + 7)的结果就好。
Sample Input
2 1 1 1 2 1 1 0
Sample Output
5 4

Hint

对于第一组样例 0的权值为0; 1的权值为1; 2的权值为1; 3的权值为2; 4的权值为1,故权值之和为5。

//1   1
//2   10    2^1=(11)(数字为2进制数上各位上的数量,下同)
//3   11
//4   100   2^2=(122)
//5   101
//6   110
//7   111
//8   1000  2^3=(1444)
//9   1001
//10  1010
//11  1011
//12  1100
//13  1101
//14  1110
//15  1111
//16  10000 2^4=(18888)
//........//看到规律了吗,公式为(a[1]+······+a[n])*2^(n-1)+a[n+1]
//算2的次方时用到了快速幂
#include <cstdio>
using namespace std;
int a[105];
long long mimi(int m){//快速幂,快速计算a^n%mod(n的值很大),算法推导原理百度有公式if(m==0) return 1;long long temp=mimi(m>>1);temp=temp*temp%(1000000007);if(m&1)temp=temp*2%(1000000007);return temp;
}
int main(){int n;while(scanf("%d",&n)!=EOF){for(int i=1;i<=n+1;i++)scanf("%d",&a[i]);//权值保存long long s=0;for(int i=1;i<=n;i++)s=s+a[i];//尾部权值相加s=s*mimi(n-1);s+=a[n+1];printf("%lld\n",s%1000000007);}return 0;
}

2017hdu新生赛 1005 整数的Alvin值相关推荐

  1. 杭电2017新生赛1005-整数的Alvin值

    整数的Alvin值 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  2. 2015GPNU新生赛题解

    2015GPNU新生赛题解 今年的题目结合了往年的题目和华工,华师新生赛题目,确实是历年最难. * 1001 * Problem Description 最近ACM协会各种各样的费用都要申报,会长一时 ...

  3. 2019年安徽大学ACM/ICPC实验室新生赛题解

    本文仅作个人收藏学习使用 题目及解析来源牛客竞赛网 //作者:王清楚 //链接:https://ac.nowcoder.com/discuss/351408?type=101&order=0& ...

  4. CTF新生赛之Writeup

    CTF新生赛之Writeup 作为零基础的新生,也是在开学后才了解了CTF,感觉本次新生赛中颇有收获,也是应赛制要求,故写下这份WP,以纪念本人的第一次CTF竞赛. 回顾和感想 回顾本次的新生赛,难度 ...

  5. BUU [ACTF新生赛2020]Universe_final_answer

    [ACTF新生赛2020]Universe_final_answer 首先查壳, 64bit 无壳 ida64位打开 main() __int64 __fastcall main(int a1, ch ...

  6. HNUCM信息科学与工程学院第二届新生赛——正式赛

    HNUCM信息科学与工程学院第二届新生赛--正式赛 简单题 A:Yftc的字符串转换 题目描述 Ytfc来到了一个魔法密林,里面住着一只魔法兔子,Yftc想去见见这只魔法兔子,但是这个魔法密林很奇怪, ...

  7. SCU新生赛2021 pwn wp

    前段时间的极客大挑战2021和2021年的SCU新生赛,最后一道题都没有做出来,作为一枚大二学长确实应该反省一下自己了.太菜了呜呜呜.极客大挑战因为打太久了,题目都快忘记了,就不写wp了. ret2t ...

  8. 2016中北大学ACM程序设计新生赛题解

    新生赛题目地址 a or an 输入字符串后判断第一个字符是不是'a','e','i','o','u',即可. #include<algorithm> #include <iostr ...

  9. QLU ACM 2018新生赛解题报告

    QLU ACM 2018 新生赛解题报告 A [1303]约数个数 题目描述 输入 输出 解析 B [1301]Alice and Bob 题目描述 输入 解析 C [1289] 黑白黑 题目描述 输 ...

最新文章

  1. Dialog的使用(一):用AlertDialog提示
  2. python坐牢-为什么说炒股要保护好本金 ?
  3. Swift中文教程(二十一) 协议
  4. 溜达列表的鼠标HOVER变色
  5. pythonddos防御_一个自动封IP防御DDOS脚本
  6. c语言实现运输问题表上作业法,运输问题表上作业法
  7. JVM 核心技术 22 讲
  8. 图像的灰度化、二值化
  9. vue 中使用 pug
  10. 【软件project】 文档 - 银行业务管理 - 需求分析
  11. 【网络安全】练习与复习十二
  12. 路由器设置技巧之-台式机如何无线上网
  13. requests.exceptions.SSLError: HTTPSConnectionPool(host=‘edith.xiaohongshu.com‘, port=443): Max retri
  14. filter- 配置多过滤url
  15. labelshop更改打印机_如何快速掌握标签打印软件LabelShop中的功能
  16. Linux7.3安装yum工具,Red Hat Enterprise Linux 7.3更换CentOS 7 yum源
  17. 华为hn–wx9x笔记本电脑_华为荣耀9怎样无线连接电脑。
  18. “骑驴找马”被上司发现了,怎么办?
  19. 央企79号文助推信创,江民科技持续占据终端安全市场第一梯队
  20. 【毕业设计】 大数据地铁客流数据分析系统 - python

热门文章

  1. 【Java结合EasyExcel,模板文件填充并导出Excel】
  2. 13篇基于Anchor free的目标检测方法
  3. BZOJ3668[NOI2014] 起床困难综合症
  4. 关于FPR和FNR (I类错误和II类错误)
  5. C++ 多线程之带返回值的线程处理函数
  6. 睡吧宝贝 - 贝瓦儿歌
  7. 西安vr虚拟现实,工地安全教育VR体验,院校vr虚拟仿真实训系统,3d虚拟仿真交互系统开发
  8. win11更新失败怎么办 Windows11更新失败错误代码0x80070003的解决方法
  9. 初学Java接口,(USB接口)
  10. 深刻理解计算机补码的含义