[比赛][Zjoi2017 Day1]

[比赛][Zjoi2017 Day1]

ZJOI2017 DAY1

为什么第一题就是仙人掌啊吓死人了。。。

刚看完题发现只会打10分的暴力,然后看了第二题发现还是只会打10分的暴力,然后看了第三题还是只会十分的暴力。。。

感觉要30分滚粗了。。。

先写好了第一题的暴力,调了一会(其实调了一个多小时)过了样例以后发现n哪怕再大1都跑不过。。。于是就跑了一下链的情况,发现答案就是 2n2 ,好开心啊

又想了一会树的情况,发现树的情况就是问把一棵树拆成很多条链(链的头尾相连可以连成仙人掌),问又多少种情况,然后大力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'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值