自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Stargazer的博客

祈求不幸

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

原创 【BZOJ5093】【Lydsy1711月赛】—图的价值(第二类斯特林数+组合数学)

传送门Hacker rankHacker\ rankHacker rank原题付费获得可还行考虑每一个点的贡献枚举度数,其他所有点之间随便练ans=2(n−1)∗(n−2)2∗∑i=0n−1(n−1i)ikans=2^{\frac{(n-1)*(n-2)}{2}}*\sum_{i=0}^{n-1}{n-1\choose i}i^kans=22(n−1)∗(n−2)​∗...

2019-07-31 16:39:18 137

原创 【洛谷P4389】—付公主的背包(多项式Exp+生成函数)

传送门考虑直接构造生成函数f(x)=∑i=0iv≤mxiv=11−xvf(x)=\sum_{i=0}^{iv\le m}x^{iv}=\frac 1 {1-x^v}f(x)=∑i=0iv≤m​xiv=1−xv1​但是所有直接乘起来是O(nmlog)O(nmlog)O(nmlog)的考虑对所有函数取对数,加起来之后再ExpExpExp回来但是直接取LnLnLn也不可取考虑令g(x)=Ln...

2019-07-31 16:16:40 249

原创 【BZOJ5306】【HAOI2018】—染色(组合数学+NTT)

传送门由于恰好不好要求考虑f[i]f[i]f[i]表示至少iii个颜色数量为SSS的方案数f[i]=(mi)(ni∗s)(m−i)n−i∗s∗(i∗s)!(s!)if[i]={m\choose i}{n\choose i*s}(m-i)^{n-i*s}*\frac{(i*s)!}{(s!)^i}f[i]=(im​)(i∗sn​)(m−i)n−i∗s∗(s!)i(i∗s)!​这个式子还是比...

2019-07-31 16:04:28 145

原创 【SCOI2018】—Numazu 的蜜柑(二次剩余)

题面Numazu 是一座坐落在太平洋西岸的美丽海滨小镇,蜜柑是这里的特产, Chika 最喜欢蜜柑了!这天她来到一棵蜜柑树下,发现这棵树由 nnn 个结点组成(1 号结 点为根节点),每个结点都生长了一些蜜柑,结点 uuu 的蜜柑数量记为 aua_uau​。她想问 聪明的你这样一个问题,有多少顶点对(u,v)(u,v)(u,v)满足:①v是u的祖先;①v 是 u 的祖先;①v是u的祖先;②a...

2019-07-31 15:46:04 393

原创 【BZOJ2159】—Crash的文明世界(第二类斯特林数+树形dp)

传送门考虑由于xn=∑i=0nS2(n,i)i!(xi)x^n=\sum_{i=0}^nS_2(n,i)i!{x\choose i}xn=∑i=0n​S2​(n,i)i!(ix​)由于(xi)=(x−1i−1)+(x−1i){x\choose i}={x-1\choose i-1}+{x-1\choose i}(ix​)=(i−1x−1​)+(ix−1​)考虑f[i][j]f[i][j]f...

2019-07-30 21:28:17 154

原创 【BZOJ4555】【TJOI2016】【HEOI2016】—求和(第二类斯特林数+NTT)

传送门题意:求∑i=0n∑j=0iS2(i,j)j!2j\sum_{i=0}^n\sum_{j=0}^{i}S_2(i,j)j!2^j∑i=0n​∑j=0i​S2​(i,j)j!2j由于S2(i,j),i&lt;jS_2(i,j),i&lt;jS2​(i,j),i<j时S2(i,j)=0S_2(i,j)=0S2​(i,j)=0...

2019-07-30 21:11:43 132

原创 【校内模拟7.30】—quests(dp)

传送门考试的时候没读懂怎么才准确猜出考虑f[i]f[i]f[i]表示长度为iii全部分辨出来的方案数直接不好求,考虑求出有区间分辨不出来的方案数显然必定是连续的一段区间无法分辨容斥的话就相当于有几个小区间相互能分辨,自己内部无法分辨考虑g[i][j]g[i][j]g[i][j]表示把iii个点分成jjj段的方案数可以直接枚举下一段的长度O(n3)dpO(n^3)dpO(n3)dp...

