自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Shelter

Hazard on

  • 博客(152)
  • 收藏
  • 关注

原创 高级数据结构模板

可持久化并查集[BZOJ3673]#include<bits/stdc++.h>#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define per(i,a,b) for(int i=(a);i>=(b);i--)using namespace std;const int N=2e4*20;int lc[N],rc[...

2019-02-10 17:11:56 305

原创 动态规划EX

树形DP 给出一棵n个节点的树,每个节点上有点权a_i,求最长的树上路径,满足条件:路径上经过节点(包括两个端点)点权的gcd和不等于1。 n &lt;=2e5,1&lt;=a_i&lt;=2e5   不互素就ok,不用考虑具体的gcd值,还不用考虑重复计算。 对于每个节点u,维护f_{u,v}表示u往下挂出的点权都能被v整除的最长链。 v只取整除a_u的质数,个数很少,很容易...

2019-01-16 20:52:08 443

原创 字符串

KMP Manacher 后缀数组 AC自动机 后缀自动机 回文自动机

2019-01-15 21:37:37 200

原创 图论网络流

DFSdfs树 无向图:只有树边和非树边 每条非树边对应一个环:判仙人掌 对于一个联通块忽略所有非树边进行一些操作:证明,构造 有向图:树边、回向边、前向边、同层之间的边 只有树边和前向边会从dfs序小的指向大的:Dominator Tree dfs序 无向图:dfs树上的每个子树对应dfs序的一个区间 主要是在树上使用 点/边...

2019-01-01 21:26:28 1378 1

原创 [Elements of Information Theory]

