[ CodeVS衝杯之路 ] P1092

  不充錢,你怎麼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 }
相關文章
相關標籤/搜索