
《算法竞赛进阶指南》杂谈
乱弹 瞎弹 胡谈
本着刷书水题 混日子 的精神
扯淡
ZHXU1998
这个作者很懒,什么都没留下…
展开
-
《算法竞赛进阶指南》 0x68 ~ 0x67 代码 + 杂谈
二分图最大匹配之前 一直没有学匈牙利 只写DINIC 匈牙利也挺简单的 关键是好写多了orz关押罪犯https://blog.youkuaiyun.com/qq_40831340/article/details/88821278棋盘覆盖我依稀的记得 第一次见到是DP来着#include <bits/stdc++.h>using namespace std;const int max...原创 2019-08-04 17:26:59 · 499 阅读 · 0 评论 -
《算法竞赛进阶指南》 0x42 ~ 0x43 代码 + 杂谈
树状数组楼兰图腾逆序对#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=2*1e5+10;int c[maxn];int n;int lowbit(int x) { return x&(-x);}int ask(int x) { int r...原创 2019-07-10 14:13:58 · 667 阅读 · 0 评论 -
《算法竞赛进阶指南》 0x41 + 0x44 代码 + 杂谈
并查集普通并查集程序自动分析#include <bits/stdc++.h>using namespace std;const int maxn = 2e6 + 5;int n, m;int pre[maxn];void init(int n) { for(int i = 1; i <= n; i++) pre[i] = i;}...原创 2019-07-09 15:32:47 · 244 阅读 · 0 评论 -
《算法竞赛进阶指南》 0x25 ~ 0x28 代码 + 杂谈
0x25推箱子。。。。。。。 是真的写废了。。。。矩阵距离这个就是常见点 一开始就把多元点 放入队列的写法#include <bits/stdc++.h>using namespace std;const int maxn = 1005;const int dx[] = {1, 0, -1, 0};const int dy[] = {0, 1, 0, -1};type...原创 2019-08-04 19:09:34 · 823 阅读 · 0 评论 -
《算法竞赛进阶指南》 0x18 课后习题
括号画家括号匹配 stack 存下表 直接减就好#include <iostream>#include <cstring>#include <map>#include <stack>using namespace std;const string cd = "*(){}[]";map<char, int> id;...原创 2019-07-08 15:44:31 · 279 阅读 · 0 评论 -
《算法竞赛进阶指南》 0x14 ~ 0x16 代码 + 杂谈
哈希雪花hash表 做法#include <iostream>using namespace std;typedef long long ll;const int N = 100010;const int mod = 99991;int snow[N][7], head[N], nxt[N];int n, cnt;int H(int *a){ int ...原创 2019-07-07 15:44:56 · 574 阅读 · 0 评论 -
《算法竞赛进阶指南》 0x13 + 0x17 代码 + 杂谈
链表数组模拟大法好啊 orz 前向星 + 数组下标搞得各种线段树什么得邻值查找STL嚎啊#include <iostream>#include <set>using namespace std;typedef pair<int, int> P;const int maxn = 1e5 + 5;#define int long longst...原创 2019-07-07 14:02:42 · 503 阅读 · 0 评论 -
《算法竞赛进阶指南》 0x11 ~ 0x12 代码 + 杂谈
0x11 栈单调栈 栈的基本操作class MinStack {public: /** initialize your data structure here. */ int a[5050]; int mi[5050]; int tops; MinStack() { tops=0; } void ...原创 2019-07-06 15:12:08 · 951 阅读 · 0 评论 -
《算法竞赛进阶指南》 0x08 课后习题
飞行员兄弟直接暴力枚举 2^16…#include <bits/stdc++.h>using namespace std;vector<int> yh[20];void init() { for(int i = 1; i <= 16; i ++ ) { yh[i].push_back(i); int t = i; while(-- t &...原创 2019-07-05 17:33:29 · 283 阅读 · 0 评论 -
《算法竞赛进阶指南》 0x05 ~ 0x06 代码 + 杂谈
排序原创 2019-07-04 14:31:37 · 355 阅读 · 0 评论 -
《算法竞赛进阶指南》0x07 代码 + 杂谈
贪心orz 贪心和DP 快差不多一样难了Sunscreen直接贪 cow 按 l 升序 r 升序 排 spf 也升序排 这样 每个牛选最前面的尽量不挤还没的cow 就差不多了#include <bits/stdc++.h>using namespace std;const int maxn = 10005;struct node { int l, r; ...原创 2019-07-05 14:20:16 · 300 阅读 · 0 评论 -
《算法竞赛进阶指南》 0x03 ~ 0x04 代码 + 杂谈
前缀和与差分激光炸弹预处理 使n^4 变成n^2二位前缀和#include <iostream>using namespace std;const int maxn = 5e3 + 5;int sum[maxn][maxn];int main(){ int n, r; cin >> n >> r; for(int i =...原创 2019-07-03 16:14:09 · 379 阅读 · 0 评论 -
《算法竞赛进阶指南》0x01 ~ 0x02 代码 + 杂谈
0x01 位运算位运算符第 i 位为从右往左从0开始数如果要设置 n 的第 i 位为1,n=(n|(1<<i); 如果要设置 n 的第 i 位为0,n=(n &(~(1<<i));& 按位与如果两个相应的二进制位都为1,则该位的结果值为1,否则为0| 按位或两个相应的二进制位中只要有...原创 2019-07-03 14:36:24 · 1105 阅读 · 0 评论 -
[ 算法竞赛进阶指南 0x40 ] 杂谈
并查集[NOI2015]程序自动分析在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。考虑一个约束满足问题的简化版本:假设x1,x2,x3…代表程序中出现的变量,给定n个形如xi=xj或xi≠xj的变量相等/不等的约束条件,请判定是否可以分别为每一个变量赋予恰当的值,使得上述所有约束条件同时被满足。例如,一个问题中的约束条件为:x1=x2,x2=x3,x3=x4,x4≠x...原创 2019-05-28 21:26:00 · 272 阅读 · 0 评论 -
[ 算法竞赛进阶指南 0x10 ] 杂谈
栈包含min函数的栈类似单调栈处理class MinStack {public: /** initialize your data structure here. */ int a[5050]; int mi[5050]; int tops; MinStack() { tops=0; } void ...原创 2019-05-28 17:41:31 · 368 阅读 · 0 评论 -
[ 算法竞赛进阶指南 0x00 ] 杂谈
持续更新。。。。约数之和分治 入门 极大的降低复杂度#include <bits/stdc++.h>#define fastio ios::sync_with_stdio(false);cin.tie(0)using namespace std;#define int long longtypedef long long ll;typedef pair<int, ...原创 2019-05-28 14:31:46 · 205 阅读 · 0 评论