Let X be a discrete random variable with alphabet χ\chiχ and probability mass function p(x)=Pr(X=x),xϵχ.p(x)=Pr(X=x),x \epsilon \chi.p(x)=Pr(X=x),xϵχ.The entropy of X is defined bH(x)=−∑xϵχp(x)logp(x

2022-04-21 17:04:16 643

原创 【机器学习实战——第5章】:Logistic回归

CONTENT梯度下降法训练算法:使用梯度下降找到最佳参数分析数据:画出决策边界随机梯度下降算法改进的随机梯度下降算法梯度下降法假设有mmm组样本((x1,x2),y)((x^{1},x^{2}),y)((x1,x2),y)线性回归方程为:Y=w0⋅1+w1x1+w2x2Y=w_{0}\cdot1+w_{1}x^{1}+w_{2}x^{2}Y=w0​⋅1+w1​x1+w2​x2目标为最小化代价函数fmf_{m}fm​fm=∑i=1m(Yi−yi)2=∑i=1mYi2−2Yiyi+yi2f_{m

2022-04-17 20:19:04 953

原创 【机器学习实战——第2章】:K-近临算法

对未知类别属性中的数据集中的每个点依次执行以下操作:(1)计算已知类别数据集中的点与当前点之间的距离(2)按照距离递增排序(3)选取与当前距离最小的K个点(4)确定前K个点所在类别的出现频率(5)返回前K个点中出现频率最高的类别作为预测分类import numpy as npimport operatordef createDataSet():#创建数据集 group = np.array([[1.0, 1.1], [1.0, 1.0], [0, 0], [0, 0.1]])

2022-04-11 19:23:37 1195

原创 [CSAPP-Data Lab]

Students implement simple logical, two's complement, and floating point functions, but using a highly restricted subset of C. For example, they might be asked to compute the absolute value of a number using only bit-level operations and straightline code.

2021-12-25 14:35:01 228

原创 CSP201909-5 城市规划

树形背包DP,考虑每条边对答案的贡献,一条边v连接的子树选了w个点,那么这条边对答案的贡献就是k*(k-w)*v (因为最终要选k个点)#include<bits/stdc++.h>#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define per(i,a,b) for(int i=(a);i>=(b);i--)#define LL long longusing namespace std;const int N=5e4+1

2021-03-23 21:49:42 291

原创 CSP 202009-3 点亮数字人生

有向图 拓扑排序 顺便判断有没有环#include<bits/stdc++.h>#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define per(i,a,b) for(int i=(a);i>=(b);i--)using namespace std;const int N=1e4+10;int T,n,m,k,q1,val[N],du[N],tmpdu[N],x;vector<int> to[N],q[N],

2021-03-17 10:37:46 186

原创 CCF 202012-4 食材运输

CCF 202012-4 食材运输预处理出cost[i][j]表示第i 个食材从第j个点出发运送完所需的时间,t[i][S]表示从i点出发送完S 集合中出现的食材所需的最大时间,f[i][S]表示选了i个点,已送完了S种食材所需的最小时间,最后答案就是min{f[i][(1<<k)-1]} (i<=m)#include<bits/stdc++.h>#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define per(

2021-03-16 06:55:03 1316 2

原创 线段树暴力

#include<bits/stdc++.h>#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define per(i,a,b) for(int i=(a);i>=(b);i--)#define ll long longusing namespace std;const ll inf=1e8;const int N=2...

2019-04-03 19:03:48 233

原创 FFT 快速傅里叶变换

快速学习FFT原理连小学生都能看懂的FFT这年头不是被小学生花式吊打吗如果你想知道的更详细一点NTT原理及实现 卷积 FFT与高精度乘法各种题目「BZOJ2179」FFT快速傅立叶&高精度乘法...

2019-03-27 21:46:12 477

原创 当小球遇上盒子

小球与盒子问题这类问题是求解把一些小球放进一些盒子里的本质不同的方案数。通过球相同/不同,盒子相同/不同,能/不能有空盒分成了8个不同的问题。本篇文章会分别对这8个问题进行分析求解。前置芝士&amp;复习巩固组合数 :从nnn个物品里选出m个物品进行组合的方案数。Cnm=n!m!⋅(n−m)!C_{n}^{m}=\frac{n!}{m!\cdot (n-m)!}Cnm​=m!⋅...

2019-03-27 21:45:51 750

原创 矩阵乘法优化线性递推

对于一个线性递推:f[n]=a1*f[n-1]+a2*f[n-2]+a3*f[n-3]+..+ak*f[n-k],如何在O(k^3*log(n))的时间复杂度内计算出f[n]我们需要构造一个k*k的转移矩阵a 我们再构造一个状态矩阵b0 1 0 0 0 ........

2019-03-27 17:08:04 303

原创 欧拉定理

#include<bits/stdc++.h>#define rep(i,a,b) for(ll i=(a);i<=(b);i++)#define per(i,a,b) for(ll i=(a);i>=(b);i--)#define ll long longusing namespace std;const ll N=2e6;ll flag,mod,a...

2019-03-26 14:38:26 1048

原创 最大密度子图

#include<bits/stdc++.h>#define rep(i,a,b) for(register int i=(a);i<=(b);++i)using namespace std;const double inf=1e9;const int N=2e3+10;struct node{int y,n;double v;}e[N*10];int lin[N*...

2019-03-26 11:52:14 359

原创 [BZOJ2839]集合计数 组合数学+容斥原理

[BZOJ2839]一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得它们的交集的元素个数为K,求取法的方案数,答案模1000000007。 垃圾套路题 考虑交集元素个数>=k时,ans=C(n,k)*(2^(2^(n-i)) - 1) 2^(2^(n-i))=2^( 2^(n-i)%(mod-1) ) 费马小定理 直接计算...

2019-03-26 07:47:01 279

原创 [Luogu2774]方格取数问题 二分图+最小割

[Luogu2774]如果选一个点,那么和它四联通的点都不能选,所以我们考虑对网格进行黑白染色 我们可以先强制选择所有的点,然后再减去不合法的权值最小的点集 S->黑点连一条流量为点权的边,白点->T连一条流量为点权的边,黑点->白点连一条流量为inf的边 答案就是总和-最小割,因为如果图中存在增广路就相当于选了黑点又选了和他相邻的白点,所以要减去使图中不存在增广路...

2019-03-25 16:14:14 210

原创 Lucas定理

模数为质数时成立#include<bits/stdc++.h>#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define per(i,a,b) for(int i=(a);i>=(b);i--)using namespace std;int fact[100010],T,n,m,p;inline int read(...

2019-03-25 11:19:46 183

原创 [SHOI2016]随机序列 线段树

[SHOI2016]写几组例子可以发现对答案产生贡献的只有一段前缀的连乘,因为只要从这个地方断开就会有+,-两种符号相互抵消,对答案的贡献就是0,然后问题就变成了区间修改,线段树即可#include<bits/stdc++.h>#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define per(i,a,b) for(int ...

2019-03-25 10:19:40 209

原创 [HAOI2017]新型城市化 二分图+网络流+关键割边

[HAOI2017]就是求二分图的关键边 一条边是二分图的关键边当且仅当:这条边满流&&边的两端不在一个scc中 一条边是二分图的可行边当且仅当:这条边满流||边的两端在一个scc中#include<bits/stdc++.h>#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define per(i,a...

2019-03-23 17:55:23 277

原创 [CQOI2016]不同的最小割 分治最小割

[CQOI2016]求一个无向图中所有点对之间的本质不同的最小割的个数 一张图最多有n-1种本质不同的最小割,考虑如何快速地找到所有不同的最小割 只要让每次划分的S,T集合存在区别,就对应了不同的最小割 我们考虑分治来解决这问题,首先对于我们当前分治的点集,我们任选 两个点 s,t,然后我们计算这两个点之间的最小割,这个时候整张图会 被我们划分为 S,T 两个点集 这个时候当前对于当前...

2019-03-23 15:11:15 376

原创 [SHOI2017]期末考试 木桶效应+贪心

[SHOI2017]首先分析一下本题的模型,可以想象成一个木桶效应最后的答案显然之和最晚结束时间有关 因此我们可以枚举结束时间,再贪心地分配人力,就可以求出以这个时间结束的最小不愉快度。虚线此时是要求改完卷子的时间,那么在虚线右边的时间就需要通过调度老师或者增加老师来弥补。首先判断是否有A≤B,如果是,则虚线左边的空隙都可以拿来填补虚线右边的时间条,剩下的(若A>B,则剩...

2019-03-22 21:09:16 492

原创 [JXOI2018]排序问题 模拟+贪心

[JXOI2018]每次找l,r中出现次数最小的数,让他出现次数加一即可 a[i],b[i]表示出现了a[i]次的数有b[i]个#include<bits/stdc++.h>#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define per(i,a,b) for(int i=(a);i>=(b);i--)#defi...

2019-03-22 17:18:41 259

原创 EXCRT

[EXCRT模板]龟速乘ll mul(ll a,ll b,ll p){ll ans=0;for(;b;b>>=1,a=(a+a)%p)if(b&1)ans=(ans+a)%p;return ans;}扩欧ll exgcd(ll a,ll b,ll &x,ll &y){ if(b==0){x=1,y=0;return a;} ll d=exgc...

2019-03-21 19:23:55 301

原创 [51nod1678]lyk与gcd 容斥

[51nod1678]考虑容斥:ans=总和 - 下标和i不互质的数的和 枚举i的质因数,容斥即可#include<bits/stdc++.h>#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define per(i,a,b) for(int i=(a);i>=(b);i--)using namespace std;...

2019-03-21 11:52:34 224

原创 [ZROI322]C酱的表格 组合数学

[ZROI322]考虑贡献即可#include<bits/stdc++.h>#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define per(i,a,b) for(int i=(a);i>=(b);i--)using namespace std;const int mod=998244353;cons...

2019-03-20 21:28:22 215

原创 [JSOI2016]飞机调度 DAG最少路径覆盖

[JSOI2016]题目#include<bits/stdc++.h>#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define MIN(a,b) (a>b? b:a)using namespace std;const int inf=1e9;const int N=510;struct node{int x,...

2019-03-20 21:19:18 238

原创 [ARG] KMP

n,m,C<=1e6 只要两个串中的字符相对位置一样两个串就可以匹配 所以我们可以把原串每个字符改成他和他上次出现位置的距离 做KMP即可#include<bits/stdc++.h>#define rep(i,a,b) for(int i=(a);i<=(b);i++)using namespace std;const int N=1e6+100;...

2019-03-19 20:30:28 160

原创 [BZOJ3036]绿豆蛙的归宿 期望DP

[BZOJ3036]f[x]表示从x到n的期望路径长度,倒着按Topsort转移即可 正序转移的话每条边的概率不对,所以要倒序#include<bits/stdc++.h>#define rep(i,a,b) for(int i=(a);i<=(b);i++)using namespace std;const int N=1e6;struct node{int ...

2019-03-19 20:13:39 132

原创 [JSOI2016]病毒感染 动态规划

[JSOI2016]题目 g[i][j]表示 i->j->i 过程中i~j村庄最少消失的人数 f[i]表示当前在i村庄,i及i之前的村庄都被治愈的总共最少消失人数#include<bits/stdc++.h>#define rep(i,a,b) for(ll i=(a);i<=(b);i++)#define ll long longusing nam...

2019-03-19 19:52:24 396

原创 [JLOI2016]侦察守卫 树形DP

[JLOI2016]菜的真实,不会写 f[x][j]表示从x开始向下j层(包括x)以下都被覆盖的最小花费 g[x][j]表示x及x的子树都覆盖完了,x向上还能覆盖j层的最小花费 如果选x:g[x][j]=g[x][j]+f[y][j] 如果选y:g[x][j]=g[y][j+1]+f[x][j+1] f[x][j]=\sum f[y][j-1]#include<bits/s...

2019-03-18 20:13:16 166

原创 [51nod1812]树的双直径 树形DP

[51nod1812]f[x]表示x子树内最长链的长度,h[x]表示除去x即其子树的最长链长度 注意栈空间#include&lt;bits/stdc++.h&gt;#define rep(i,a,b) for(ll i=(a);i&lt;=(b);i++)#define ll __int128using namespace std;const ll inf=1e9;cons...

2019-03-18 14:54:41 322

原创 [BZOJ1797]最小割 网络流

[BZOJ1797]对于任意一条满流边(x,y),(x,y)能够出现在某个最小割集中,当且仅当c[x]!=c[y]; 对于任意一条满流边(x,y),(x,y)必定出现在最小割集中,当且仅当c[x]==c[s]且c[y]==c[t]。#include&lt;bits/stdc++.h&gt;#define rep(i,a,b) for(int i=(a);i&lt;=(b);i++)#...

2019-03-17 17:21:06 159

原创 [NOI2006]最大获利 最大权闭合子图

[NOI2006]选一条边就必须选择连着的两个点 最大权闭合子图模型#include&lt;bits/stdc++.h&gt;#define rep(i,a,b) for(int i=(a);i&lt;=(b);i++)#define per(i,a,b) for(int i=(a);i&gt;=(b);i--) using namespace std;const int inf...

2019-03-16 15:36:39 175

原创 [JSOI2016]反质数序列 二分图匹配

[JSOI2016]奇数+奇数一定不是质数(1+1除外),偶数+偶数一定不是质数,质数只可能出现在偶数+奇数中 把所有的点排成两列,权值为奇数的点在左边,权值为偶数的在右边 如果左边的点x+右边的点y是质数,我们就连一条x-&gt;y的边 最后答案显然是最大独立集=n-最小点覆盖=n-最大匹配数 最大匹配数=最大流,Dinic即可 由于1比较特殊,考虑到最终答案1的出现次数...

2019-03-14 19:49:50 230

原创 [JSOI2016]灯塔 分块

[JSOI2016]考虑本质不同的sqrt(|i-j|)最多有sqrt(n)种 相同的可以放到一块算 有些小细节需要注意 时间复杂度O(n*sqrt(n))#include<bits/stdc++.h>#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define per(i,a,b) for(int i=(a);i&lt...

2019-03-13 17:28:47 245

原创 [CF343D]Water Tree 树链剖分

[CF343D]模板题,没啥好说的 注意线段树空间#include&lt;bits/stdc++.h&gt;#define rep(i,a,b) for(int i=(a);i&lt;=(b);i++)using namespace std;const int N=2&lt;&lt;19;struct node{int y,n;}e[N&lt;&lt;1];int lin[N&...

2019-03-12 21:04:21 153

原创 STL相关

lower_bound 返回值就是返回第一次出现大于等于那个要查找的数的地址 upper_bound 返回值就是返回第一次出现大于那个要查找的数的地址 离散化rep(i,1,n)a[i]=read(),b[i]=a[i];sort(b+1,b+n+1); cnt=unique(b+1,b+1+n)-b-1;//减去起始地址rep(i,1,n)a[i]=lower_bound...

2019-03-12 20:00:57 142

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除