莫队算法
莫队算法oiwiki 普通莫队算法P2709 小B的询问123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960#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=5e4+10;int bl;ll sum;struct node{ int l,r,id;}v[N];int a[N],cnt[N];bool cmp(node &a,node&b){ ...
线段树
线段树静态区间查询F. Maximum modulo equalityhttps://codeforces.com/contest/2050/problem/F 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147#include<bits/stdc++.h>using namespace std;using u32 = unsigned;#define i128...
Codeforces Round 991 (Div. 3)
Codeforces Round 991 (Div. 3)A. Line Breakshttps://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中如何查看代理的地址和端口 看代理IP地址和端口这样也可以 在设置里搜索 代理 找到自己的这两项(前提是自己必须有代理),在代理中其实也可以直接找到这个端口,应该设置里面都有,可以自己看一下。 总结一下就是我们上面输入的命令行操作其实就是为了修改[用户目录].gitconfig中的内容。 可以直接cat ~/.gitconfig看看成功了没 看来是成功了,那个lowspeedlimit和lowspeedtime不用管,忘了是什么时候设置的了。
状态压缩
状态压缩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 main(){ ...
洛谷字符串题单
洛谷字符串题单P3375 【模板】KMPhttps://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; ...