- 博客(107)
- 收藏
- 关注
原创 剑指 Offer 51 数组中的逆序对
树状数组写法class Solution {public: #define maxn 50050 #define lowbit(i) (i&(-i)) int n, m, a[maxn], b[maxn], c[maxn]; void update(int x){ for(int i = x ; i <= m ; i += lowbit(i)) c[i] ++; return; } int query(int
2020-08-09 14:20:12
163
1
原创 白兔的字符串(hash+模拟map)
#include<bits/stdc++.h>#define ll long long#define PB push_back#define endl '\n'#define INF 0x3f3f3f3f#define LINF 0x3f3f3f3f3f3f3f3f#define ull unsigned long long#define lson rt <<...
2020-03-27 13:07:55
204
原创 Educational Codeforces Round 80 (Rated for Div. 2) D. Minimax Problem
D. Minimax Problem考虑二分答案,对于二分出的某个值x, 先将原数组处理成二进制的形式,大于x的位为1, 这样二进制数上限为2^8-1=255,然后暴力check。#include<bits/stdc++.h>#define ll long long#define PB push_back#define endl '\n'#define INF 0x3f3f...
2020-03-18 17:55:21
167
原创 数位dp回顾
不会数位dp的同学点这里 数位dp教学#include<bits/stdc++.h>using namespace std;#define ll long long#define lb long double#define INF 0x3f3f3f3fconst int maxn = 100035;const int mod = 1e6 + 7;int len;ll...
2020-03-11 21:15:17
152
原创 lca
#include<bits/stdc++.h>#define INF 0x3f3f3f3f#define ll long long#define endl '\n'#define PB push_back#define lson rt << 1, l, mid#define rson rt << 1 | 1, mid + 1, r#define l...
2020-02-16 17:00:16
129
原创 P4178 Tree(点分治)
https://www.cnblogs.com/PinkRabbit/p/8593080.html#include<bits/stdc++.h>#define INF 0x3f3f3f3f#define ll long long#define endl '\n'#define PB push_back#define lson rt << 1, l, mid#d...
2020-02-11 18:57:28
117
原创 U41492 树上数颜色(dsu on tree)
#include<bits/stdc++.h>#define endl '\n'#define PB push_back#define ll long longusing namespace std;const int maxn = 1e5 + 10;int n, m, sum, hson;int siz[maxn], son[maxn], num[maxn], c[ma...
2020-01-27 11:29:54
342
2
原创 P3384 【模板】树链剖分
题目描述如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作:操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节点的值都加上z操作2: 格式: 2 x y 表示求树从x到y结点最短路径上所有节点的值之和操作3: 格式: 3 x z 表示将以x为根节点的子树内所有节点值都加上z操作4: 格式: 4 x 表示求以x为根节点的子树内所有节点...
2019-12-04 21:19:51
114
原创 2019年安徽大学ACM/ICPC实验室新生赛(公开赛)
A 素数分布解法:暴力枚举#include<iostream>#include<cstring>#include<cstdio>#include<queue>#include<cstdlib>#include<cmath>#include<stack>#include<map>#in...
2019-12-01 19:07:47
903
3
转载 km算法带权二分图匹配
#include <iostream>#include <cstring>#include <cstdio>using namespace std;const int MAXN = 305;const int INF = 0x3f3f3f3f;int E_val[MAXN][MAXN]; // 记录每条边的权值int L_val[MAXN]...
2019-11-21 21:29:45
191
原创 P3810 【模板】三维偏序(陌上花开)(cdq分治)
#include<iostream>#include<cstring>#include<cstdio>#include<queue>#include<cstdlib>#include<cmath>#include<stack>#include<map>#include<string...
2019-11-18 13:37:09
109
原创 P3380 【模板】二逼平衡树(树套树)
#include<iostream>#include<cstring>#include<cstdio>#include<queue>#include<cstdlib>#include<cmath>#include<stack>#include<map>#include<string...
2019-11-17 21:39:00
136
原创 四川大学第二届SCUACM新生赛(同步赛)
A 丁姐姐喜欢Fibonacci根据奇数+偶数等于奇,奇数+奇数等于偶数可以发现斐波那契的奇偶分布为奇奇偶 奇奇偶 奇奇偶 。。。。。。所以能被3整除就是偶数#include<iostream>#include<cstring>#include<cstdio>#include<queue>#include<cstdlib>#...
2019-11-17 20:34:22
394
原创 fhq 平衡树
P3369 【模板】普通平衡树(按照val值分裂)#include<bits/stdc++.h>#define random(x) ((rand() % x))#define endl '\n'using namespace std;const int maxn = 1e6 + 10;int m, sz;int size[maxn], ls[maxn], rs[maxn]...
2019-11-14 11:18:45
589
原创 可持久化并查集
并查集按秩合并#include<iostream>#include<cstring>#include<cstdio>#include<queue>#include<cstdlib>#include<cmath>#include<stack>#include<map>#include&l...
2019-11-13 15:00:17
124
原创 线段是否和圆相交
#include<bits/stdc++.h>using namespace std;const double EPS = 1e-8;struct point{ double x, y;};point a, b, c; //线段ab, 圆心cdouble r; // 半径r double mul(point p1, point p2, point p0){ re...
2019-11-13 13:58:27
395
原创 HDU 5572 An Easy Physics Problem(计算几何)
题意判断一个点a以一个速度发射,遇到圆会反弹,问给定点b是否在点a路径上#include<bits/stdc++.h>#define ll long long#define endl '\n'#define double long doubleusing namespace std;const int maxn = 1e5 + 10;const double EPS = ...
2019-10-16 14:08:15
184
1
原创 富豪凯匹配串 bitset
bitset使用技巧#include<iostream>#include<cstring>#include<cstdio>#include<queue>#include<cstdlib>#include<cmath>#include<stack>#include<map>#includ...
2019-10-12 13:55:43
136
原创 The 13th Chinese Northeast Collegiate Programming Contest H Skyscraper
#include <iostream>#include <cstring>#include <cstdio>#include <queue>#include <cstdlib>#include <cmath>#include <stack>#include <map>#include &...
2019-10-08 19:59:39
184
原创 「2017 山东一轮集训 Day2」Pair(线段树+尺取)
#include <iostream>#include <cstring>#include <cstdio>#include <queue>#include <cstdlib>#include <cmath>#include <stack>#include <map>#include &...
2019-10-08 16:09:34
171
原创 2018-2019 ACM-ICPC, 徐州 G. Rikka with Intersections of Paths(树上差分+lca+容斥)
树上差分求出一个点被几条边覆盖(num[i]), 然后容斥算贡献#include<iostream>#include<cstring>#include<cstdio>#include<queue>#include<cstdlib>#include<cmath>#include<stack>#incl...
2019-10-04 21:06:20
264
原创 Codeforces Round #590 (Div. 3)(有东西)
A 不说了签到题#include<iostream>#include<cstring>#include<cstdio>#include<queue>#include<cstdlib>#include<cmath>#include<stack>#include<map>#include&...
2019-10-03 16:01:22
170
原创 Vases and Flowers(二分+线段树)
#include<iostream>#include<cstring>#include<cstdio>#include<queue>#include<cstdlib>#include<cmath>#include<stack>#include<map>#include<string...
2019-09-10 20:29:22
102
原创 2018-2019 ACM-ICPC, Asia Jiaozuo Regional Contest(E - Resistors in Parallel) 大数+规律
大数板子有错, 被逼无奈写了javaimport java.io.*;import java.math.BigInteger;import java.util.*;public class Main//注意在oj提交是要用Main{ int prime(int x){ for(int i = 2 ; i * i <= x ; ++ i){ ...
2019-09-10 14:33:37
243
原创 2018-2019 ACM-ICPC, Asia Jiaozuo Regional Contest(B - Ultraman vs. Aodzilla and Bodzilla)贪心
#include<iostream>#include<cstring>#include<cstdio>#include<queue>#include<cstdlib>#include<cmath>#include<stack>#include<map>#include<string...
2019-09-10 14:32:07
251
原创 洛谷P1005 矩阵取数游戏(附__int128版本)(区间dp入门)
#include<iostream>#include<cstring>#include<cstdio>#include<queue>#include<cstdlib>#include<cmath>#include<stack>#include<map>#include<string...
2019-08-28 15:15:06
228
原创 CCPC-Wannafly & Comet OJ 夏季欢乐赛(2019)茶颜悦色(扫描线)
#include<iostream>#include<cstring>#include<cstdio>#include<queue>#include<cstdlib>#include<cmath>#include<stack>#include<map>#include<string...
2019-08-17 14:26:05
182
原创 HDU Atlantis扫描线入门
#include<iostream>#include<cstring>#include<cstdio>#include<queue>#include<cstdlib>#include<cmath>#include<stack>#include<map>#include<string...
2019-08-17 14:25:13
141
原创 洛谷P2597 [ZJOI2012]灾难
#include<iostream>#include<cstring>#include<cstdio>#include<queue>#include<cstdlib>#include<cmath>#include<stack>#include<map>#include<string...
2019-08-15 17:03:05
140
原创 2019杭电多校第三场Blow up the city (支配树)
建立支配树, deep[u]+deep[v]-deep[lca(u,v)]即为答案#include<iostream>#include<cstring>#include<cstdio>#include<queue>#include<cstdlib>#include<cmath>#include<stack&...
2019-08-15 17:02:00
198
原创 2019杭电多校第七场 Final Exam(思维)
#include<bits/stdc++.h>using namespace std;#define ll long longint main(){ ll n,m,k; int t; scanf("%d",&t); while(t--){ ll sum =0; scanf("%lld%lld%lld",&am...
2019-08-13 11:55:09
187
原创 2019杭电多校第七场 A + B = C(模拟)
#include<bits/stdc++.h>using namespace std;#define ll long longconst int maxn = 3e6+7;char a[maxn],b[maxn],c[maxn];int x[5][maxn];int len ,la,lb,lc;void debug(){ for(int k=1;k<...
2019-08-13 11:53:57
159
原创 2019杭电多校第七场 Kejin Player(dp)
dp[i] 表示从i升到i+1的期望,j表示从i掉落后的等级dp[i] = ci*p + (1-p)*ci + (dp[j] + dp[j+1] + 。。。。。。dp[i-1] + dp[i])移项后就是转移方程#include<iostream>#include<cstring>#include<cstdio>#include<queue&g...
2019-08-13 11:50:59
134
原创 2019杭电多校第四场 divide the stones
首先如果石子的总数不能被k整除必然无解,反之必然有解,此处注意n==k以及k=1的特殊情况。然后分两种令m=n/k,若m为偶数则,前m/2行顺序取,后m/2行逆序取。每行取一个即为合并后的一堆石子。若为奇数,则只考虑虑前三行,因为后m-3行必然为偶数的情况。前三行的话只需前两个按顺序取,最后一个拿平均数减一下就好了。#include<iostream>#include<c...
2019-08-11 20:09:56
155
原创 2019杭电多校第一场string(序列自动机)
#include<iostream>#include<cstring>#include<cstdio>#include<queue>#include<cstdlib>#include<cmath>#include<stack>#include<map>#include<string...
2019-08-10 15:53:04
200
原创 2019杭电多校第1场 operation
暴力的做法可以用数据结构维护区间线性基,但肯定过不了。 贪心地维护序列的前缀线性基 (上三角形态),对于每个线性基,将出现位置靠右的数 字尽可能地放在高位,也就是说在插入新数字的时候,要同时记录对应位置上数字的出现位 置,并且在找到可以插入的位置的时候,如果新数字比位置上原来的数字更靠右,就将该位 置上原来的数字向低位推。 在求最大值的时候,从高位向低位遍历,如果该位上的数字出现在询问中区间左端点...
2019-08-10 13:01:41
187
原创 杭电多校第六场 snowy white
首先将纵坐标离散化。 将所有点按照横坐标排序,枚举矩形的上边界,然后往后依次加入每个点,这样就确定了 矩形的上下边界。设 v[y] 表示矩形内部纵坐标为 y 的点的权值和,则答案为 v 的最大子段和, 用线段树维护带修改的最大子段和即可。 时间复杂度 O(nlogn)。#include<iostream>#include<cstring>#include<cst...
2019-08-10 12:59:02
119
原创 Chip Factory 01字典树
#include<iostream>#include<cstring>#include<cstdio>#include<queue>#include<cstdlib>#include<cmath>#include<stack>#include<map>#include<string...
2019-08-06 19:57:38
133
原创 杭电多校第五场 three arrays
两个序列每个建一颗字典树然后dfs#include<iostream>#include<cstring>#include<cstdio>#include<queue>#include<cstdlib>#include<cmath>#include<stack>#include<map>...
2019-08-06 19:53:49
150
原创 2019杭电多校部分题解的blog合集
HDU杭电多校第五场 6628 permutation 1https://blog.youkuaiyun.com/zufesatoshi/article/details/98615028最小费用最大流模板(ek和dinic)https://blog.youkuaiyun.com/zufesatoshi/article/details/89708281杭电多校第三场 game 带修莫队https://blog.c...
2019-08-06 14:32:23
299
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人