斐波那契变形:树形开路
import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); long g = 10000000007L; int n = sc.nextInt(); long a[] = new long[n + 1]; a[1] = 1;a[2] = 2;long sum = 3; if(n == 1){ System.out.println(1); return; }else if(n == 2){ System.out.println(3); return; } for(int i = 3;i <= n;i++){ a[i] = (a[i-1]+a[i-2])%g; sum = (sum + a[i]) % g; } System.out.println(sum); } }