2019-07-30 20:41:12 145

原创 【校内模拟7.30】—slay(容斥+dp)

传送门md我连exgcd都不会了我好菜啊考虑首先nnn为质数时考虑如果前k−1k-1k−1个都随便取那最后一个就固定了选哪个但是这样有可能和前面重复考虑容斥ans=1k∑i=1k(−1)i−1Cnk−ians=\frac 1 k\sum_{i=1}^{k} (-1)^{i-1}C_n^{k-i}ans=k1​∑i=1k​(−1)i−1Cnk−i​由于nnn为质数,所以我们枚举相同...

2019-07-30 20:24:58 143

原创 【校内模拟7.30】—Ball(bitset)

传送门大概想到了,结果没想到把n2n^2n2条边拉出来排序一个个加bitsetbitsetbitset维护就完了时间复杂度不会证似乎是O(n3ω)O(\frac {n^3}\omega)O(ωn3​)但无论如何都卡不满有点卡空间,压一压可以卡到40MB40MB40MB#include<bits/stdc++.h>using namespace std;#define ...

2019-07-30 20:09:25 131

原创 【TopCoder - 13444】—CountTables(第二类斯特林数+容斥原理)

传送门题意:给定一个n×mn\times mn×m的矩阵,每个点的数值在[1,C][1,C][1,C]内,求有多少种方案使所有行和所有列都互不相同考虑f[i]f[i]f[i]表示前iii行mmm列都不相等的方案数考虑用总方案容斥掉不合法的方案iii个列都不相等的情况是(cim){c^i\choose m}(mci​)考虑减去行相等的情况考虑把所有相同的行分到一个集合可以通过枚举集合数...

2019-07-29 21:30:09 594

原创 min_25筛学习笔记

参考博客zsyxuyixuanlitble前置min25min_25min2​5就是一种能在低于线性复杂度求积性函数f(x)f(x)f(x)前缀和的筛法复杂度大概为O(n34logn)O(\frac{n^{\frac 3 4}}{log_n})O(logn​n43​​)(不会证,不过朱老大论文里有证明(看不懂))要求f(x)f(x)f(x)是一个积性函数,而且对于素数ppp,f(p)...

2019-07-28 14:56:08 834

原创 【SPOJ】 —DIVCNTK(min_25筛)

传送门Let σ0(n)\sigma_0(n)σ0​(n) be the number of positive divisors of nnn.For example, σ0(1)=1\sigma_0(1) = 1σ0​(1)=1, σ0(2)=2\sigma_0(2) = 2σ0​(2)=2 and σ0(6)=4\sigma_0(6) = 4σ0​(6)=4.Let Sk(n)=∑i=1...

2019-07-28 14:55:03 216

原创 【UOJ#13 188】—Sanrd(min_25筛)

传送门实际上题目要求的f(p)=p的次大质因子f(p)=p的次大质因子f(p)=p的次大质因子也就是说是min25min_{25}min25​筛SSS的时候每次枚举质因子后当前枚举的质数是次大质因子的也就是[pri,nprik][pr_{i},\frac n{pr_i^k}][pri​,prik​n​]内的所有质数预处理出质数个数,筛一下就完了#include<bits/stdc...

2019-07-28 14:46:34 252

原创 【BZOJ5244】【FJWC2018】—最大真因数(min_25筛)

传送门考虑一个数xxx的最大真因数就是xmin primex\frac{x}{min\ prime_x}min primex​x​考虑在min25min_{25}min25​第一个过程求ggg的过程就是用最小质因子去筛所以只需要求出被筛去得到数的和除以该质数即可#include<bits/stdc++.h>using namespace std;#def...

2019-07-28 14:29:32 301

原创 【LOJ6053】—简单的函数(min_25筛)

