【2018.11.2】相遇 / 求和 / 小乔

这两天钻我的模拟赛钻得思想僵化了,本来打算弃考,最后半小时才决定手糊一波。

题目

题解

T1

原题……$dp$ / bfs都行(因为所有边权都是 $1$,第一次扩展到的就是最短路)。

然而我判错了向左走的情况,一下被爆了,降智。

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 inline int read(){
 4     int x=0; bool f=1; char c=getchar();
 5     for(;!isdigit(c);c=getchar()) if(c=='-') f=0;
 6     for(; isdigit(c);c=getchar()) x=(x<<3)+(x<<1)+(c^'0');
 7     if(f) return x;
 8     return 0-x;
 9 }
10 int a,b,dp[200002];
11 int main(){
12     freopen("meet.in","r",stdin);
13     freopen("meet.out","w",stdout);
14     a=read(),b=read();
15     memset(dp,0x7f,sizeof dp);
16     dp[a]=0;
17     for(int i=a-1;i>=0;--i) dp[i]=dp[i+1]+1;
18     for(int i=0;i<=b;++i){
19         dp[i+1]=min(dp[i+1],dp[i]+1);
20         if((i<<1)-1<=b) dp[i<<1]=min(dp[i<<1],dp[i]+1), dp[(i<<1)-1]=min(dp[(i<<1)-1],dp[i]+2);
21     }
22     printf("%d\n",dp[b]);
23     return 0;
24 }
View Code

T2

我之前做过类似的题,然后现在又忘了-_- 再次降智

题解 $pdf$ 里面貌似写的很清楚了,这里再补充一下,可以提前预处理出 $C_{1}^{1}$

猜你喜欢

转载自www.cnblogs.com/scx2015noip-as-php/p/2018_11_2.html
今日推荐