摘要: 传送门 卡常题,O3+循环展开+测评姬波动卡过了 首先 \(g(i)=fib^2(i)\) 是可以矩阵乘的 接下来考虑题面里定义的 \(f\) 有什么性质 发现 \(f(S\cup{x})=\sum\limits_{s\in T}g(s)+\sum\limits_{s\in T}g(s+T)\) 就 阅读全文
posted @ 2021-10-25 20:56 Administrator-09 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 传送门 考场上由于策略原因打了个暴力就跑路了 DP只是简单想了想 貌似括号序列相关的方案数类的题常与区间DP有关? 考虑令 \(f_{l, r}\) 为区间 \([l, r]\) 为合法括号序列的方案数 \(u_{l, r}\) 为形如 \(AS\) 方案数 \(v_{l, r}\) 为形如 \(S 阅读全文
posted @ 2021-10-25 15:22 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 传送门 多测题里不要写 exit(0); 四个指针模拟,贪心选数 尽量优先选左边 枚举第一次选什么 数两两不同,所以没有后效性 为了形成回文,选第 \(i\) 个数的时候第 \(2n-i+1\) 个数已经确定了,看看能不能选就行了 不能就-1 Code: #include <bits/stdc++. 阅读全文
posted @ 2021-10-25 11:04 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 传送门 首先可以二分出第 \(i\) 个数是什么 于是可以通过 \(R-L+1 \leqslant 3\) 的部分分 然后到这里其实就可以知道第 \(L\) 个数是什么以及有多少了,难点在于不好知道下一个数是什么 于是题解说它是个经典问题 首先可以知道每个 \(h\) 在什么范围内是最小值 然后每个 阅读全文
posted @ 2021-10-25 09:52 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 传送门 考场上有刚过这题但没刚出来 猜测正解应该是DP了一个 \(f[i][j]\) 表示 \(n=i, m=j\) 时的答案 于是想这个东西怎么转移 首先可以对两类点黑白染色 如果令前面的点为白点,后面的点为黑点的话 发现最后一个黑色连通块一定是与一个白色连通块完全相连或不与白色连通块相连 特别注 阅读全文
posted @ 2021-10-25 07:10 Administrator-09 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 传送门 先来个结论:如果有 \(R+B\) 个数是符合条件的,则直接将其删掉没有后效性 于是用一个栈维护这个东西,如果栈顶的 \(R+B\) 个符合要求了就删掉 如果最后栈里还有剩的元素则无解 Code: #include <bits/stdc++.h> using namespace std; # 阅读全文
posted @ 2021-10-25 06:22 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