摘要: A 签到 #include<bits/stdc++.h> using namespace std; int a[123456]; int main(){ int t; scanf("%d",&t); while(t--){ int n; scanf("%d",&n); int f=0; int t= 阅读全文
posted @ 2020-10-01 17:04 朝暮不思 阅读(200) 评论(0) 推荐(0) 编辑
摘要: xz=zy 其实对应的就是把x的某一段前缀减下来贴到后面或者把y的某一段前缀贴下来到前面 如果相等则可以,这点可以在纸上模拟。因为y一直在变,所以我们考虑预处理x 对比字符串是否相等,使用哈希即可,本题使用了双哈希避免被卡。 我们关注到,当我们求得最小能够剪切成功的段时,答案并不是只有这个,因为如果 阅读全文
posted @ 2020-10-01 16:58 朝暮不思 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 考虑dp,我们知道答案就是逆序对为0的期望步数。 对于一轮操作,有50%的可能逆序对不变,有50%的可能逆序对-2 对于这个状态方程进行化简就能得到答案 #include<bits/stdc++.h> using namespace std; typedef long long ll; typede 阅读全文
posted @ 2020-10-01 11:16 朝暮不思 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 图中给出了不等式关系并求可行解,考虑使用差分约束来解决。 差分约束的基本套路是: 1.找全不等关系 2.找到一个点可以遍历全图 3.对于可行解问题,跑最短路,一般上我们定义>=关系式 对于本题的关系式,为了控制l<=ai<=r,我们用一个超级点去连 对于fi的限制,有两种情况,前面有和他长度相等的, 阅读全文
posted @ 2020-10-01 09:48 朝暮不思 阅读(106) 评论(0) 推荐(0) 编辑