摘要:
线段树 阅读全文
摘要:
题意: 求 \(\sum_{i=1}^{n} \sum_{j=1}^{m} 2*gcd(i,j)+1\) ⇒ \(\sum_{i=1}^{n} \sum_{j=1}^{m} 2*\sum_{d\mid gcd(i,j)}\phi(d)\) ⇒ $2*\sum_^{min(n,m)}\phi(d) \ 阅读全文
摘要:
啥也不会 阅读全文
摘要:
P2467 [SDOI2010]地精部落 首先,三个性质: First: 在一个波动数列中,若两个 i 与 i+1 不相邻,那么我们直接交换这两个数字就可以组成一个新的波动数列; second:把波动数列中的每个数字Ai 变成 (N+1)-Ai 会得到另一个波动数列,且新数列的山峰与山谷情况相反; 阅读全文
摘要:
题意:给定一棵树,将树上每个点的最远距离组成的序列记为,在上选出一段连续区间[l,r],用e表示{al…r}的极差,满足e<=M,求出r-l+1的最大值。 首先注意这道题是连续的,我就被坑了; 首先可以知道要求离每个点的最远距离,可以暴力; 考虑优化,换根dp; 首先维护四个数组 \(f[u],fc 阅读全文
摘要:
P3572 [POI2014]PTA-Little Bird 首先,这道题的暴力dp非常好写 就是枚举所有能转移到他的点,如果当前枚举到的位置的值大于 当前位置的话,\(f[i]=min(f[i],f[j])\) 否则就$f[i]=min(f[i],f[j]+1)$ 时间复杂度为O(nk) 考虑优化 阅读全文
摘要:
炮兵阵地 题目链接 可以看出 \(m\) 很小,可以用状压做,考虑每一行也有限制,可以预先把每一行的合法的状态存到数组中,可以优化时间以及空间; 另外,这道题求的是最大个数,因此我们需要快速知道每个状态 $1$ 的个数; 因为第 \(i\) 装态与上两行有关,因此用三维数组 \(f[i][j][k] 阅读全文
摘要:
期望dp 阅读全文
摘要:
9.7考试 第一次题有点简单 第一题一眼不可做,后来看数据范围 \(n<=100\) 这不瞎搞吗,模拟一下就没了; 第二题刚开始感觉60分可做,后来发现一个性质,有80分,不过后来因为unsigned long long 什么的搞半天,不过代码挺短的; 第三题,太牛了,想半天只配打个暴力分70,不知 阅读全文