自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

psc233的博客

似乎要背水一战了呢

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

原创 多项式重探

Part1:牛顿迭代我们有形式幂级数f,t.复合t(f)=0将t(f)在f0处泰勒展开然后我们考虑在膜下的意义Part2:求逆已知f,求我们构造t(g)=fg-1,那么我们有Part3:ln已知f,求我们对两边求导Part4:exp已知f,求我们构造t(g)=ln(g)-fPart5:快速幂已知...

2019-07-23 09:14:16 188

原创 The 2021 CCPC Guangzhou A. Math Ball

给定n个不同的小球,每种小球都有无穷多个,第i个小球有一个权值ci​,现在你要从中选出不超过W个小球,定义其选择的权值为∑k1​k2​....kn​

2023-07-29 16:01:42 239

原创 min-max容斥

max(S)=∑T⊆S(−1)∣T∣+1min(T)max(S)=\sum_{T\subseteq S}(-1)^{|T|+1}min(T)max(S)=∑T⊆S​(−1)∣T∣+1min(T)E(max(S))=​∑T⊆S(−1)∣T∣+1E(min(T))E(max(S))=​\sum_{T\subseteq S}(−1)^{∣T∣+1}E(min(T))E(max(S))=​∑T⊆S​(−...

2019-11-10 19:04:22 384

原创 Codeforces Round #411 (Div. 1)-F. Fake bullions

题目链接Codeforces Round #411 (Div. 1)-F. Fake bullions解析首先我们可以把问题分割成两个独立的子问题,即先求出每个点上最小的真金子的数量与最大的真金子的数量,再组合计数考虑题目给的条件,对于图中的一条有向边(u,v),如果节点u上i位置有金子,那么节点v上的所有满足j≡i(mod gcd(su,sv))j\equiv i(mod\ ...

2019-11-06 20:22:43 163

原创 FWT

线性变换>->类比FFT对于这类东西,我们考虑tf(A)tf(B)=tf(A∗B)tf(A)tf(B)=tf(A*B)tf(A)tf(B)=tf(A∗B),其中*为某二元运算,tf为线性变换,设C=A∗BC=A*BC=A∗B形象的我们可以把tf认为tf(A)i=∑j=0nAjf(n,i,j)tf(A)_{i}=\sum_{j=0}^{n}A_{j}f(n,i,j)tf(A)i​=...

2019-11-04 19:16:06 185

原创 卡特兰数

今天模拟赛做到了一道题,发现自己的卡特兰数没有学好,现总结如下我们跳过卡特兰数的基础内容首先,CatnCat_{n}Catn​可以表示成(0,0)走到(n,n)不超过y=x这条线的方案数那么我们考虑如何求从(0,0)走到(n,m)不超过y=x这条线的方案数我们考虑套用卡特兰数的推导过程:我们考虑超过y=x这条线的路径必然触碰到了y=x+1这条线,我们将第一次碰到y=x+1这条线之后的路径...

2019-10-23 14:39:52 123

原创 「APIO 2019」桥梁

题目链接「APIO 2019」桥梁题目描述你现在有一个n个点,m条边的一张图,每条边有一个重量限制limilim_{i}limi​表示只有重量不大于limilim_{i}limi​的货车才能通过这条边,现在有两种类型的操作,一种是修改边的限制,一种是询问载重为wiw_{i}wi​的货车,从sis_{i}si​点出发能到多少个不同的点(包括sis_{i}si​)题目分析我们考虑对时间分块,...

2019-10-11 17:14:57 270

原创 类欧几里得

∑i=0n⌊ai+bc⌋\sum_{i=0}^{n}\left \lfloor \frac{ai+b}{c} \right \rfloor∑i=0n​⌊cai+b​⌋如果a>=c∑i=0n⌊ai+bc⌋=⌊ac⌋n(n+1)2+∑i=0n⌊(a%c)i+bc⌋\sum_{i=0}^{n}\left \lfloor \frac{ai+b}{c} \right \rfloor=\left \...

2019-10-09 15:53:30 143

原创 辛普森积分

simpson积分公式∫abf(x) dx≈b−a6[f(a)+4f(a+b2)+f(b)]\int_{a}^{b}f(x)\,dx\approx\frac{b-a}{6}[f(a)+4f(\frac{a+b}{2})+f(b)]∫ab​f(x)dx≈6b−a​[f(a)+4f(2a+b​)+f(b)]他实质上就是用二次函数来拟合我们的函数推导过程:g(x)=Ax2+Bx+Cg(x)=...

2019-10-09 15:50:29 598

原创 弦图

弦图的定义若一个图不存在大于3的环,那么这个图是一个弦图单纯点的定义若某点v满足{v}∪{u∣存在边(u,v)}\left\{v \right\}\cup\left\{u\mid存在边(u,v)\right\}{v}∪{u∣存在边(u,v)}的诱导子图是一个团则称该点是一个单纯点完美消除序列定义若一个序列{v1,v2,v3....vn}\left\{v_{1},v_{2},v_{3}.....

2019-10-07 15:52:56 1436

原创 2019 年百度之星·程序设计大赛 - 初赛三—min

题目链接->->->min分析:min(api,api+1)≤min(api+1,api+2)一开始博主根据上述条件胡了好几个假结论.....上述条件可以转化为条件T:把a中数加入到一个空数组中,从前往后,如果当前加入的数是当前所剩数中最小的数,那么加入的下一个数可以任意,否则加入的下一个数必须是所剩数中的最小的数,或者换句话来说,不能够连续加入的两个数都不是当前...

2019-09-05 20:42:26 164

原创 2019 Multi-University Training Contest—6—1001— Salty Fish

好题,赞一波解析:我们思考最小割模型,源点向每个树上节点i连一条容量为ai的边,每个节点i向监视i的监控器连一条容量为inf的边,每个监控器j向汇点连一条容量为cj的边(这里的ai,cj都是原题中的定义)我们只要跑最大流在用总苹果数减掉他就行了,但是由于点数过大,网络流会TLE我们考虑模拟一下网络流的过程,发现只要对于每个摄像头贪心选取还有流量且满足深度条件的最大深度的点,然后流...

2019-08-09 15:09:36 212

原创 2019 Multi-University Training Contest 5

以下代码都是本人代码,非队友代码由于某些不可抗力因素,补题的顺序有点乱1001:好神仙的辗转相除,听了杜老师的讲解后恍然大悟稍微推一下式子就发现我们要解下列不等式其中a,b,c,d固定,要求x最小我们发现当a/b与c/d之间有整数时,那么显然x取大于a/b小于c/d最小整数,y取1即可否则我们考虑a/b与c/d的整数部分为t,那么以上是辗转相除,不难发现该过程必...

2019-08-07 08:16:40 109

原创 2019 Multi-University Training Contest 1

能写一点是一点吧多校第一场由于某些不可抗力因素就没打1001:我们考虑dp[i][j][k][now](i<j<k<now)表示这四种颜色出现的最后的位置为i,j,k,now的方案数细节再稍微注意一下就行了#include<bits/stdc++.h>using namespace std;const int mod=998244353;c...

2019-08-06 20:26:03 128

原创 bzoj4025——二分图

题意:你有n个点m条边,每条边有一个出现的时间区间,对于每一个时间点判断当前是否是二分图解析:做法1(线段树分治+带权并查集):(以下不妨假设图联通)Part 1:判断一个图是否是二分图的充要条件为当前图中不存在奇环Part 2:对于一个图判断是否存在奇环的方法:我们只需要找到关于此图的生成树,然后如果加入了某条边,仅需判断该边与这颗生成树是否组成奇环。证明:如果某...

2019-08-05 11:44:27 191

原创 [GXOI/GZOI2019]旧词

[GXOI/GZOI2019]旧词离线一下,按x递增处理询问我们先对这棵树树剖一下,然后对于每一点维护非重儿子的所在子树的点的个数*ksm(dep,k)然后只需要再套个线段树就行了#include<bits/stdc++.h>#define pb(x) push_back(x)#define mk(x,y) make_pair(x,y)#define ll long...

2019-08-02 16:28:03 122

原创 Codeforces Round #576 (Div. 1)

A.只要暴力维护前后缀,再two point扫一遍就行了B.线段树模板题C.由于找什么一般图最大匹配,最大独立集是n^3的,所以这道题就是乱搞,我们考虑每次贪心找度数最小的点,然后把与其相连的度数最小的点删掉,做匹配(其实乱匹配也可以),如果匹配数不足n个,那么显然最大独立集大小大于n以下矩形(x1,y1)(x2,y2)指的是左上角点为(x1,y1)右下角点为(x2,y2)的矩形D...

2019-08-02 08:42:58 141

原创 [CQOI2013]新Nim游戏

传统Nim:如果所有石子xor起来不为0,那么先手必胜,否则后手必胜新Nim游戏:首先进行一个特殊的回合,先手和后手分别拿走若干堆石子(不能全部取完,可以不取),然后再进行Nim游戏我们考虑先手能够获胜的条件为如果他能取走若干堆石子使得剩余的石子中不存在能够取出若干堆石子使得他异或为0,那么我们考虑线性基,发现先手必胜先手取完若干堆石子之后只要剩余的石子是一组基,那么先手必胜,反之先手...

2019-08-01 12:55:20 119

原创 黑科技——三元环计数

如果给你一个无向图,问其中有多少个三元环暴力?一个菊花图就没了我们考虑如果一条边(u,v)由度数大的向度数小的连边。如果度数一样,那么编号小的向编号大的连边(这个编号大的向小的连也可以)。这时候整张图是个DAG,所以只要枚举每个点,给每个点的出点打上标记,再枚举出点的出点,如果有标记就计数,显然每个三元环只会被算到一次。我们考虑一下时间复杂度:乍一看时间复杂度不太对劲,然而...

2019-07-30 14:25:38 345

原创 Codeforces Global Round 4

现在比赛也多了起来,就记一下题解吧A.只要贪心把每个符合条件的点加入联盟即可#include<bits/stdc++.h>using namespace std;int a[1000];int n,sum,ans,s;int main() { scanf("%d",&n); for (int i=1;i<=n;i++) scanf("%d",&amp...

2019-07-22 20:58:21 110

原创 字符串2——manacher与PAM

Manacher:本质上与kmp无异,只是因为回文串的性质在具体操作上与kmp相比有较大区别思想:充分利用已知信息不妨假设我们已经求出了以id为中心的回文串长度为len[id](包括id),且他是所有以得到信息中的lenmax=id+len[id]最大的,即他是能够延伸到最右边的回文中心,那么我们对于x>id,只需要分类讨论即可1.x>=lenmax,我们只需要直接向右...

2019-07-12 10:32:51 171

原创 字符串1——KMP,字符串最小表示法,AC自动机

KMP算法:由于只有一个模式串,所以我们只需要充分利用这个模式串的信息即可我们考虑一下对于一个匹配串,我们不妨设已经匹配到了模式串的第i个位置,且在匹配串的第j位,如果第i+1个位置不能匹配,那么我们如果用朴素的匹配思想的话是只能跳到第j-i+2为再一位一位去匹配但是这样的我们并没有利用到该模式串的信息,也没有利用已经匹配那些字符的信息所以我们就引入了一个东西叫做nxt数组,nxt...

2019-07-12 08:27:35 183

原创 有源汇上下界网络流简单总结

我们考虑普通的网络流只有上界,加个下界怎么做?1.我们先把下界的限制消掉,就是使得每条边强制流上他下界的流量,这样限制得到了转化(只有上界),但是并不一定满足流量守恒2.调整流量,使得他变成一个可行流,我们考虑建虚拟源汇点SS,TT,然后考虑如果某个点流量盈余a[i]<0就让他连一条向TT的容量上限为abs(a[i])的边,a[i]>0同理,然后我们跑一遍最大流,只要使得最大流...

2019-07-11 09:34:50 231

原创 网络流24题——方格取数问题

自闭了方格取数问题把方格图黑白染色,然后转化为最小割模型就行了#include<bits/stdc++.h>using namespace std;const int INF=0x3f3f3f3f;const int M=11000;const int N=110;struct node{ int u,to,w;};node edge[M<<1...

2019-07-09 16:25:24 103

原创 [GXOI/GZOI2019]与或和

[GXOI/GZOI2019]与或和解析:首先我们分位考虑,对于二进制第i位,AND所产生的贡献为2^i*该位所构成的01矩阵中的全为1的子矩阵的个数,OR所产生的贡献为2^i*该位所构成的01矩阵中有1的子矩阵的个数对于上述化简后的问题,我们只需要单调栈就行了#include<bits/stdc++.h>#define ll long longusing nam...

2019-04-22 15:50:27 215

原创 【CTSC2018】混合果汁

【CTSC2018】混合果汁下周就省选了,好虚啊解析:首先第一眼看到这道题就有个nm再带log的做法,就是直接二分就行了然后我们发现这样的话没有把他给你的果汁的信息利用起来,所以我们直接对果汁按美味度排个序,套个主席树,再二分就做完了#include<bits/stdc++.h>#define ll long longusing namespace std;...

2019-04-21 16:10:59 312

原创 【CTSC2018】青蕈领主

【CTSC2018】青蕈领主解析:首先有个结论:对于任意i,j(i<j)我们发现i-a[i]+1..ai与j-a[j]+1..aj要么是包含关系,要么就是没有交集既然如此,我们就可以把他所给定的信息转化为树状结构我们发现问题转换为求fi表示对于1,2,3....i+1求出有多少个排列使得在排除1的情况下使得不存在一个子区间(不能有1)满足他是连续的(该定义原题中已经给出了)...

2019-04-21 09:39:07 555

原创 【CTSC2018】假面

【CTSC2018】假面op=0:直接暴力dp就好了,dp[i][j]表示第i个敌人血量剩余j的概率为多少op=1:还是暴力dp就好了,直接算出还剩余j个人的概率,枚举的时候因为每个人只算存活的概率,所以再根据总的逆推一下就好了#include<bits/stdc++.h>#define ll long longusing namespace std;const l...

2019-04-20 19:50:49 219

原创 [SDOI2015]序列统计

[SDOI2015]序列统计题意:你有一个长度为n的序列,每个位置上的数都是小于M的非负整数,且每个数必须属于给定集合S,问有多少个数列使得所有数的乘积膜M为x解析:我们显然发现该问题可以分治,而且M的范围比较小所以我们可以根据算出长度为n,乘积在膜意义下为s的方案数,然后就可以得到2n的答案但是由于在计算过程中是膜意义下的(下标),所以一旦算的话还是要M^2枚举,但是我们发现我们...

2019-03-22 21:47:05 322

原创 【ZJOI2017】树状数组

题意:树状数组解析:由于他把树状数组写反了,再由于树状数组维护信息的本质可得它实际上得到的值为区间[l-1,r-1]的值的和,于是我们就很容易的发现一个事实就是如果l-1与r两个位置上的值相同,那么最终询问就是正确的值(以下值均在膜2意义下)但是由于是两个位置,一维的数据结构必然支撑不起这样的信息维护,那么我们就只能用二维的树套树(矩阵信息显然可以合并)那么我们考虑一下修改时显然可以分...

2019-03-21 14:51:40 196

原创 【ZJOI2017】仙人掌

题目大意:给你一张联通图,问你加边使得他是个仙人掌的方案数解析:首先如果一开始就不是个仙人掌,那方案数显然是0否则,我们发现由于每条边都只能被至多覆盖一次(仙人掌的性质),所以多出来的边必定可以把这棵树分割成一些独立的树,那么我们把问题转化为对于一颗树来说,求出他加边使得他是个仙人掌的方案数那么接下来我们思考一下dp方程设dp[i][0]表示当前这个点i的子树内部不存在向上连的...

2019-03-21 07:31:52 188

原创 Yahoo Programming Contest 2019做题记

D.我们发现最终的路径一定是这样的------------------------------------------------ --------- (1) (2) (3)其中(1)(3)两种路径所产生的贡献为:0的个数*2+奇数的个数(2)所产生的贡献为:偶数的个数...

2019-03-09 19:20:02 170

原创 城市规划

题意:让你求n个点所构成的无向连通图的方案数,n&lt;=130000解析:我么考虑一下推式子设f[i]为i个点所构成的无向连通图的个数g[i]为i个点所构成的无向图的个数我们发现然后还是展开组合数然后我们把他们看做然后我们可以直接多项式求拟了// luogu-judger-enable-o2#include&lt;bits/stdc++.h&gt;...

2019-03-08 14:43:10 192

原创 [HAOI2018]染色

题意:给你一个长度为n的序列,你有m种颜色,每个位置可以染这m种颜色中的一种,如果序列中出现次数恰好为s的颜色种类数为k,那么会有的贡献,问所有染色方案的贡献和解析:设f[i]表示至少有i种颜色他们在这序列中出现的次数恰为s次的染色方案数设g[i]表示恰好有i种颜色他们在这序列中出现的次数恰为s次的染色方案数那么答案就是我们可以发现放松限制之后f[i]挺好求所以我们...

2019-03-06 16:41:53 315

原创 [HEOI2016/TJOI2016]求和

题意:给你n,让你求一个式子如下解析:我们知道第二类斯特林数的通项公式为所以上式就变为然后就是常见操作,把组合数拆开其中sum(i)就是上面那个等比数列的和所以我们发现里面那个式子就是卷积的形式那么直接NTT就行了// luogu-judger-enable-o2#include&lt;bits/stdc++.h&gt;#define ll lon...

2019-03-04 21:53:31 182

原创 [TJOI2018]数学计算

解析:只要离线一下,对于每种操作1算一下它产生贡献的区间就行了,那么这个直接线段树维护#include&lt;bits/stdc++.h&gt;using namespace std;const int MAXN=1e5+10;int T,n,opt,l[MAXN];long long mod,m,q[MAXN],f[MAXN&lt;&lt;2];void pushdown(int...

2019-03-04 14:35:02 176

原创 [HAOI2018]反色游戏

这道题想必得给出题人寄刀片了题意:有N个点,每个点有黑白两色,给你一个关于N个点M条边的图,每次你可以选一条边(u,v)然后将u,v两点反色,每条边最多选1次,问最终有多少方案使得每个点都是白色,显然最多有2^m的方案数如果我们对于第i个点,删掉该点以及与其相连的边,新的答案是多少(对于每个点都要求)解析:我们考虑一下经典的问题:从x1,x2,x3....xn中选出一些数使得他的x...

2019-03-03 21:03:21 427

原创 [HAOI2018]奇怪的背包

我们考虑一下只需要对每个数对P取gcd之后再考虑有多少个集合选出来的gcd是gcd(w,P)的约数,P的约数个数是1e3级的,所以可以直接预处理出答案#include&lt;bits/stdc++.h&gt;using namespace std;const int mod=1e9+7;const int MAXN=1e6+10;int fac[MAXN],sum[MAXN],p[MA...

2019-03-02 15:17:13 195

原创 P4492 [HAOI2018]苹果树

题目描述:你现在有n个点,问这n个点所构成N!棵树的值的和,每棵树的值定义为该树中所有点对的距离之和解析:首先我们对于这种题可以思考一下递推然后我们就可以dp了,设f[i][j]表示我们已经解决了前i个节点,所有的树的子树的大小为j的个数之和那么我们每次新加入一个点本质上就区分为加在这个子树内部或这个子树外部,然后转移方程就显而易见了#include&lt;bits/stdc++...

2019-02-28 20:47:00 140

原创 Codeforces Round #539 (Div. 1)

A.显然就是统计有多少区间长度为偶数且xor为0#include&lt;bits/stdc++.h&gt;using namespace std;int n,x;int f[2000010][2];long long ans;int main(){ scanf("%d",&amp;n); f[0][0]=1; int s=0; for (int i=1;i&lt;=n...

2019-02-18 08:54:16 167

空空如也

空空如也

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

TA关注的人

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