上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 120 下一页
摘要: 如果不会哈夫曼树理论的话这题很难做出来吧... 如果 K=2,就可以根据合并果子那样去构造. 然后 K>2 的话就构造 k 叉哈夫曼树,如果不满足 $(n-1) \% (k-1)$ 的话就自动补一些进去. code: #include <bits/stdc++.h> #define ll long 阅读全文
posted @ 2020-06-11 09:18 EM-LGH 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 我之前一直以为这道题很厉害,没想到就是一个整体二分模板题,就当省选前练练手了. 我们计算每个木棍是被哪个子弹所击碎的,然后这个显然具有单调性. 每一条木棍分别去二分答案的话时间复杂度大概是 $O(n^2 \log n)$ 的. 所以我们就采用整体二分的方式,然后判断的话用一个树状数组来一个区间加法就 阅读全文
posted @ 2020-06-11 08:37 EM-LGH 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 这里写的是线段树套权值线段树和 set. 写代码的时间大概是 40 min,然后调试时间是 10 分钟左右,感觉这种数据结构题写的时候仔细检查的话还是比较好调的. code: #include <bits/stdc++.h> #define ll long long #define N 50009 阅读全文
posted @ 2020-06-10 20:56 EM-LGH 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 感觉是比较基础的子集 DP. 令 $dp[S]$ 表示点集 $S$ 构成的价值和,然后枚举最后一个区域就行. 也就是 $dp[S]=\sum_{T \subseteq S } dp[S-T] \times (\frac{sum[T]}{sum[S]})^k$ 化简得 $dp[S] \times su 阅读全文
posted @ 2020-06-10 15:45 EM-LGH 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 满分做法需要用到很神仙的优化方式,这里只给出 部分分的做法. 想出了 70pts 做法还是十分开心的. 开始的时候先想了一个 35 pts 做法: 考虑连续段,那么连续段的长度不会超过 $K$,高度不会超过 $K$,所以 $K \leqslant 9$ 的状态都能搜出来. 然后令 $f[i]$ 表示 阅读全文
posted @ 2020-06-10 11:33 EM-LGH 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 朴素的矩阵乘法时间复杂度会爆炸,但是我们发现矩阵乘法的形式是一个 $(1 \times n) \times (n \times n)$ 的形式. 所以如果提前预处理出来 $(n \times n)$ 矩阵的 $2^i$ 次幂,然后每次询问的时候二进制拆分,复杂度就是 $O(n^2 \log 1e9) 阅读全文
posted @ 2020-06-10 10:02 EM-LGH 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 由于集合内的数不能有交集,所以显然是子集 dp 的形式. 但是这道题为了不算重不太能用 FWT 优化,直接暴力 dp 的话是 $O(3^{18})$ 的,洛谷上开 O2 能过. 转移 DP 的时候一定注意是 $many[i] \times f[j]$,而不是 $f[i] \times f[j]$,否 阅读全文
posted @ 2020-06-10 09:21 EM-LGH 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 终于 get 到了子集卷积的正确姿势,以前竟然都是用异或卷积写的. 众所周知,异或卷积由于涉及到乘法所以会比较慢,那我们用或卷积就好了! code: #include <bits/stdc++.h> #define N (1<<21) #define ll long long #define mod 阅读全文
posted @ 2020-06-10 08:35 EM-LGH 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 按照套路,考虑将数字从小到大插入到序列中. 令 $f[i][j]$ 表示将 $1$ ~ $i$ 插入到序列中,形成了 $j$ 对不合法的方案数. 然后考虑将 $i+1$ 插入时的情况: 1. 插入到不合法的空位中,消掉一个不合法. 2. 插入到合法的空位中 3. 插入到 $i$ 旁边,形成一个不合法 阅读全文
posted @ 2020-06-09 21:07 EM-LGH 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 求 $,\sum_{x=0}^{\infty} get(l,r,x)get(l_{2},r_{2},x),q$ 组询问. 由于这里的 $get$ 会涉及到两个区间,所以十分不好处理. 那么我们就要想办法把这个式子转化成只和一个区间有关的东西. 考虑拆成前缀和,即 $(s[r]-s[l-1])\tim 阅读全文
posted @ 2020-06-09 16:54 EM-LGH 阅读(157) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 120 下一页