不充錢,你怎麼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 }