當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
[JSOI 2015] 子集选取
生活随笔
收集整理的這篇文章主要介紹了
[JSOI 2015] 子集选取
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
4475: [Jsoi2015]子集選取
Time Limit:?1 Sec??Memory Limit:?512 MBSubmit:?363??Solved:?255
[Submit][Status][Discuss]
Description
Input
輸入包含一行兩個整數N和K,1<=N,K<=10^9
Output
一行一個整數,表示不同方案數目模1,000,000,007的值。
Sample Input
2 2Sample Output
16HINT
Source
By 佚名上傳
能看出來的話就是大水題,看不出來可能一直懵逼2333 首先每個元素互不影響,所以可以算出 S={1}的方案之后n次冪即可。 那么S={1}的方案數就是 選出一些A為0,其他的為1,而且任意一個1的右下方不能有0. 畫一個圖就可以發現,這樣的0,1分布只能是從中間一條線分開。 分割點可以一開始在Ak,1的左下方,每次可以向右或者向上移動一個單位,并且總是能k步之后到達邊界(也就是分割完成) 所以這部分的答案是 2^k。 所以最后答案直接就是 2^(n*k). #include<bits/stdc++.h> #define ll long long #define ha 1000000007 using namespace std; int n,k,x,ans; int main(){scanf("%d%d",&n,&k);k=n*(ll)k%(ha-1);ans=1,x=2;for(;k;k>>=1,x=x*(ll)x%ha) if(k&1) ans=ans*(ll)x%ha;printf("%d\n",ans);return 0; }
轉載于:https://www.cnblogs.com/JYYHH/p/8528546.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的[JSOI 2015] 子集选取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于Qt的简易聊天室设计
- 下一篇: gradle idea java ssm