日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据范围BZOJ 3209(花神的数论题-数位统计+1,被数据范围坑了)

發布時間:2024/9/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据范围BZOJ 3209(花神的数论题-数位统计+1,被数据范围坑了) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PS:今天上午,非常郁悶,有很多簡單基礎的問題搞得我有些迷茫,哎,代碼幾天不寫就忘。目前又不當COO,還是得用心記代碼哦!

????

????

3209: 花神的數論題

????Time Limit:?

????10 Sec??

????Memory Limit:?

????128 MB

????Submit:?

????33??

????Solved:?

????18

????[

????Submit

????][

????Status

????][

????Discuss

????]

????

????

Description

????

背景
盡人皆知,花神多年來憑借無邊的神力狂虐各大 OJ、OI、CF、TC …… 當然也包含 CH 啦。
描述
話說花神這天又來講課了。課后按例有超級難的神題啦…… 我等蒟蒻又遭殃了。
花神的標題是這樣的
設 sum(i) 表現 i 的二進制表現中 1 的個數。給出一個正整數 N ,花神要問你
派(Sum(i)),也就是 sum(1)—sum(N) 的乘積。

?

????

Input

????

一個正整數 N。

?

????

Output

????

一個數,答案模 10000007 的值。

?

????

Sample Input

????

樣例輸入一

3

????

Sample Output

????

樣例輸出一

2

????

HINT

每日一道理
微笑著,去唱生活的歌謠,不要埋怨生活給予了太多的磨難,不必抱怨生命中有太多的曲折。大海如果失去了巨浪的翻滾,就會失去雄渾;沙漠如果失去了飛沙的狂舞,就會失去壯觀。人生如果僅去求得兩點一線的一帆風順,生命也就失去了存在的意義。

????

?



對于樣例一,1*1*2=2;


數據范圍與約定


對于 100% 的數據,N≤10^15

?

????

Source

????

原創 Memphis

????

????[

????Submit

????][

????Status

????][

????Discuss

????]

????

????

????好吧……這題一開始的范圍是N<=1015

????然后我很天真的認為這不水嗎^?結果……

????好吧……

????之后要來數據以后才發明……

????n<=10^15

????只有我這類蒟蒻會被這個騙……

????

????被各種D……

????

????Ok,那么這題就是數位統計了……

????剛學的……(還在學這個<-弱)

#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #include<algorithm> #include<functional> #include<cmath> #include<cctype> using namespace std; #define For(i,n) for(int i=1;i<=n;i++) #define Rep(i,n) for(int i=0;i<n;i++) #define Fork(i,k,n) for(int i=k;i<=n;i++) #define ForD(i,n) for(int i=n;i;i--) #define Forp(x) for(int p=pre[x];p;p=next[p]) #define RepD(i,n) for(int i=n;i>=0;i--) #define MAXN (100000) #define MAXL (50+10) #define F (10000007) int a[MAXN],len=0; long long C[MAXL][MAXL]; long long n; long long calc(int k) {long long ans=0;ForD(i,len){if (a[i]){ans+=C[i-1][k];k--;}if (k<0) return ans;}return ans; } long long pow2(long long a,long long b) {if (b==0) return 1;if (b==1) return a;long long tmp=pow2(a,b/2);tmp=tmp*tmp%F;if (b%2) tmp=(tmp*a)%F;return tmp; } int main() { // freopen("flower1.in","r",stdin); // freopen(".out","w",stdout);Rep(i,50){C[i][0]=1;For(j,i) C[i][j]=(C[i-1][j]+C[i-1][j-1]);}/*cout<<pow2(2,1001)<<endl;int pp=1;For(i,1001) pp=(pp*2)%F;cout<<pp;*/while (cin>>n){n++;//cout<<n<<endl;len=0;while (n) {a[++len]=n%2;n/=2;}long long ans=1;//cout<<len<<endl;For(i,len) ans=(ans*pow2(i,calc(i)))%F;printf("%lld\n",ans);};return 0; }

????

????

????

文章結束給大家分享下程序員的一些笑話語錄: 聯想——對內高價,補貼對外傾銷的偉大“民族”企業。

--------------------------------- 原創文章 By
數據和范圍
---------------------------------

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的数据范围BZOJ 3209(花神的数论题-数位统计+1,被数据范围坑了)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。