摘要: T1: 首先O(n^3)非常好像,O(n)枚举以i点为最高点,于是问题转化为求 min sigma(hj - (x - |i - j|))其中hj为j位置高度,x为钦定i点的高度,x - |i - j|即为j位置要求高度 首先考场上最后想出做法为:利用分块,提取变量x并设k = x - |i - j 阅读全文
posted @ 2021-09-22 21:28 HZOI_LYM 阅读(49) 评论(0) 推荐(0) 编辑
摘要: T2: 首先对于非常规模数要思考其是否为质数,因为逆元与费马小定理建立在质数(互质)情况下 那么对于模数非质数的问题,通常的解决方法为唯一分解,即将模数分解为若干质数之积,再通过 中国剩余定理合并 对于本题,发现模数为5个连续质数之积,又给出了公式二,因此基本思路非常简单,利用基本公式二 作矩阵乘法 阅读全文
posted @ 2021-09-22 06:14 HZOI_LYM 阅读(39) 评论(0) 推荐(0) 编辑
摘要: T1: 比较水的模拟,注意点:多想特殊情况即可 代码如下: 1 #include <bits/stdc++.h> 2 using namespace std; 3 #define I int 4 #define C char 5 #define B bool 6 #define V void 7 # 阅读全文
posted @ 2021-09-20 20:52 HZOI_LYM 阅读(46) 评论(0) 推荐(0) 编辑
摘要: T1: 原题,树形DP+贪心即可 代码如下: 1 #include <bits/stdc++.h> 2 using namespace std; 3 #define I int 4 #define C char 5 #define B bool 6 #define V void 7 #define 阅读全文
posted @ 2021-09-19 08:09 HZOI_LYM 阅读(38) 评论(0) 推荐(0) 编辑
摘要: T1: 与模拟54T4较为相像,然而需要注意的点有所不同 首先比较显然的是DP方程:fi = fj + ai - (i - j) * (i - j - 1) / 2 常规思路为直接使用权值数据结构进行维护,然而无法处理后面的部分 考场上想过分块线段树树状数组,然而都失败了,于是突然发现对于 一点i 阅读全文
posted @ 2021-09-18 06:56 HZOI_LYM 阅读(56) 评论(0) 推荐(1) 编辑
摘要: 这套题非常NOIP T1: 首先复盘,考场上首先先观察信息发现每个点度数最多为10,尽管并未学习边分治 然而这种边数条件限制的确可以保证边分治的复杂度(这也使得我并未想到状压DP) 接着考虑点分治(大量处理路径问题),然而发现并不会处理路径重复问题 然后则是树形DP,比较容易想到的是考虑转化为每条边 阅读全文
posted @ 2021-09-16 19:05 HZOI_LYM 阅读(30) 评论(0) 推荐(0) 编辑
摘要: T1: 分析题目性质,根据逻辑顺序,对于当前按钮位置对应的物品之起判断是否可以购买的作用, 于是发现,对于数量大于1的物品可以直接贪心使其数量变为1 考虑剩下的问题,比较显然为有限制的最优性问题,考虑如何转移,发现最优策略下, f[i]对应的按钮一定要比i先按才会造成更多的贡献,否则若先按i,则f[ 阅读全文
posted @ 2021-09-15 12:05 HZOI_LYM 阅读(41) 评论(0) 推荐(0) 编辑
摘要: Point:暴力卡常非常重要,考虑理论复杂度与实际复杂度 T1: 显然考虑每一位的贡献即可,打表发现为n >> i,累计即可 代码如下: 1 #include <bits/stdc++.h> 2 using namespace std; 3 #define I int 4 #define LL lo 阅读全文
posted @ 2021-09-14 06:28 HZOI_LYM 阅读(37) 评论(0) 推荐(0) 编辑
摘要: T1: 首先比较套路的是可以枚举右端点考虑其影响线性序列求方案数首先想到的就是线性DP 考虑分析题目性质,每次施法将一段首尾相同的区间颜色全部转化为相同的颜色,那么很显然的是当前位置进行的施法不受前后的影响,考虑状态划分 首先若当前位置选择不施法,那么直接继承上一位置的方案数即可(在上一位置的每种方 阅读全文
posted @ 2021-09-13 18:29 HZOI_LYM 阅读(45) 评论(0) 推荐(0) 编辑
摘要: T1: 考场思路为树剖维护查询,问题在于如何求复活次数,想到题解中给出的结论,并场上证明(证明采用调整法(贪心常见证明思路)或模拟) 但由于思路狭窄,树剖下考虑如何用线段树维护复活次数,而结论并未起到启发正解的作用,而是考虑如何分治(合并)解决 正解在于的出结论后,可以采用倍增死亡次数的做法,即问题 阅读全文
posted @ 2021-09-11 20:44 HZOI_LYM 阅读(38) 评论(0) 推荐(0) 编辑