題解 P4388 【付公主的矩形】
阿新 • • 發佈:2018-12-23
嗯,
額,
這個,
不太好組織開頭語,直接說題吧。
一個任性又喜新厭舊的她箭術過人,以稻草人練習。
需要滿足她的喜新厭舊,一~~發入~~箭穿心 n 個稻草人。
得到方案數。
關於題解:
三步走
壹:look it:
可知:
若 gcd(i,n)=i ,為一種方案,ans++;
貳:
通過觀察以及 Microsoft Office Power Point 的幫助
可知:
若 gcd(i,n−i+1)=1 ,那麼也為一種方案,ans++;and rp--;
叄:
the third,
若gcd(i,n)=i ,那麼摧毀 n 個稻草人要加上摧毀 n/i 個稻草人的方案。
肆:嚴格的推論:
交給 dalao ,我只是一個記錄自己做題的記錄員而已。
我做了十幾年的選項分析,找規律能力早已異於常人,推規律只是瞬間的問題
that's all,thanks !
?????
the end ?
開玩笑:
1 #include<bits/stdc++.h> 2 3 using namespace std; 4 5 int gcd(int a,int b) 6 { 7 if(a%b==0) 8 { 9 return b; 10View Code} 11 else return gcd(b,a%b); 12 } 13 int lcm(int a,int b) 14 { 15 return a*b/gcd(a,b); 16 } 17 int n,ans; 18 int main() 19 { 20 scanf("%d",&n); 21 for(register int i=1;i<=n/2;i++) 22 if(gcd(i,n)==i) 23 { 24 ans++; 25 for(register int j=2;j<=(n/i)/2;j++) 26 if(gcd(j,(n/i)-j+1)==1) 27 { 28 ans++; 29 } 30 } 31 cout<<ans+1; 32 return 0; 33 }
關於程式碼,lcm 什麼鬼?
辣雞聊以自慰。
說它是精華才是開玩笑
精華是它: Microsoft Office Power Point 才對
撒花 ~~~~~~~~