传送门考虑对于一个质数f(p)={p−1p&gt;2p+1p=2f(p)=\begin{cases}p-1 &amp;&amp; p&gt;2 \\p+1 &amp;&amp; p=2\\\end{cases}f(p)={p−1p+1​​p>2p=2​所以求出F(p)=1F(p)=1F(p)=1和s(p)=ps(p)=ps(p...

2019-07-28 14:20:10 320

原创 【LOJ6202】—叶氏筛法(min_25筛)

传送门和素数个数差不多把f(p)=1f(p)=1f(p)=1改成f(p)=pf(p)=pf(p)=p就可以了不会minminmin_25的点这里#include<bits/stdc++.h>using namespace std;const int RLEN=1<<20|1;inline char gc(){ static char ibuf[RLEN],...

2019-07-27 16:29:33 762

原创 【LOJ6235】—区间素数个数(min_25筛)

传送门minminmin_25模板题#include<bits/stdc++.h>using namespace std;const int RLEN=1<<20|1;inline char gc(){ static char ibuf[RLEN],*ib,*ob; (ib==ob)&&(ob=(ib=ibuf)+fread(ibuf,1,RL...

2019-07-27 16:27:59 947

原创 【HDU2138】—How many prime numbers(Miller-Rabin)

传送门二次探测:对于质数ppp,满足x2≡1(%p)x^2\equiv 1(\%p)x2≡1(%p)的只有x≡1(%p)x\equiv 1(\%p)x≡1(%p)和x≡p−1(%p)x\equiv p-1(\%p)x≡p−1(%p)直接搬仲爺的博客了#include<bits/stdc++.h>using namespace std;const int RLEN=1&l...

2019-07-26 09:44:31 158

原创 【Timus1132】—Square Root(奇质数意义下的二次剩余)

传送门SolutionSolutionSolution:首先:勒让德符号:(ap)={1a是%p意义下的二次剩余−1a是%p意义下的非二次剩余0a≡0(%p)(\frac{a}{p})=\begin{cases}1 &amp; a是\%p意义下的二次剩余 \\-1 &amp; a是\%p意义下的非二次剩余\\ 0 &amp; a\equiv 0(\%p...

2019-07-26 09:08:28 607

原创 【CERC2016】爵士之旅 Jazz Journey(贪心)

传送门只用考虑2个点之间的情况相当于就是一个0,10,10,1序列可以删去0、1、01、100、1、01、100、1、01、10,每种价格不一样求最小价格设为a,b,ab,baa,b,ab,baa,b,ab,baa=min(a,ab),b=min(b,ba),ab=min(ab,a+b),ba=min(ba,b+a)a=min(a,ab),b=min(b,ba),ab=min(ab,a...

2019-07-25 18:37:16 294

原创 【Codeforces 589 H】—电话节

ewe

2019-07-25 18:18:16 147

原创 【AtCoder Grand Contest 20】—Median Sum(结论+Bitset)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-07-25 16:25:20 126

原创 【Codeforces1061E】雅礼集训2019Day4T1—Politics(费用流)

传送门想来当初自己还是太naivenaivenaive了随便模拟一下建边跑个最大费用流就完了注意b=0的情况b=0的情况b=0的情况#include<bits/stdc++.h>using namespace std;const int RLEN=1<<20|1;inline char gc(){ static char ibuf[RLEN],*ib,*ob...

2019-07-24 21:03:37 226

原创 雅礼集训Day5 T3—Permutation(斯特林数+NTT)

n≤200000n\le 200000n≤200000令f(i,j)f(i,j)f(i,j)表示有iii个数,jjj个数是jmjmjm的方案数那有f[i][j]=S1(i,j)f[i][j]=S1(i,j)f[i][j]=S1(i,j)证明是显然的,任意分配成jjj个环,每个环最大值的位置一定是最后一个其他随意分配那显然ans=∑i=1nf(i−1,a−1)∗f(n−i,b−1)∗(n...

2019-07-24 20:30:00 227

原创 雅礼集训2019Day2 T2—Bracket(点分治+FFT)

描述给定一棵有 nnn 个节点的无根树,每个节点上是一个字符,要么是(((,要么是)))。定义 S(x,y)S(x, y)S(x,y) 为从$ $x 开始沿着最短路走到 yyy,将沿途经过的点上的字符依次连起来得到的字符串。 合法括号序定义如下:1,()()()是合法的。2,若 AAA合法,则(A)(A)(A)也合法。3,若 A,BA, BA,B 分别合法,则 ABABAB 也合法。函...

2019-07-24 14:22:01 297

原创 雅礼集训2019Day1 T3—Math(矩阵快速幂优化dp)

描述给出 nnn, mmm, xxx,你需要求出下列式子的值:∑(∑i≤mki)=n∏i≤msin(ki∗x)\sum_{(\sum_{i≤m}{k_i})=n}\prod_{i≤m}sin(k_i∗x)(∑i≤m​ki​)=n∑​i≤m∏​sin(ki​∗x)其中kik_iki​为正整数,由于答案非常大,你只需要输出答案(保证不为 0)的正负(如果是负数输出负号,否则输出正号)和从左往右第...

2019-07-24 14:14:57 273

原创 【BZOJ3156】—防御准备(斜率优化)

传送门水题随便推个式子斜率优化就完了#include<bits/stdc++.h>using namespace std;const int N=1000005;#define int long long#define gc getcharinline int read(){ char ch=gc(); int res=0,f=1; while(!isdigit...

2019-07-24 09:07:15 119

原创 雅礼集训2019 Day1T2—Permutation(主席树)

给出 nnn 个数AiA_iAi​,定义排列一个 111~nnn 的排列 PPP 的价值为:∑i≤nAi∗Pi\sum_{i\le n}A_i*P_i∑i≤n​Ai​∗Pi​请你给出排列价值前 kkk 小的 kkk 个排列的价值。n,k≤1e5n,k\le1e5n,k≤1e5考虑k=1k=1k=1时我们就是求一个排列得到∑i=1nApi∗(n−i+1)\sum_{i=1}^{n}A...

2019-07-22 17:09:49 313

原创 【BZOJ2342】【SHOI2012】—双倍回文(Pam)

传送门我们发现一个串和其倒置拼一起也是一个回文串且SSRSSRSS^RSS^RSSRSSR也是一个回文串考虑维护一个half[k]half[k]half[k]指针表示和点kkk相同分界点的最长的长度≤len[k]2\le \frac {len[k]}{2}≤2len[k]​的点发现这个也可以在构建PamPamPam的时候顺便维护然后枚举所有len[half[k]]∗2==len[k]le...

2019-07-22 11:52:15 114

原创 【BZOJ4861】【BJOI2017】—魔法咒语(AC自动机+矩阵快速幂优化dp)

传送门当l≤100l\le 100l≤100时显然的自动机上dpdpdp就完了当l≤1e8l\le1e8l≤1e8时直接dpdpdp显然是不行的但是发现基本串长度不大于二考虑矩乘优化a[i][j]a[i][j]a[i][j]表示有几个基本串使得在自动机上iii走到jjj如果所有串长相同就可以直接快速幂了但是串长有111有222不同长度不好处理拼起来的情况设A1A_1A1​表示长...

2019-07-19 17:45:42 214

原创 【BZOJ3530】【SDOI2014】—数数(Ac自动机+数位dp)

传送门f[0/1][j][k]f[0/1][j][k]f[0/1][j][k]表示有无限制,匹配到jjj位,在自动机上的点kkk的方案数瞎dpdpdp就完了注意前导0的情况,比如限制012301230123,但123123123是合法的#include<bits/stdc++.h>using namespace std;#define gc getcharinline ...

2019-07-19 12:01:02 128

原创 【USACO12JAN】—视频游戏的连击Video Game Combos(AC自动机+dp)

描述贝西在玩一款游戏,该游戏只有三个技能键 “A”“B”“C”可用,但这些键可用形成N种(1 <= N<= 20)特定的组合技。第i个组合技用一个长度为1到15的字符串S_i表示。当贝西输入的一个字符序列和一个组合技匹配的时候,他将获得1分。特殊的,他输入的一个字符序列有可能同时和若干个组合技匹配,比如N=3时,3种组合技分别为"ABA", “CB”, 和"ABACB",若贝西输入...

2019-07-19 11:57:57 202

原创 【洛谷P4557】【JSOI2018】—战争(Minkowski Sum)

传送门补模板,无题解#include<bits/stdc++.h>using namespace std;#define gc getcharinline int read(){ char ch=gc(); int res=0,f=1; while(!isdigit(ch))f^=ch=='-',ch=gc(); while(isdigit(ch))res=(res...

2019-07-18 20:43:17 193

原创 【BZOJ3879】—SvT(后缀自动机+虚树/后缀自动机+单调栈)

传送门后缀数组终于跑过了SamSamSam了后缀自动机上虚树是显然的后缀数组就按rkrkrk排序后考虑每个位置的贡献,显然就是左右都比他大的时候单调栈维护一下就是了后缀数组+单调栈#include<bits/stdc++.h>using namespace std;const int RLEN=1<<20|1;inline char gc(){ ...

2019-07-18 15:44:15 178

原创 【LOJ#2720】【NOI2018】—你的名字(后缀自动机+线段树合并)

传送门人菜常数大系列先考虑686868分的做法答案就是TTT的本质不同子串个数−-−TTT和SSS的公共子串对TTT建一个SamSamSam统计第一部分第二部分就只需要TTT在SSS上跑,维护一下当前最长匹配长度和判重就可以了考虑当l̸=rl\not= rl̸​=r的时候我们就需要知道在某一个区间有没有出现当前匹配的串假设当前匹配长度为xxx,我们当前在SamSamSam匹配到p...

2019-07-18 15:36:22 180

原创 【BZOJ4596】【SHOI2016】—黑暗前的幻想乡(矩阵树+容斥)

传送门每个公司恰好一条边不好求容斥后变成最多n−1n-1n−1个公司有边−-−最多n−2n-2n−2个公司没边+最多n−3n-3n−3个公司有边……每次矩阵树做一次就完了复杂度O(2nn3)O(2^nn^3)O(2nn3)#include<bits/stdc++.h>using namespace std;const int RLEN=1<<20|1;inl...

2019-07-17 15:29:35 122

原创 【51nod1806】—wangyurzee的树(purfer序列+容斥)

传送门发现mmm很小,显然可以考虑容斥则不满足要求就可以变成强制为一个度数的方案转化到树的purferpurferpurfer序列问题就变成了用nnn个数去填n−2n-2n−2个格子,有些数指定出现次数求方案假设限制了ttt个数,分别为d1,d2,,,dtd_1,d_2,,,d_td1​,d2​,,,dt​令s=∑dis=\sum d_is=∑di​则方案数就是ans=(n−2−...

2019-07-17 15:22:09 170

原创 【LOJ#3156】【NOI2019】—回家路线

传送门明明可以bfsbfsbfs写了个dijdijdij把自己强行玩wawawa有2种做法第一种:考虑对于同一个点的入边i,ji,ji,j转移给出边xxx把式子列出来后发现是一个标准的斜率优化在凸包上二分就可以了复杂度O(mlogm)O(mlogm)O(mlogm)第二种:发现时间很小f[i][j]f[i][j]f[i][j]表示在点iii时间jjj时最小值用mapmapma...

2019-07-16 17:23:24 266

原创 【BZOJ1396】—识别子串(后缀自动机+线段树)

传送门显然只出现一次的节点就是SamSamSam的failfailfail树的叶子节点考虑对于一个叶子节点uuu和父亲vvv对于i∈[len[u]−len[v]]i\in[len[u]-len[v]]i∈[len[u]−len[v]],答案可能是len[v]+1len[v]+1len[v]+1对于i∈[1,len[u]−len[v]−1],答案可能是len[u]−i+1i\in[1,le...

2019-07-15 18:01:04 147

原创 【BZOJ4462】【JSOI2013】—编程作业(KMP)

传送门考虑小写字母置换不好匹配,但是同一种字母是有相同的置换考虑如果把小写字母的值变成和前一个相同字母的距离就可以正常的匹配了KmpKmpKmp即可注意特判第一个字符的情况#include<bits/stdc++.h>using namespace std;#define gc getcharinline int read(){ char ch=gc(); in...

2019-07-15 17:52:19 270

空空如也

空空如也

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

TA关注的人

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