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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

牛客练习赛46

發(fā)布時(shí)間:2024/10/5 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 牛客练习赛46 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Problem A?華華教奕奕寫幾何

https://ac.nowcoder.com/acm/contest/894/A

題意:

題解:思維+數(shù)學(xué)

C++版本一

/* *@Author: STZG *@Language: C++ */ #include <bits/stdc++.h> #include<iostream> #include<algorithm> #include<cstdlib> #include<cstring> #include<cstdio> #include<string> #include<vector> #include<bitset> #include<queue> #include<deque> #include<stack> #include<cmath> #include<list> #include<map> #include<set> //#define DEBUG #define RI register int #define endl "\n" using namespace std; typedef long long ll; //typedef __int128 lll; const int N=100000+10; const int M=100000+10; const int MOD=1e9+7; const double PI = acos(-1.0); const double EXP = 1E-8; const int INF = 0x3f3f3f3f; int t,n,m,k,p,l,r,u,v; int ans,cnt,flag,temp,sum; int a[N]; char str; struct node{}; int main() { #ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout); #endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);//while(t--){scanf("%d",&n);printf("%.3f\n",2*sqrt(n/PI));//}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC); #endif//cout << "Hello world!" << endl;return 0; }

Problem B?華華送奕奕小禮物

https://ac.nowcoder.com/acm/contest/894/B

題意:

題解:前綴和+二分

C++版本一

/* *@Author: STZG *@Language: C++ */ #include <bits/stdc++.h> #include<iostream> #include<algorithm> #include<cstdlib> #include<cstring> #include<cstdio> #include<string> #include<vector> #include<bitset> #include<queue> #include<deque> #include<stack> #include<cmath> #include<list> #include<map> #include<set> //#define DEBUG #define RI register int #define endl "\n" using namespace std; typedef long long ll; //typedef __int128 lll; const int N=1000+10; const int M=1000000+10; const int MOD=1e9+7; const double PI = acos(-1.0); const double EXP = 1E-8; const int INF = 0x3f3f3f3f; int t,n,m,k,p; ll l,r,u,v; ll ans,cnt,flag,temp,sum[2][N]; int a[N],b[N]; ll A[M]; char str; struct node{}; int main() { #ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout); #endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);//while(t--){scanf("%d%d%lld%lld",&n,&m,&l,&r);for(int i=1;i<=n;i++)scanf("%d",&a[i]),sum[0][i]=sum[0][i-1]+a[i];for(int i=1;i<=m;i++)scanf("%d",&b[i]),sum[1][i]=sum[1][i-1]+b[i];for(int i=1;i<=n;i++){for(int j=0;j<i;j++){A[++cnt]=sum[0][i]-sum[0][j];}}sort(A+1,A+cnt+1);for(int i=1;i<=m;i++){for(int j=0;j<i;j++){temp=sum[1][i]-sum[1][j];ans+=(upper_bound(A+1,A+cnt+1,(double)r/temp)-lower_bound(A+1,A+cnt+1,(double)l/temp));}}cout<<ans<<endl;//}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC); #endif//cout << "Hello world!" << endl;return 0; }

Problem C?華華跟奕奕玩游戲

https://ac.nowcoder.com/acm/contest/894/C

題意:

C++版本一

題解:矩陣快速冪

/* *@Author: STZG *@Language: C++ */ #include <bits/stdc++.h> #include<iostream> #include<algorithm> #include<cstdlib> #include<cstring> #include<cstdio> #include<string> #include<vector> #include<bitset> #include<queue> #include<deque> #include<stack> #include<cmath> #include<list> #include<map> #include<set> //#define DEBUG #define RI register int #define endl "\n" using namespace std; typedef long long ll; //typedef __int128 lll; const int N=100+10; const int M=100000+10; const int MOD=1e9+7; const double PI = acos(-1.0); const double EXP = 1E-8; const int INF = 0x3f3f3f3f; int t,n,m,k; ll q,p,l,r,u,v; int cnt,flag,temp,sum; int a,b; char str; struct node{}; ll POW(ll a,ll b,ll c){ll res=1;ll base=a%c;while(b){if(b&1)res=(res*base)%c;base=(base*base)%c;b>>=1;}return res; } struct Matrix{int n;Matrix(int nn = 1):n(nn){ memset(a,0,sizeof(a));};long long a[N][N];void print(){for(int i = 0;i <= n; ++i)for(int j= 0;j <= n; ++j)printf("%lld%c",a[i][j]," \n"[j==n]);}Matrix operator*(const Matrix &b)const{Matrix c(n);for(int i = 0;i <= n; ++i){for(int j = 0;j <= n; ++j){for(int k = 0;k <= n; ++k){c.a[i][j] += a[i][k] * b.a[k][j];c.a[i][j] %= MOD;}}}//c.print();return c;} }; Matrix ans,fac; void MatrixPOW(ll k){while(k){if(k&1)ans=ans*fac;fac=fac*fac;k>>=1;//ans.print();} } void init(){ans.n = fac.n = 2;ans.a[0][0] = n;ans.a[0][1] = (p*q)%MOD;fac.a[0][0] = q;fac.a[1][0] = 1;fac.a[1][1] = 1; } int main() { #ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout); #endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);//while(t--){scanf("%d%d%d%d%d",&n,&m,&k,&a,&b);p=(a*POW(b,MOD-2,MOD))%MOD;q=((n+m)*POW(n+m+1,MOD-2,MOD))%MOD;init();MatrixPOW(k);cout<<ans.a[0][0]<<endl;//}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC); #endif//cout << "Hello world!" << endl;return 0; }

C++版本二?

題解:數(shù)學(xué)+數(shù)列

?

/* *@Author: STZG *@Language: C++ */ #include <bits/stdc++.h> #include<iostream> #include<algorithm> #include<cstdlib> #include<cstring> #include<cstdio> #include<string> #include<vector> #include<bitset> #include<queue> #include<deque> #include<stack> #include<cmath> #include<list> #include<map> #include<set> //#define DEBUG #define RI register int #define endl "\n" using namespace std; typedef long long ll; //typedef __int128 lll; const int N=100+10; const int M=100000+10; const int MOD=1e9+7; const double PI = acos(-1.0); const double EXP = 1E-8; const int INF = 0x3f3f3f3f; int t,n,m,k; ll q,p,l,r,u,v; ll ans,cnt,flag,temp,sum; int a,b; char str; struct node{}; ll POW(ll a,ll b,ll c){ll res=1;ll base=a%c;while(b){if(b&1)res=(res*base)%c;base=(base*base)%c;b>>=1;}return res; } int main() { #ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout); #endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);//while(t--){scanf("%d%d%d%d%d",&n,&m,&k,&a,&b);p=(a*POW(b,MOD-2,MOD))%MOD;q=((n+m)*POW(n+m+1,MOD-2,MOD))%MOD;ll qk=POW(q,k,MOD);ll tmp=(q*POW((q-1+MOD)%MOD,MOD-2,MOD))%MOD;tmp=(tmp*((qk-1+MOD)%MOD))%MOD;ans=((n*qk)%MOD+(p*tmp)%MOD)%MOD;cout<<ans<<endl;//}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC); #endif//cout << "Hello world!" << endl;return 0; }

Problem D?華華陪奕奕打怪獸

https://ac.nowcoder.com/acm/contest/894/D

題意:

題解:

C++版本一

?

Problem E?華華和奕奕學(xué)物理

https://ac.nowcoder.com/acm/contest/894/E

題意:
若op==1,輸入v,t,m,表示在t時(shí)刻從無窮高處以初速度v垂直向下拋出一個(gè)質(zhì)量為m的小球。
若op==2,輸入v,t。表示詢問t時(shí)刻所有速度小于等于v的小球的動(dòng)能之和是多少。

題解:樹狀數(shù)組+數(shù)學(xué)+物理

C++版本一題解:

若某一時(shí)刻a球比b球速度快,則a球始終比b球速度快。取T=300000。對(duì)于1操作 v1,t1,m1。可以算出V1=v1+g*(T-t1)。對(duì)于2操作,可以算出V2=v2+g*(T-t2)。則需要查詢的小球即是滿足V1<=V2的小球。然后根據(jù)公式m1*(v1+g*(t2-t1))^2,拆開,維護(hù)6個(gè)樹狀數(shù)組即可。

