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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

2020-2021年度第二届全国大学生算法设计与编程挑战赛 (秋季赛)-正式赛-详细题解

發布時間:2025/3/8 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2020-2021年度第二届全国大学生算法设计与编程挑战赛 (秋季赛)-正式赛-详细题解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • A小x的奇遇-adventure
  • B數位dp-dp
  • F大數據分析-data

A小x的奇遇-adventure




#include <cstdio>const int N = 1e6 + 5; int tot, p[N]; bool flg[N];void sieve(int n){for(int i=2; i<=n; i++){if(!flg[i]){p[++tot] = i;}for(int j=1; j<=tot&&i*p[j]<=n; ++j){flg[i*p[j]] = 1;if(i%p[j]==0){break;}}} } long long phi(long long x){long long ans = x;for(int i=1; i<=tot&& 1ll*p[i]*p[i]; ++i){if(x%p[i]){continue;}ans = ans/p[i]*(p[i]-1);while(x%p[i]==0){x /= p[i];}}if(x>1){ans = ans / (x * (x - 1));}return ans; }int main() {sieve(N - 5);long long n, k;scanf("%llld%lld", &n, &k);k = (k + 1) / 2;for(long long i=1; i<=k&&n>1; ++i){n = phi(n);}printf("%lld\n", n%1000000007);return 0; }

B數位dp-dp

#include <iostream> #include <cmath> using namespace std; int work(int x){int L = 0, R = -1, lst = -1; //L最高位 R最低位 lst上一位數 while(x){int tmp = x % 10;L = tmp; if(R==-1){R = tmp;}/*相鄰來兩位>7*/ if(lst!=-1){if(abs(tmp-lst)>7){return 0;}}lst = tmp;x /= 10;}/*最高位和最低位差值>2*/return abs(R-L)>2; }int main(){int cnt = 0;for(int i=13930; i<=457439; i++){cnt += work(i);}cout<<cnt;return 0; }

F大數據分析-data


#include <iostream> using namespace std; int main(){//ans累計,now當前的那個數 long long ans = 1, now = 1, MOD = 1000000007ll;for(int i=2; i<=30; i++){now = now * (now + 5);now %= MOD;ans += now;ans %= MOD;}cout << ans;return 0; }

總結

以上是生活随笔為你收集整理的2020-2021年度第二届全国大学生算法设计与编程挑战赛 (秋季赛)-正式赛-详细题解的全部內容,希望文章能夠幫你解決所遇到的問題。

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