牛客競賽傳送門: 本題鏈接:G-Fibonacci_第 45 屆國際大學生程式設計競賽(ICPC)亞洲區域賽(上海)(重現賽) (nowcoder.com) 比賽完整題單:牛客競賽_ACM/NOI/CSP/CCPC/ICPC演算法編程高難度練習賽_牛客競賽OJ (nowcoder.com) 通過率:7 ...
牛客競賽傳送門:
本題鏈接:G-Fibonacci_第 45 屆國際大學生程式設計競賽(ICPC)亞洲區域賽(上海)(重現賽) (nowcoder.com)
比賽完整題單:牛客競賽_ACM/NOI/CSP/CCPC/ICPC演算法編程高難度練習賽_牛客競賽OJ (nowcoder.com)
通過率:702/961
題目大意:給定一個整數 n ,計算有多少對 (x,y) 滿足 1≤x<y≤n,且fx∗fy 的值為偶數
【說明】在樣例1中,滿足條件的數對有(1,3),(2,3),對應f1∗f3=1∗2=2,f2∗f3=1∗2=2
知識點:組合數學、數學推理
思路: 因為最後只需要找fx∗fy的值為偶數 所以,其實斐波那契只是外表的包裝,我們只需要找到奇偶規律就行 1,1,2,3,5,8,13,21,34 1,1,0,1,1,0, 1, 1, 0(1表示奇數,0表示偶數) 不難發現,奇偶規律:周期為3的奇數奇數偶數 0*0=0,1*0=0,1*1=1 所以用所有的組合數 減去 所有奇數的組合數,就是答案 本題數字較大,註意要開long long AC代碼:
1 #include<bits/stdc++.h> 2 using namespace std; 3 4 long long c(long long x){ 5 return x*(x-1)/2; 6 } 7 8 int main(){ 9 long long n ; cin>>n; 10 printf("%lld", c(n) - c(n-n/3)); 11 return 0; 12 } 13 14 /* 15 耗時:15min 16 */