【解析】Alice and Bob_24行代码AC
立志用最少的代码做最高效的表达
Alice and Bob like playing games very much.Today, they introduce a new game.
There is a polynomial like this: (a0x(20)+1) * (a1 * x(21)+1)…*(an-1 * x(2(n-1))+1). Then Alice ask Bob Q questions. In the expansion of the Polynomial, Given an integer P, please tell the coefficient of the x^P.
Can you help Bob answer these questions?
Input
The first line of the input is a number T, which means the number of the test cases.For each case, the first line contains a number n, then n numbers a0, a1, … an-1 followed in the next line. In the third line is a number Q, and then following Q numbers P.
1 <= T <= 20
1 <= n <= 50
0 <= ai <= 100
Q <= 1000
0 <= P <= 1234567898765432
Output
For each question of each test case, please output the answer module 2012.
Sample Input
1
2
2 1
2
3
4
Sample Output
2
0
解析
题意:输入a1−ana1-ana1−an,输入ppp,问输出xpx^pxp次方前面的系数是多少
解析:不难看出是一道规律推导题。
写出前三项相乘的结果:
(a0∗x+1)∗(a1∗x2+1)∗(a2∗x4+1)=a0a1a2∗x7+a1a2∗x6+a0a2∗x5+a2∗x4+...(a_0*x+1)*(a_1*x^2+1)*(a_2*x^4+1)=a_0a_1a_2*x^7+a_1a_2*x^6+a_0a_2*x^5+a_2*x^4+...(a0∗x+1)∗(a1∗x2+1)∗(a2∗x4+1)=a0a1a2∗x7+a1a2∗x6+a0a2∗x5+a2∗x4+...
进而推导出:xpx^pxp的系数,就是按二进制位数取1的位子上相乘的值。
#include<bits/stdc++.h>
using namespace std;
typedef long long gg;
gg a[100];
int main() {int T; cin >> T; while(T--) {memset(a, 0, sizeof(a));int n; cin >> n; for(int i = 0; i < n; i++) cin >> a[i];int q; cin >> q;for(int i = 0; i < q; i++) {gg sum = 1, k = 0; //存放结果 gg p; cin >> p;while(p) {if(p%2 == 1) sum = (sum*a[k])%2012; k++;p /= 2;}cout << sum << '\n'; }}return 0;
}
【解析】Alice and Bob_24行代码AC相关推荐
- 12行代码AC——L1-058 6翻了(15分)
立志用更少的代码做更高效的表达 "666"是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字"9",意思是"6翻了&quo ...
- 15行代码AC——1019 数字黑洞 (20分) 甲级1069. The Black Hole of Numbers (20)(解题报告)
立志用更少的代码做更高效的表达 PAT甲级最优题解-->传送门 Pat乙级最优化代码+题解+分析汇总-->传送门 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非 ...
- 7行代码AC——1010 一元多项式求导 (25分)
立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 设计函数求一元多项式的导数.(注:xn(n为整数)的一阶导数为n*xn-1 .) 输入格式: 以指数递降 ...
- 解题报告+优化——试题 基础练习 矩形面积交——16行代码AC
励志用少的代码做高效的表达. 心路历程: 第一阶段: 最初想独立AC出这题来着,但考虑来考虑去,总觉得没想到点子上,缺点什么似的.于是搜网,果不其然,是一种全新的算法"线段交".当 ...
- 【简洁代码】1028 List Sorting (25 分)_26行代码AC
立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 Excel can sort records according to any column. Now you are suppo ...
- 15行代码AC——ZOJ - 4118 Stones in the Bucket(思维题+优化方案)(第十届山东省ACM程序设计竞赛F题)
励志用少的代码做高效表达. 思路分析 题意:给定n个数,问最少操作几次,使数列中的数全部相等. 操作一:将数列中任意数减一. 操作二:将数列中任意数减一.任意数加一(相当于把1挪过去) 涉及到最少的题 ...
- 16行代码AC——例题6-4破损的键盘(Broken Keyboard,UVa 11988)——解题报告
励志用尽量少的代码做高效的表达. 题目(提交)链接→UVa-11988 题目大意: 输入一个字符串,输出在原本应该是怎么样的? 具体方法是: 若读取到'[', 则执行Home键:将光标移到行首. 若读 ...
- 21行代码AC——习题5-1 代码对齐(Alignment of Code, UVa1593)——解题报告
题意: 输入若干行代码,要求各列单词的左边界对齐且尽量靠左,单词之间至少要空一格,每个单词不超过80个字符,每行不超过180个字符,一共最多1000行. 思路: 1.输入内容存入二维数组 2.找出每列 ...
- 高效万进制——蓝桥杯|HDOJ 1002 大数加法——30行代码AC
浅谈进制思想: 日常生活中我们习惯用十进制去运算: 为了方便电脑识别开发出了二进制,又因为2^3=8 , 2^4=16,因此应运而生了八进制与16进制. 世上本没有路,走的人多了,也便成了路,那么既然 ...
最新文章
- 动态规划 最小编辑代价
- 如何利用远程桌面连接CentOS的Desktop版本
- Fliptile (dfs+二进制压缩)
- 【数据库】-基本特性
- linux优先级队列,Python3 线程优先级队列( Queue)
- python创建一个json_如何为Python选择一个更快的JSON库
- lambda表达式对list排序
- 算法合集之《信息学中守恒法的应用》
- linux的源码安装步骤(以安装nginx为例)
- EEGLAB教程-1.2通道定位
- zabbix监控软件的安装,详细教程
- 详解win11系统的硬件最低配置要求
- Java数字转化为阿拉伯数字_Java实现中文数字转换为阿拉伯数字
- 使用STM32进行Flash地址空间的数据读取
- 简答实现登录注册(需要导入JQ库)
- php如修改登陆后连接地址,两种wordpress更换后台登录界面logo图标方法
- 常见锐捷光模块型号大全
- Wi-Fi 7全新升级,小米蓄势待发!
- 网络变压器厂家分享:网络变压器(网络滤波器﹑网络隔离变压器)及作用;
- Git中smart Checkout与force checkout
热门文章
- 如何从0搭建公司的后端技术栈
- [Kafka与Spark集成系列三] Spark编程模型
- 理解HTTP协议中的multipart/form-data
- 内联函数和编译器对Go代码的优化
- UPYUN CDN 高可用架构实践
- nginx之rtmp模块引用计数设计
- centos 7.x 实现免密登录
- undefined: grpc.SupportPackageIsVersion6 和 undefined: grpc.ClientConnInterface 解决办法
- java异常 The origin server did not find a current representation for the target resource or is not
- Hive belline提交命令Error: org.apache.thrift.transport.TTransportException: java.net.SocketException: