线段树
线段树 静态区间查询 F. Maximum modulo equality https://codeforces.com/contest/2050/problem/F 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147#include<bits/stdc++.h>using namespace std;using u32 = unsigned;#define...
Codeforces Round 991 (Div. 3)
Codeforces Round 991 (Div. 3) A. Line Breaks https://codeforces.com/contest/2050/problem/A 123456789101112131415161718192021222324252627282930313233343536#include<bits/stdc++.h>using namespace std;using u32 = unsigned;#define i128 __int128using ll = long long;//#define int llusing u64 = unsigned long long;const ll inf = 1e9;const ll INF = 1e18;void solve(){ int n,m; cin>>n>>m; ll sum=0; int cnt=0; for(int i=1;i<=n;i++) { string s; ...
如何解决使用git clone之类的git bash命令行时速度很慢的问题
出现的问题 我们平常使用git clone用来克隆github仓库时会出现速度很慢的问题,有时候不仅速度很慢,而且还可能会直接失败,可是我们已经开启代理了,直接访问github也十分的流畅,但就是使用git bash时就一直出问题。这是因为虽然我们已经开启代理了,但是git是没有开启代理的,我们需要自己设置。 解决方法 看这两篇文章应该就够了。这两篇看懂了就不需要看下面的了,下面的都是我随便写的一点 关于git配置代理的方法和一些需要注意的细节 在windows中如何查看代理的地址和端口 设置代理解决github被墙 看代理IP地址和端口这样也可以 在设置里搜索 代理 找到自己的这两项(前提是自己必须有代理),在代理中其实也可以直接找到这个端口,应该设置里面都有,可以自己看一下。 总结一下就是我们上面输入的命令行操作其实就是为了修改[用户目录].gitconfig中的内容。 可以直接cat ~/.gitconfig看看成功了没 看来是成功了,那个lowspeedlimit和lowspeedtime不用管,忘了是什么时候设置的了。 ssh-error 解决方案 问题 $...
状态压缩
状态压缩 P1896 [SCOI2005] 互不侵犯 https://www.luogu.com.cn/problem/P1896 这个状态枚举需要注意的是枚举行会直接枚举到n+1行,因为n+1行的dp[n+1][k][0]能和上一层所有符合条件的dp[n][k][a]兼容,所以就相当于直接把上一层的结果直接集成起来了,不过不这样做的话直接对最后一层的所有可能情况求和也是可以的,如果想要尝试这一种方法的话就看第二段代码(这个行遍历只到第n行) 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152#include<bits/stdc++.h>using namespace std;using u32 = unsigned;using ll = long long;using u64 = unsigned long long;const int inf = 2147483647;const ll INF = 1e18;ll...
悬线法
悬线法 什么是悬线法 oiwiki 123456悬线法的适用范围是单调栈的子集。具体来说,悬线法可以应用于满足以下条件的题目:- 需要在扫描序列时维护单调的信息;- 可以使用单调栈解决;- 不需要在单调栈上二分。看起来悬线法可以被替代,用处不大,但是悬线法概念比单调栈简单,更适合初学 OI 的选手理解并解决最大子矩阵等问题。 123456789101112何为悬线法悬线的定义是这样的:**从每一个点向上走,知道遇到障碍点或顶边界。**那么我们可以轻松地得到悬线的一些性质:1. 每一个点对应一根悬线2. 每一根悬线都对应了一个高度等于悬线高度,宽度大于0的矩形所以悬线法的步骤就是:**找出每一个点对应的悬线的高度,然后向左右分别找出该悬线能拓展出的矩形的宽度。** ps:悬线法本质上也是一种动态规划,因为悬线法的难点就在于对l数组和r数组的动态规划处理。 例题 HISTOGRA - Largest Rectangle in a...
区间DP
区间DP O(n^3) 区间DP一般给的N的范围都会比较小,在我看来区间DP是一个比较宽泛的概念,刚开始只做了第二题石子合并,对区间DP理解的比较浅显,现在看来区间DP所共有的特点就是dp[i][j]所表示的i到j这个区间的一个值 P1063 [NOIP2006 提高组] 能量项链 https://www.luogu.com.cn/problem/P1063 正整数 N(4≤N≤100) 正常的一道环形区间DP,每个变量存一下头标记和尾标记就行了 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647#include<bits/stdc++.h>using namespace std;using u32 = unsigned;using ll = long long;using u64 = unsigned long long;const int inf = 2147483647;const ll INF = 1e18;int...
洛谷字符串题单
洛谷字符串题单 P3375 【模板】KMP https://www.luogu.com.cn/problem/P3375 12345678910111213141516171819202122232425262728293031323334353637383940#include<bits/stdc++.h>using namespace std;using u32 = unsigned;#define i128 __int128;using ll = long long;//#define int llusing u64 = unsigned long long;const ll inf = 1e9;const ll INF = 1e18;const int N=1e6+10;int ne[N];signed main(){ ios::sync_with_stdio(false); cin.tie(nullptr); string a,b; cin>>a>>b; int...
洛谷动态规划题单
洛谷动态规划题单 P2196 [NOIP1996 提高组] 挖地雷 https://www.luogu.com.cn/problem/P2196 普及/提高− 这一道题直接用dfs就能做,不需要动态规划 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162#include<bits/stdc++.h>using namespace std;using u32 = unsigned;#define i128 __int128;using ll = long long;using u64 = unsigned long long;const int inf = 2147483647;const ll INF = 1e18;int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n; ...
对顶堆
对顶堆 对顶堆就是通过一个小根堆和一个大根堆来动态维护一个序列上第k大或者第K小的数 序列左侧用小根堆维护,右侧用大根堆维护。 如果题目要求不断动态输出第K大的数,那么小根堆的堆元素就是第K大的元素,大根堆的堆顶元素就是第K+1大的元素。 RMID2 - Running Median Again https://www.luogu.com.cn/problem/SP15376 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950#include<bits/stdc++.h>using namespace std;using u32 = unsigned;#define i128 __int128using ll = long long;//#define int llusing u64 = unsigned long long;const int inf = 2147483647;const ll INF = 1e18;void...










