最近好颓啊,所以啥都做不出来
简单说一下这次考试,分机房了,还分不同考卷,果然我还是留在二机房的蒟蒻,
大概也只有这样的简单题,才能勉强水个rank 3吧........
其实不必管在哪个机房,努力便好,不必在意什么,这么多的考试,对于成绩的好与坏大概都看淡了,无论如何无愧于心便好。
************************
T1 字符串
一看就是卡特兰的裸题,
卡特兰........(留坑待补...)
然后C(n+m,n)-C(n+m,m-1)结束了
1 #include2 #include 3 #include 4 #include 5 #include 6 #include 7 #define int long long 8 #define MAXN 2500001 9 using namespace std;10 const int mod=20100403;11 int n,m;12 int jie[MAXN];13 int poww(int x,int y)14 {15 int ans=1ll;16 while(y)17 {18 if(y&1)ans=ans*x%mod;19 x=x*x%mod;20 y>>=1;21 }22 return ans%mod;23 }24 int C(int x,int y)25 {26 if(y>x)return 0;27 if(y==0)return 1;28 return jie[x]%mod*poww(jie[y]%mod,mod-2)%mod*poww(jie[x-y]%mod,mod-2)%mod;29 }30 signed main()31 {32 //freopen("text.in","r",stdin);33 //freopen("a.out","w",stdout); 34 scanf("%lld%lld",&n,&m);35 jie[0]=1;jie[1]=1;36 for(int i=2;i<=n+m+1;++i)jie[i]=(jie[i-1]*i)%mod;37 if(n
T2乌鸦喝水
打链接表能水到90??????
正解:
我们考虑维护变量pos_water(表示当前乌鸦在哪喝水),pos表示当前轮到谁喝完了
我们预处理出每缸水能下降的次数然后sort一边,
易知,在i被下降到不能喝之前,i+1肯定能喝
根据性质,我们令pos_water移动
树狀数组维护从当前喝水点到n可喝水的缸数,
假设缸数加上上一个状态的cnt<此时节点的val,那么直接跳
不然二分查找停在那个位置
1 #include2 #include 3 #include 4 #include 5 #include 6 #include 7 #include
T3
tarjan
然后DFS会炸成n^2
要用拓扑
记清楚!!!!!!!!!!!!!!!!!!
1 #include2 #include 3 #include 4 #include 5 #include 6 #include 7 #include