• 个人简介

    我是蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻蒟蒻

    document.body.contentEditable
    

    不是,所以谁问你了?

    想成功,先发疯,不顾一切向前冲!拼一次,富三代,拼命才能不失败!今天睡地板,明天想成功,先发疯,不顾一切向前冲!拼一次,富三代,拼命才能不失败!今天睡地板,明天 睡老板当老板!加油,加油,加油! 当老板!加油,加油,加油!

    黑板上写着一道数学题:

    a>0, a+1<0.

    数竞大神小A对信息学大佬小B说:“你连初中数学都没学过吗?原不等式组显然无解。”

    小B拿起了一根粉笔,对小A微微一笑,转身在黑板上写下了:

    a=2147483647


    imfvv

    #pragma GCC optimize(3)
    #pragma GCC target("avx")
    #pragma GCC optimize("Ofast")
    #pragma GCC optimize("inline")
    #pragma GCC optimize("-fgcse")
    #pragma GCC optimize("-fgcse-lm")
    #pragma GCC optimize("-fipa-sra")
    #pragma GCC optimize("-ftree-pre")
    #pragma GCC optimize("-ftree-vrp")
    #pragma GCC optimize("-fpeephole2")
    #pragma GCC optimize("-ffast-math")
    #pragma GCC optimize("-fsched-spec")
    #pragma GCC optimize("unroll-loops")
    #pragma GCC optimize("-falign-jumps")
    #pragma GCC optimize("-falign-loops")
    #pragma GCC optimize("-falign-labels")
    #pragma GCC optimize("-fdevirtualize")
    #pragma GCC optimize("-fcaller-saves")
    #pragma GCC optimize("-fcrossjumping")
    #pragma GCC optimize("-fthread-jumps")
    #pragma GCC optimize("-funroll-loops")
    #pragma GCC optimize("-fwhole-program")
    #pragma GCC optimize("-freorder-blocks")
    #pragma GCC optimize("-fschedule-insns")
    #pragma GCC optimize("inline-functions")
    #pragma GCC optimize("-ftree-tail-merge")
    #pragma GCC optimize("-fschedule-insns2")
    #pragma GCC optimize("-fstrict-aliasing")
    #pragma GCC optimize("-fstrict-overflow")
    #pragma GCC optimize("-falign-functions")
    #pragma GCC optimize("-fcse-skip-blocks")
    #pragma GCC optimize("-fcse-follow-jumps")
    #pragma GCC optimize("-fsched-interblock")
    #pragma GCC optimize("-fpartial-inlining")
    #pragma GCC optimize("no-stack-protector")
    #pragma GCC optimize("-freorder-functions")
    #pragma GCC optimize("-findirect-inlining")
    #pragma GCC optimize("-fhoist-adjacent-loads")
    #pragma GCC optimize("-frerun-cse-after-loop")
    #pragma GCC optimize("inline-small-functions")
    #pragma GCC optimize("-finline-small-functions")
    #pragma GCC optimize("-ftree-switch-conversion")
    #pragma GCC optimize("-foptimize-sibling-calls")
    #pragma GCC optimize("-fexpensive-optimizations")
    #pragma GCC optimize("-funsafe-loop-optimizations")
    #pragma GCC optimize("inline-functions-called-once")
    #pragma GCC optimize("-fdelete-null-pointer-checks")
    #pragma GCC optimize(2)
    
    #include <iostream>
    #include <cstdio>
    using namespace std;
    const int N = 1e7 + 5;
    inline int read() {
        int x = 0, f = 1;
        char ch;
        while (!isdigit(ch = getchar())) {
            if (ch == '-') f = -1;
        }
        do {
            x = (x << 1) + (x << 3) + (ch ^ 48);
        } while (isdigit(ch = getchar()));
        return x * f;
    }
    inline void write(int x) {
        if (x < 0) {
            putchar('-');
            x = -x;
        }
        int tmp = x / 10;
        if (x > 9) write(tmp);
        putchar(x - (tmp << 1) - (tmp << 3) + '0');
    }
    
    int main() {
    	
    	return 0;
    }
    

    // 造数据

    #include <bits/stdc++.h>
    using namespace std;
    void zh(string sss, char xxx[]) {
        for (int i = 0; i < sss.size(); ++i) {
            xxx[i] = sss[i];
        }
        return;
    }
    int main() {
        srand((unsigned)time(NULL));
        for (int i = 1; i <= 95; ++i) {
            string xxx = "water" + to_string(i) + ".in";
            char sss[10005], ddd[10005];
            zh(xxx, sss);
            freopen(sss, "w", stdout);
            
            long long a = 0, b = 0, c = 0, d = 0;
    		string str1 = "", str2 = "";
    
            cout; // 输入样例
    
            xxx = "water" + to_string(i) + ".out";
            zh(xxx, ddd);
    
            freopen(sss, "r", stdin);
            freopen(ddd, "w", stdout);
    
            cout; // 输出样例
        }
        return 0;
    }
    

    https://www.baidu.com

    oiclass.com


    oi-wiki

    图论

    学习资料

    Markdown\color{Red}Markdown

    LaTeX\color{Blue}\LaTeX


    如果26个英文字母A~Z分别等于1~26。

    那么: Knowledge ( 知识 )= 11+14+15+23+12+5+4+7+5=96%。

    Workhard ( 努力工作)= 23+15+18+11+8+1+18+4 =98%。

    也就是说知识和努力工作对我们人生的影响可以达到96%和98%。

    Luck(好运)=12+21+3+11=47%。

    Love(爱情)=12+15+22+5=54%。

    看来,这些我们通常认为重要的东西却并没起到最重要的作用。

    那么,什么可以决定我们100%的人生呢?

    是Money(金钱)吗?13+15+14+5+25=72%。

    看来也不是。

    是Leadership ( 领导能力 ) 吗?12+5+1+4+5+18+19+9+16=89%。

    还不是。

    金钱,权力也不能完全决定我们的生活。那是什么呢? 其实,真正能使我们生活圆满的东西就在我们的代码里面!

    iostream=9+15+19+20+18+5+1+13=100%! 所以,请我们不要忘记编程!!!!

    163

    Noctis

    (Minimus)

    Better Comments


    dijkstradijkstra

    struct edge {
    	int v, w;
    	bool operator < (edge p) const {
    		return w > p.w;
    	}
    };
    priority_queue <edge> q;
    vector <edge> g[N];
    int dist[N];
    bool vis[N];
    void dijkstra(int s)
    {
    	memset(dist, 0x3f, sizeof(dist));
    	dist[s] = 0;
    	q.push((edge) {s, dist[s]});
    	while (!q.empty()) {
    		int u = q.top().v;
    		q.pop();
    		if (vis[u]) continue;
    		vis[u] = 1;
    		for (int i = 0; i < g[u].size(); ++i) {
    			int v = g[u][i].v;
    			int w = g[u][i].w;
    			if (dist[v] > dist[u] + w) {
    				dist[v] = dist[u] + w;
    				q.push((edge) {v, dist[v]});
    			}
    		}
    	}
    }
    

    spfaspfa

    struct edge {
    	int v, w;
    };
    queue <int> q;
    vector <edge> g[N];
    int dist[N], cnt[N];
    bool iq[N];
    bool spfa(int s)
    {
    	memset(dist, 0x3f, sizeof(dist));
    	dist[s] = 0;
    	q.push(s);
    	iq[s] = 1;
    	cnt[s]++;
    	while (!q.empty()) {
    		int u = q.front();
    		q.pop();
    		iq[u] = 0;
    		for (int i = 0; i < g[u].size(); ++i) {
    			int v = g[u][i].v;
    			int w = g[u][i].w;
    			if (dist[v] > dist[u] + w) {
    				dist[v] = dist[u] + w;
    				if (!iq[v]) {
    					cnt[v]++;
    					q.push(v);
    					iq[v] = 1;
    					if (cnt[v] == n) 
    						return 0;
    				}
    			}
    		}
    	}
    	return 1;
    }
    

    floydfloyd

    memset(dist, 0x3f, sizeof(dist));
    for (int i = 1; i <= m; ++i) {
    	int s, e, h;
    	cin >> s >> e >> h;
    	dist[s][e] = h;
    }
    for (int k = 1; k <= n; ++k) {
    	for (int i = 1; i <= n; ++i) {
    		for (int j = 1; j <= n; ++j) {
    			dist[i][j] = min(dist[i][j], max(dist[i][k], dist[k][j]));
    		}
    	}
    }
    

    tarjantarjan

    int ind, cnt;
    int dfn[N], low[N];
    bool is[N];
    stack <int> st;
    vector <int> g[N];
    void tarjan(int u)
    {
    	dfn[u] = low[u] = ++ind;
    	st.push(u);
    	is[u] = 1;
    	for (int i = 0; i < g[u].size(); ++i) {
    		int v = g[u][i];
    		if (!dfn[v]) {
    			tarjan(v);
    			low[u] = min(low[u], low[v]);
    		}
    		else if (is[v]) {
    			low[u] = min(low[u], dfn[v]);
    		}
    	}
    	if (dfn[u] == low[u]) {
    		int v, k = 0;
    		do {
    			++k;
    			v = st.top();
    			st.pop();
    			is[v] = 0;
    		} while (u != v);
    		cnt += k > 1;
    	}
    }
    

    割点(tarjan)割点(tarjan)

    int n, ind;
    int dfn[N], low[N];
    bool iscp[N];
    vector <int> g[N];
    void tarjan(int u, int fa)
    {
    	int child = 0;
    	dfn[u] = low[u] = ++ind;
    	for (int i = 0; i < g[u].size(); ++i) {
    		int v = g[u][i];
    		if (!dfn[v]) {
    			++child;
    			tarjan(v, u);
    			low[u] = min(low[u], low[v]);
    			if (low[v] >= dfn[u]) {
    				iscp[u] = 1;
    			}
    		}
    		else {
    			low[u] = min(low[u], dfn[v]);
    		}
    	}
    	if (fa < 0 && child == 1) {
    		iscp[u] = 0;
    	}
    }
    

    并查集并查集

    int fa[10005];
    int finds(int x)
    {
    	return x == fa[x] ? x : fa[x] = finds(fa[x]);
    }
    void unions(int x, int y)
    {
    	fa[finds(x)] = finds(y);
    }
    

    KruskalKruskal P87 Kerry 的电缆网络


    欧拉筛

    void oula(int n) {
    	for (int i = 2; i <= n; ++i) { // 这里直接跳过1
    		if (!vis[i])
    			prime[cnt++] = i; // 记录素数
    		for (int j = 0; j < cnt && i * prime[j] <= n; ++j) { // 只筛小于n的数 												//i * prime[j]在某种情况下可能越界,可用 i <= n / prime[j]
    			vis[i * prime[j]] = true;
    			if (i % prime[j] == 0) // 避免重复筛选
    				break;
    		}
    	}
    }
    

    已知二维数组 a[m][n]a[m][n] 按行序为主序存放,每个元素占 LL 个字符,其中首地址为 a[x][y]a[x][y] 地址为 Loc1Loc1 ,元素 a[i][j]a[i][j] 的地址为:Loc(a[i][j]) = Loc1 + [n * (i - x) + (j - y)] * L

    已知二维数组 a[m][n]a[m][n] 按列序为主序存放,每个元素占 LL 个字符,其中首地址为 a[x][y]a[x][y] 地址为 Loc2Loc2 ,元素 a[i][j]a[i][j] 的地址为:Loc(a[i][j]) = Loc2 + [m * (j - y) + (i - x)] * L

    超详解线段树

    C++[引用(&)]

    C++匿名函数lambda详解