首页 > 其他分享 >CF1514B AND 0, Sum Big-不学数学,你怎么会有进步呢?qaq

CF1514B AND 0, Sum Big-不学数学,你怎么会有进步呢?qaq

时间:2022-09-30 17:36:40浏览次数:74  
标签:CF1514B qaq int Big ll 元素 个数 Sum

Problem - 1514B - Codeforces

题意:给定n,k

元素为[0,2^k-1],(一共2^k个数),选n个数组成数列,使得

1:所有元素的&的和为0

2:所有元素的和尽量大

解:

假如n=2,k=2.可知元素只有2位

0:00

1:01

2:10

3:11

由条件1:数列的元素中,每一位至少有1个0

那么(0,2),(1,3)或(0,3),(1,2),都是可以的

但是有条件2的限制,那么只有(0,3),(1,2)是可以的

也就是说(0,3)比(0,2)更优

ans=2

注意到有k位,那么对于一个位,要选k次

又根据条件2,则每位选,有n个可能(只选n个数,可以保证)

由乘法原理:ans=n^k

假如k=3

0:000

1:001

2:010

3:011

4:100

5:101

6:110

7:111

n=1,只能选0

n=2,(0,7),(2,5),(4,3)(1,6)res=4*2=8=2^3

也就是说:对于每一位,n个元素,选1个元素此位为0,其余n-1个元素此位为1

对于每一位的每一个0,选择的可能为n个(只需要n个)

#include<bits/stdc++.h>
using namespace std;
using ll=long long;
const ll p=1e9+7;
ll qpow(ll a,ll x)
{
    ll y=1ll;
    while(x>0)
    {
        if(x&1)y=y*a%p;
        a=a*a%p;
        x>>=1;
    }
    return y;
}
int main()
{
    int t;cin>>t;
    while(t--)
    {
        ll n,k;cin>>n>>k;
        cout<<qpow(n,k)<<"\n";
    }
    return 0;
}

 

标签:CF1514B,qaq,int,Big,ll,元素,个数,Sum
From: https://www.cnblogs.com/FeiShi/p/16745611.html

相关文章

  • BigInteger精讲
    BigInteger初识在java的整数类型里面,byte为8位,short为16位,int为32位,long为64位。正因为这些数值的二进制位数已经固定,所以它们能表示的数值大小就有一定的范围限制。如......
  • java 注解方式实现Bigdecimal保留两位小数
    1.新建类  BigDecimalSerializerimportcn.hutool.core.util.ObjectUtil;importcom.fasterxml.jackson.core.JsonGenerator;importcom.fasterxml.jackson.databind.......
  • day-3 jdk的安装与Java环境的配置。(补发,昨天实验室关门了qaq我没钥匙)
    卸载jdk删除Java的安装目录删除系统高级设置中环境变量的Java—home删除path中Java相关的目录cmd中查看Java-version 安装jdk下载jdk版本记住安装......
  • BigData——HDFS操作
    HDFSshell操作配置hadoop环境变量vi/etc/profileexportHADOOP_HOME=/usr/local/soft/hadoop-2.6.0exportPATH=.:\$JAVA_HOME/bin:\$HADOOP_HOME/bin:$PATH然后执......
  • BigData——MapReduce
    MapReduce上图是MapReduce的任务处理过程概述MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题.MapReduce是分布式运行的,由两个阶......
  • BigData——Hbase Shell的用法
    HbaseShell的用法whoami我是谁whoamiversion返回hbase版本信息versionstatus返回hbase集群的状态信息statustable_help查看如何操作表......
  • BigData——安装Hbase
    安装hbase1.解压缩hbase的软件包,使用命令:tar-zxvfhbase-1.3.0-bin.tar.gz2.进入hbase的配置目录,在hbase-env.sh文件里面加入java环境变量.即:exportJAVA_HOME=/bigda......
  • BigData——Hive安装
    Hive安装首先安装MySQL1、查看mysql的依赖rpm-qa|grepmysql2、删除mysql的依赖rpm-e--nodeps`rpm-qa|grepmysql`rpm-e--nodeps`rpm-qa|grepMyS......
  • 使用 BigQuery ML 的自动化机器学习 (AutoML)。轻松启动机器学习并验证 ML 是否值得投
    使用BigQueryML的自动化机器学习(AutoML)。轻松启动机器学习并验证ML是否值得投资。机器学习在许多行业中变得越来越流行,从金融到营销再到医疗保健。但让我们面对......
  • big O--O(n)--linear time
    n个元素需要n个操作O(n)......