HDU 4944 FSF’s game(計數遊戲)
題目連結:
http://acm.hdu.edu.cn/showproblem.php?pid=4944
題意:
給定一個長度n, 用長度為 a,b 的邊組成一個矩形 (1<=a<=b<=n) 我們可以將其組成n(n+1)/2個不同的矩形,
對於每一個矩形 我們可以得到一個val val=sigma(a*b/gcd(a/k,b/k)) 其中k為a,b的公因子,求這個val;
分析:
我們定義一個函式calu(i,j) calu(i,j)的意思是sigma{(i*j/gcd(i/k,j/k))},
則ans=sigma {calu(i,j)}(1<=i<=j<=n);
我們設dp[n]表示最大的邊長為n的邊所得到的val,
那麼dp[n]=dp[n-1]+sigma{ calu(i,n) }(1<=i<=n)
然後我們需要解決的問題就是求sigma{ calu(i,n) }(1<=i<=n);
我們先討論calu(i,n)=n*(i/c1+i/c2+...),其中cj為n和i的最大公約數d的所有因子。
那麼我們可以列舉所有n的因子j,對於因子j,存在這個因子且小於等於n的數字中有j,2*j,3*j,...,n。
我們可以得到s[j]=(1+2+3+...n/j)*n=(n/j+1)*(n/j)/2*n。
那麼val[n]=sigma{fun(i,n)}(1<=i<=n)=sigma{s[j]} (j為n的因子)。
程式碼如下:
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long LL;
const LL mod = (LL)1<<32;
const int maxn = 500010;
LL cnt[maxn],dp[maxn];
void init()
{
memset(cnt,0,sizeof(cnt));
for(LL i=1;i<maxn;i++){//列舉因子
for(LL j=i;j<maxn;j+=i)//統計因子的個數的和
cnt[j]+=(j/i+1)*(j/i)/2;
}
}
void solve()
{
dp[1]=1;
for(int i=2;i<maxn;i++){
dp[i]=(dp[i-1]+i*cnt[i])%mod;
}
}
int main()
{
int t,n,cas=1;
init();
solve();
scanf("%d",&t);
while(t--){
scanf("%d",&n);
printf("Case #%d: %I64d\n",cas++,dp[n]);
}
return 0;
}
相關文章
- HDU 1729 Stone GameGAM
- Switch Game HDU - 2053GAM
- 【博弈論】HDU - 7216 Triangle GameGAM
- wordle game 猜字遊戲GAM遊戲
- HDU 6415 (計數dp)
- 55-jump Game 跳躍遊戲GAM遊戲
- HDU 3074 Multiply game(線段樹 單點更新)GAM
- leetcode 679. 24 Game(遊戲24點)LeetCodeGAM遊戲
- 網易遊戲周家科:從體驗推進遊戲美術設計丨N.GAME遊戲GAM
- 蓋世計劃-0724-B班模擬 C. 遊戲 (game)遊戲GAM
- Facebook Instant Game 小遊戲上傳的遊戲包有大小限制GAM遊戲
- HDU 4738 Caocao's Bridges(Tarjan)
- Caocao's Bridges(HDU-4738)
- Game Informer :免費遊戲變好玩了嗎?GAMORM遊戲
- Flutter Flame 教程2 -- Game Loop遊戲迴圈FlutterGAMOOP遊戲
- facebook instant game 釋出指南-小遊戲 SDKGAM遊戲
- 模擬經營類遊戲(Simulation Game)綜述遊戲GAM
- 「殺時間」遊戲:爆火之後,Game Over?遊戲GAM
- Video Game Sales(電子遊戲銷售資料)IDEGAM遊戲
- Facebook Instant Game 怎麼改善遊戲表現形式GAM遊戲
- pc game pass遊戲列表介紹 pgp會員最新免費遊戲大全GAM遊戲
- 《The Art of Game Design》不愧是遊戲設計書籍中的扛鼎之作GAM遊戲設計
- 遊戲設計靈感發源地《Game UI Database》資料庫網站上線遊戲設計GAMUIDatabase資料庫網站
- Facebook Instant Game何配置應用,以及如何提供遊戲的藝術設計作品GAM遊戲
- 遊戲常用執行庫 合集 | Game Runtime Libraries Package(2.1.24.0618)遊戲GAMPackage
- Facebook Instant Game小遊戲開發 如何接入 AUDIENCE NETWORKGAM遊戲開發
- HDU 6058 Kanade's sum(連結串列)
- 《邪惡冥刻》:對元遊戲(meta Game)的重新理解遊戲GAM
- Game:2020年德國遊戲市場同比增長32%GAM遊戲
- 助力遊戲夢!2019網易遊戲高校MINI-GAME挑戰賽報名開啟!遊戲GAM
- hdu2084數塔
- 整合App Store與Game Center,蘋果也想做遊戲平臺?APPGAM蘋果遊戲
- Facebook Instant Game 小遊戲開發 建立商務管理平臺GAM遊戲開發
- 數字遊戲遊戲
- 20餘款遊戲亮相WeGame遊戲之夜S5,多款遊戲開啟預約遊戲GAM
- 最佳 Game Jam 遊戲之一《消費主義》開發總結!GAM遊戲
- 遊戲文件與遊戲設計遊戲設計
- 小遊戲,大夢想!2020網易遊戲高校MINI-GAME挑戰賽報名正式啟動遊戲GAM
- 從小眾到遊戲必備品,屬於Cozy Game的2022年遊戲GAM