[比赛][Zjoi2017 Day1]
ZJOI2017 DAY1
为什么第一题就是仙人掌啊吓死人了。。。
刚看完题发现只会打10分的暴力,然后看了第二题发现还是只会打10分的暴力,然后看了第三题还是只会十分的暴力。。。
感觉要30分滚粗了。。。
先写好了第一题的暴力,调了一会(其实调了一个多小时)过了样例以后发现n哪怕再大1都跑不过。。。于是就跑了一下链的情况,发现答案就是 2n−2 ,好开心啊
又想了一会树的情况,发现树的情况就是问把一棵树拆成很多条链(链的头尾相连可以连成仙人掌),问又多少种情况,然后大力DP一下,但是转移的时候要乘个系数并不会,瞎JB乱乘了一个当然是错的。
打完还有半个小时多一点,把二三两题的暴力打完就滚粗了。。。。
然后来讲一下一二两题的做法。
仙人掌
可以看一下这篇题解:http://blog.csdn.net/akak__ii/article/details/65935711
代码:
#include <bits/stdc++.h>
using namespace std;
const int Maxn = 500010;
const int Mod = 998244353;
typedef long long ll;
inline char get(void) {
static char buf[100000], *p1 = buf, *p2 = buf;
if (p1 == p2) {
p2 = (p1 = buf) + fread(buf, 1, 100000, stdin);
if (p1 == p2) return EOF;
}
return *p1++;
}
inline void read(int &x) {
x = 0; static char c;
for (; !(c >= '0' && c <= '9'