/* *@Author: STZG *@Language: C++ */ #include <bits/stdc++.h> #include<iostream> #include<algorithm> #include<cstdlib> #include<cstring> #include<cstdio> #include<string> #include<vector> #include<bitset> #include<queue> #include<deque> #include<stack> #include<cmath> #include<list> #include<map> #include<set> //#define DEBUG #define RI register int #define endl "\n" using namespace std; typedef long long ll; //typedef __int128 lll; const int N=4000000+10; const int M=100000+10; const int T=300000; const int MOD=1e9+7; const double PI = acos(-1.0); const double EXP = 1E-8; const int INF = 0x3f3f3f3f; int t,n,m,k,p,l,r,u,v,g=10; ll ans,cnt,flag,temp; ll bit[8][N]; void add(ll b[],int i,ll C){while(i<N){b[i]=(b[i]+C)%MOD;i+=i&-i;} } ll sum(ll b[],int i){ll ans=0;while(i>0){ans+=b[i];i-=i&-i;}return ans%MOD; } int main() { #ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout); #endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);//while(t--){scanf("%d",&n);while(n--){scanf("%d",&p);if(p==1){scanf("%d%d%d",&v,&t,&m);int V=v+g*(T-t);add(bit[1],V,1LL*m*v%MOD*v%MOD);add(bit[2],V,1LL*m*g*g%MOD);add(bit[3],V,1LL*m*g*g%MOD*t%MOD*t%MOD);add(bit[4],V,1LL*2*m*g*g%MOD*t%MOD);add(bit[5],V,1LL*2*m*v%MOD*g%MOD);add(bit[6],V,1LL*2*m*v%MOD*g*t%MOD);}else{scanf("%d%d",&v,&t);int V=min(v+g*(T-t),N-1);ans=0;ans+=sum(bit[1],V);ans+=sum(bit[2],V)*t%MOD*t%MOD;ans+=sum(bit[3],V);ans-=sum(bit[4],V)*t%MOD;ans+=sum(bit[5],V)*t%MOD;ans-=sum(bit[6],V);ans=(ans%MOD+MOD)%MOD;printf("%lld\n",ans);}}//}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC); #endif//cout << "Hello world!" << endl;return 0; }

Problem F?華華和奕奕的旅行

https://ac.nowcoder.com/acm/contest/894/F

題意:

題解:

C++版本一

總結(jié)

以上是生活随笔為你收集整理的牛客练习赛46的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 九色在线 | 日本色呦呦 | 黄色三级视频在线观看 | 久久婷婷视频 | gogo人体做爰大胆视频 | 欧美黄色片免费看 | 午夜精品久久久久久久久久久久久 | 嫩草网站 | 久久久精品综合 | 精品福利电影 | 日本在线二区 | 日韩一级伦理片 | 国产精品入口麻豆 | 日韩在线中文 | 光棍影院手机版在线观看免费 | 真实的国产乱xxxx在线 | 久久精品视频在线观看 | 好看的av在线 | 在线黄色网页 | 用力抵着尿进去了h | 人妻互换一区二区激情偷拍 | 最新日韩三级 | 日韩va在线观看 | 日韩一级免费片 | 欧美国产视频一区 | 在线观看国产精品视频 | 欧美男人天堂 | 色婷综合 | 伊人影院在线播放 | 熟女熟妇伦久久影院毛片一区二区 | av永久免费网站 | 嫩草影院av| 亚洲天堂一区二区 | 99re在线视频免费观看 | 国产愉拍 | 国产69精品久久久久999小说 | 日本天堂在线观看 | 91精品区| 91日日夜夜 | a级在线观看 | 奶水旺盛的少妇在线播放 | 国产午夜毛片 | 伊人情人综合 | 直接看毛片 | 一本色道久久综合熟妇 | 五月婷婷社区 | 日韩免费在线播放 | 日韩中文字幕在线视频 | 精品国产视频一区二区 | 色哟哟精品一区 | 永久免费看片在线观看 | 7777精品久久久久久 | 国产一级淫| 波多野结衣视频网址 | 亚洲欧洲精品一区 | 少妇人妻无码专区视频 | 欧美成人综合在线 | 中文字幕xxx | 99热这里是精品 | 久久久久久久久久久久久久久久久久久久 | 国产在线免费av | 欧美一区二区三区国产 | 日本一区二区免费在线观看 | 亚洲区在线| 婷婷深爱激情 | 日批在线观看视频 | 九九九九精品九九九九 | 老司机福利av | 免费成人毛片 | 奇米影视888 | 好色先生tv官网 | 亚洲另类一区二区 | 在线免费观看中文字幕 | 欧美一级性生活 | 亚洲一二三级 | 日韩免费观看一区二区 | 九九综合九九综合 | 久久久精品国产免费爽爽爽 | 污污的视频在线免费观看 | 国产剧情av麻豆香蕉精品 | 医生强烈淫药h调教小说视频 | 在线麻豆av| 爱av导航| 奇米视频在线观看 | 午夜精品在线视频 | 国产黑丝一区二区 | 黄色片视频免费看 | 亚洲区成人 | 国产免费久久久 | 久久66热这里只有精品 | 国产日产精品一区 | 欧美一级性视频 | 人妻精品一区二区三区 | 国产视频资源 | 激情综合网av | 奇米一区二区 | 夜夜操综合 | 色综合av在线 | 欧美午夜在线视频 |