链式编程和nginx
==链式编程==
只要方法返回的是对象本身,那么就可以使用链式编程。
123456789public class Chain { public static void main() { StringBuilder buffer = new StringBuilder(); buffer.append("你").append("好").append("!").append(" ").append("世").append("界"); } }
append()方法返回的是对象本身,所以可以使用链式编程
12345@Overridepublic StringBuilder append(String str) { super.append(str); return this;}
= ...
cdn加速器
cdn.jsdeliver.net无法访问的解决办法
将cdn.jsdelivr.net域名替换为fastly.jsdelivr.net或者gcore.jsdelivr.net
例如:https://cdn.jsdelivr.net/npm/[email protected]/tinymce.min.js替换为:https://fastly.jsdelivr.net/npm/[email protected]/tinymce.min.jshttps://gcore.jsdelivr.net/npm/[email protected]/tinymce.min.js
线性基
算法线性基1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677#include<iostream>#include<cstring>using namespace std;typedef long long LL;const int N = 50010, M = 70;LL h[4 * N], ne[4 * N], e[4 * N], w[4 * N], idx;LL p[M];LL dis[N];bool st[N];int n, m;void add(LL a, LL b, LL c) { e[idx] = b; w[idx] = c; ne[idx] = h[a]; h[a] = idx ++;}// 注意最多是从63位开始,从64位开始就会发生溢出。void insert(LL ...
日历清单算法笔记
Trie
高效的存储和查找字符串集合的数据结构
并查集
1、将两个集合合并2、询问两个元素是否在一个集合当中,3,时间复杂度为o(m),m为边数
O2优化
用了ios::sync_with_stdio(false),和cin.tie(0)就不能用scanf和printf了
最大异或对
最大异或对:一个数乘以2,相当于把这个数的二进制向左移1位,也就是在后面加一个0除以2也是同理for循环中的 i > = 0可以改成~ i ;这两者等价
系统分配空间
系统为某个程序分配空间时所需的时间与空间大小无关,与申请次数有关capacity()表示数组的实际容量size()表示已经使用的数据容量
getline()
substr()函数在string头文件里,作用是截取一段字符串getline函数这样用 ; getline(cin,str);
scanf和cin
超过1百万就用scanf,1百万以下和cin差不多
count()和find()
全局变量 char g[N][N]的好处就是每个元素默认为’\0’,所以可以用puts输出每一行!!但要保证N比 ...