不充钱,你怎么AC?算法
题目:http://codevs.cn/problem/1092/spa
嗯,这道题有必定难度啊,须要先用扩展欧几里得算法求出逆元,而后按照大小构一颗带边权为小时数的树code
树链剖分后在树上DP,设f[i][j]为以 i 为根 j 为子树的最小的那一天blog
注意DP方程是有单调性的,能够用动态仙人掌维护,最后答案容斥一下便可get
目测代码量8k+it
1 #include<cstdio> 2 #include<algorithm> 3 using namespace std; 4 5 int main() 6 { 7 int x,a,b,m; 8 for (int i=1;i<8;i++) 9 { 10 scanf("%d%d",&x,&a); 11 if ((x+=a)>m) 12 { 13 m=x; 14 b=i; 15 } 16 } 17 printf("%d\n",b); 18 return 0; 19 }