Codeforces1514B
问题描述
- 给你两个数n,k,问可以构造多少n个最大位数为k数按位与为0并且这n个数加起来最大的合法序列,答案对1e9 + 7取模。
思路分析
- 首先我们考虑这n个数按位与以后为0这个条件:我们可以知道,如果按位与为0的话,就代表着这n个数在每一位至少有一个数在这一位为0。
- 其次考虑和最大,那么我们就可以这样想,既然每一位都会至少有一个数在这一位上为0,那么肯定是刚好一一对应最好,不然这些数加起来不会是最大。
- 因此,我们对于每一位,都可以找到n个数来取0,所以答案就是n^k。
代码如下
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const ll mod = 1000000007;
ll qpow(ll a, ll b, ll p)
{
ll ans = 1;
while (b)
{
if (b & 1)
ans = ans * a % mod;
a = a * a % mod;
b >>= 1;
}
return ans % mod;
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t;
cin >> t;
while (t--)
{
ll n, k;
cin >> n >> k;
ll ans = qpow(n, k, mod) % mod;
cout << ans << endl;
}
return 0;
}
Codeforces1514B的更多相关文章
随机推荐
- Redis核心原理与实践--字符串实现原理
Redis是一个键值对数据库(key-value DB),下面是一个简单的Redis的命令: > SET msg "hello wolrd" 该命令将键"msg&q ...
- noip模拟38
\(\color{white}{\mathbb{深秋总有廖落处,雁归每是菊败时,名之以:残菊}}\) 这场比赛几乎全场都在打暴力,几乎人均切掉的 \(t1\) 没有想到双指针,\(t3\) 的暴力也没 ...
- NOIP模拟38:a
这是T1. 考场上思路与正解就差个前缀,打的线段树,因为其巨大常数快乐挂掉...... 正解复杂度是\(O(n^2m)\),其实再挂个\(log\)也能过,但是需要用常数极其优秀的树状数组 ...
- 动环监控系统中B接口的实现
动环监控系统简述 1.术语介绍 1.1 省集中监控中心-Province Supervision Center(PSC) 面向多FSU管理的高级监控层次,即省集中监控中心,通过开放的数据协议,连接监控 ...
- SpringBoot-初见
目录 简单介绍 什么是SpingBoot? 微服务 单体应用架构 微服务架构 怎么构建微服务 第一个SpringBoot程序 官方网站快速构建 IDEA 代码 自动装配(要点) pom.xml 启动器 ...
- 取消input默认提示框
input输入框有自动保存记忆功能,点击的时候之前输入的内容会在下拉框自动提示 autocomplete="off",这是H5的一个属性. <input type=" ...
- 关联数组VS索引数组
关联数组和常规说的数组类似,它包含标量抄数据,可用索引值来单独选择这些数据,和常规数组不同的是, 关联数组的索引值不是非负的整数而是任意的标量袭.这些标量称为百Keys,可以在以后用于检索数组中的数值 ...
- js简单化技巧
1.交换两个变量而没有第三个 let x = 1;let y = 2;[x, y] = [y, x];console.log(x, y); 输出: 2 1 2.将数字转换为字符串 const num ...
- CentOS linux系统将UTC时间修改为CST时间
1.编辑时间配置文件 1 2 3 4 # vi /etc/sysconfig/clock ZONE="Asia/Shanghai" UTC=false ...
- 彻底搞明白PHP中的include和require
在PHP中,有两种包含外部文件的方式,分别是include和require.他们之间有什么不同呢? 如果文件不存在或发生了错误,require产生E_COMPILE_ERROR级别的错误,程序停止运行 ...