自定义博客皮肤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的博客

祈求不幸

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

原创 【CSP-S 2019模拟】题解

垃圾考试浪费时间T1:不说是随机数据做nmnmnm每次O(n)O(n)O(n)暴力很显然每次考虑一次修改对当前根的影响,暴力跳即可心情太差没写代码T2:以为分治消元跑不过去就没写不过只消有值得位置就可以跑的很快#include<bits/stdc++.h>using namespace std;#define re register#define cs cons...

2019-10-30 16:41:49 149

原创 【LOJ#2124】【HAOI2015】—树上染色(树形dp)

传送门简单dp即可#include<bits/stdc++.h>using namespace std;#define cs const#define re register#define pb push_back#define bg begin#define pii pair<int,int>#define fi first#define ll lon...

2019-10-29 19:00:29 122

原创 【LOJ#2019】【AHOI / HNOI2017】—影魔(线段树+扫描线)

传送门发现只用考虑每个值作为最大的时候即可发现贡献可以看做平面上点和线段扫描线即可#include<bits/stdc++.h>using namespace std;#define re register#define ll long long#define pb push_back#define cs const#define bg begin#define ...

2019-10-29 18:59:14 114

原创 【LOJ#2018】【AHOI / HNOI2017】—单旋(Set+线段树)

传送门观察到只有旋转最大最小这样对树形态几乎没有变化线段树维护深度即可#include<bits/stdc++.h>using namespace std;#define re register#define ll long long#define pb push_back#define cs const#define bg begin#define pii pa...

2019-10-29 18:57:08 157

原创 【CSP-S 2019模拟】题解

T1:线段树横竖模拟一下即可本来以为atan2atan2atan2过得了结果被卡精度,只有30pts30pts30pts改成叉积就过了#include<bits/stdc++.h>using namespace std;#define cs const#define re register#define pb push_back#define bg begin#d...

2019-10-29 17:15:03 243

原创 【LOJ#3045】【ZJOI2019】—开关(FWT)

传送门令fsf_sfs​表示走到状态sss的期望步数那么有s=∅,fs=0s=\empty,f_s=0s=∅,fs​=0else,fs=1+∑ifs⊕ipielse ,f_s=1+\sum_{i}f_{s\oplus i}p_ielse,fs​=1+∑i​fs⊕i​pi​这是fwtfwtfwt的形式设fff为fsf_sfs​的集合幂级数设g=∑ipix2ig=\sum_{i}p_...

2019-10-27 16:50:34 216

原创 【CSP-S 2019模拟】题解

T1:考虑当前位于(x,y)(x,y)(x,y)如果走xxx,期望多的贡献是(x−1)2+(x+1)2/2=1(x-1)^2+(x+1)^2/2=1(x−1)2+(x+1)2/2=1所以ans=nans=nans=n找不到代码了T2:考虑实际上就是两棵树两条边分别在另一棵树上包含另一条边把第二棵树的边在第一棵树上差分后再在第二棵树上单点加链求和差分一下子树加单点查O(nlogn)...

2019-10-27 13:14:20 169

原创 【CSP-S 2019模拟】题解

T1:md,Lmd,Lmd,L自己机子出问题把我656565分代码TTT成0pts0pts0pts,然后我就被LLL喷了一顿,重测了一次就过了。。委屈至极虽然656565也是正解打挂我的做法:可以发现实际上可以一直往右走主要是每次走完一个障碍后原来被障碍覆盖的点的距离要重新更新由于每个位置只会被上面或者下面的更新于是可以二分出哪一段该被上/下更新用线段树维护即可然后挂成65656...

2019-10-24 16:15:55 323

原创 【LOJ#2002】【SDOI2017】—序列计数(倍增dp)

传送门f[i][j][0/1]f[i][j][0/1]f[i][j][0/1]表示iii个数,模ppp为jjj,有无质数的方案倍增dpdpdpO(m2log)O(m^2log)O(m2log)就完了啊为什么要m3logm^3logm3log的矩乘啊#include<bits/stdc++.h>using namespace std;const int RLEN=(1&lt...

2019-10-23 00:00:25 108

原创 【LOJ #2017】「SCOI2016」围棋—(轮廓线dp+KMP)

传送门考虑计算完全没有的情况减去令f[i][j][sta][k][p]f[i][j][sta][k][p]f[i][j][sta][k][p]表示到i,ji,ji,j当前这行和上面一行与模式串第一行匹配的状态为stastasta上一行和第一行模式串匹配到了kkk,第二行匹配到了jjjstastasta是由于上面一行和当前这行总共有用的位置只有m−c+1m-c+1m−c+1个所以用轮廓线...

2019-10-19 00:12:51 158

原创 【BZOJ 2402】陶陶的难题II(分数规划+树链剖分+凸包二分)

传送门题解已经写在标题上了不过复杂度O(nlog4n)O(nlog^4n)O(nlog4n)能过也是神了#include<bits/stdc++.h>using namespace std;const int RLEN=(1<<20)|5;inline char gc(){ static char ibuf[RLEN],*ib,*ob; (ib==ob)&a...

2019-10-19 00:06:29 161

原创 【LOJ#3197】【eJOI2019】—T 形覆盖(并查集)

传送门考虑2个关键点之间的关系如果挨在一起,那么周围选的6个是确定的如果角挨在一起,那么周围选的6个也是确定的如果隔了一个格子,那么就是在周围7个里面去掉最小的一个维护相关联的一堆关键点看周围能填的格子数是否足够#include<bits/stdc++.h>using namespace std;const int RLEN=(1<<20)|5;inli...

2019-10-19 00:04:18 285

原创 【LOJ#6198】—谢特(后缀数组+01Trie)

传送门建出后缀数组按照heightheightheight合并连通块维护01Trie01Trie01Trie合并,启发式询问即可#include<bits/stdc++.h>using namespace std;const int RLEN=(1<<20)|5;inline char gc(){ static char ibuf[RLEN],*ib,*ob;...

2019-10-19 00:01:01 228

原创 【LOJ#3085】【GXOI / GZOI2019】—特技飞行(扫描线/逆序对)

传送门第二问把切比雪夫距离转成曼哈顿距离扫描线即可至于交点分析一下就可以发现是要找逆序对至于交换序列如果是要尽量交换多可以发现所有交点都可以交换因为考虑交错时交换恰好不会改变两个之间相对关系这样最后所有相互关系都不会改变否则要交换次数最少考虑一个排名的变化可以形成若干个环显然每个环都可以只交换siz−1siz-1siz−1次这样恰好最少#include<bits/st...

2019-10-18 23:58:13 173

原创 【Topcoder SRM 671 Div1 Level3】—BearDestroys(轮廓线dp)

传送门考虑直接压列是不行的只能压对角线发现两条对角线的转移只用一直压m+1m+1m+1个状态然后乱写写就可以了讨论的情况还是不少还因为各种傻叉问题调了好久#include<bits/stdc++.h>using namespace std;const int RLEN=(1<<20)|5;inline char gc(){ static char ib...

2019-10-16 14:59:33 294

原创 【CSP-S 2019模拟】题解

T1:原题是CF643DCF 643DCF643D考虑对于每个点维护fff表示所有入点的eee然后用setsetset暴力维护一下每个入点的fff以及全局最大最小值每次暴力修改即可要维护东西和影响的有点多复杂度O(nlogn)O(nlogn)O(nlogn)#include<bits/stdc++.h>using namespace std;const int RL...

2019-10-16 14:55:35 198

原创 【LOJ#6271】【长乐集训 2017 Day10】生成树求和 加强版(矩阵树定理)

传送门由于是三进制不进位加法考虑矩阵树求得是边权积的和于是用w3w_3w3​做dftdftdft把加法转成乘法做矩阵树之后再idftidftidft回来即可至于逆元(a+bw)(a+bw2)=a2−ab+b2(a+bw)(a+bw^2)=a^2-ab+b^2(a+bw)(a+bw2)=a2−ab+b2#include<bits/stdc++.h>using namesp...

2019-10-15 07:53:40 398

原创 【LOJ# 3057】【HNOI2019】—校园旅行(二分图染色+DP)

传送门首先m2m^2m2暴力dpdpdp是显然的正解毛爷爷的题解已经写得很明白了考虑所有回文串一定是一段一段颜色相同的考虑一个颜色相同的连通块如果是二分图,那么保留一颗生成树不会影响答案否则生成树上给每一个点加一个自环也不会影响答案证明是很显然的于是此时边数就是O(n)O(n)O(n)的再暴力dpdpdp就对了#include<bits/stdc++.h>usin...

2019-10-15 07:46:38 179

原创 【LOJ#575】【LibreOJ NOI Round #2】—不等关系(容斥+分治NTT)

传送门设fif_ifi​表示前iii个数都满足限制的方案数考虑如果忽略>>>号的限制实际上就是若干个上升段由于实际上需要在某些位置强制下降可以考虑容斥设cnticnt_icnti​表示前iii个有多少个>>>那么fn=∑i=0n−1[si=′>′](−1)cntn−1−cnti(ni)fif_n=\sum_{i=0}^{n-1}[s_i='...

2019-10-13 19:09:39 249

原创 【CSP-S2019模拟】题解

T1:找点双就可以了没注意空间MLEMLEMLE了#include<bits/stdc++.h>using namespace std;const int RLEN=1<<20|1;inline char gc(){ static char ibuf[RLEN],*ib,*ob; (ob==ib)&&(ob=(ib=ibuf)+f...

2019-10-12 13:52:18 209

原创 【CSP-S2019模拟】题解

T1:由于模10不好做考虑分别做模2和模5的情况乘起来就是总答案由于有0的情况可以区间dpdpdp枚举子区间第一个0的位置递归做非0区间用带权并查集判一下合法即可#include<bits/stdc++.h>using namespace std;const int RLEN=1<<20|1;inline char gc(){ static c...

2019-10-10 13:31:26 265

原创 【洛谷P5113】—魔女的夜宴Sabbat of the witch(分块+基数排序)

传送门绫地宁宁天下第一!考虑对于每一个块,用一个setsetset来维护每次整块的覆盖对于每个点再维护一个setsetset表示对散块的覆盖将块内每个点按照最后一次覆盖的时间排序维护一下后缀和对于询问,散块暴力加整块二分找到第一个在整块覆盖后被修改的点前面所有答案就都是整块的答案,加上后缀和即可每次覆盖整块加进去,散块重构每次撤销直接删去那次覆盖,散块重构这样可以做到O(n...

2019-10-10 13:23:59 790

原创 【Codeforces 666 E】—Forensic Examination(广义Sam+线段树合并)

传送门考虑对所有串建出广义SamSamSam用线段树合并维护每个节点在哪些串中出现以及最大出现次数对于每个询问,先找到rrr匹配到的节点然后树上倍增找到s[l,r]s[l,r]s[l,r]对应的节点在线段树上查询即可要特判这个串没有匹配的情况#include<bits/stdc++.h>using namespace std;const int RLEN=1<&...

2019-10-08 14:01:18 173

原创 【洛谷P4081】【USACO17DEC】—Standing Out from the Herd(广义Sam)

传送门建出广义SamSamSam后暴力更新即可#include<bits/stdc++.h>using namespace std;const int RLEN=1<<20|1;inline char gc(){ static char ibuf[RLEN],*ib,*ob; (ob==ib)&&(ob=(ib=ibuf)+frea...

2019-10-08 13:48:20 113

原创 【洛谷P4451】整数的lqp拆分(生成函数)

传送门考虑设g(x)g(x)g(x)为ansansans的生成函数那么有g(x)=f(x)g(x)+1g(x)=f(x)g(x)+1g(x)=f(x)g(x)+1g(x)=11−f(x)g(x)=\frac{1}{1-f(x)}g(x)=1−f(x)1​由于f(x)=f(x)x+f(x)x2+xf(x)=f(x)x+f(x)x^2+xf(x)=f(x)x+f(x)x2+x所以f(x)=...

2019-10-08 13:47:00 142

原创 【CSP-S 2019模拟】题解

T1:一道很简单的线段树优化建图点数边数大概在O(nlogn)O(nlogn)O(nlogn)然后DinicDinicDinic写太丑被卡常了#include<bits/stdc++.h>using namespace std;const int RLEN=1<<20|1;inline char gc(){ static char ibuf[RLEN]...

2019-10-07 16:55:02 354

原创 【Codeforces 335 E】—Counting Skyscrapers

传送门当询问AliceAliceAlice的时候可以发现答案就是nnn因为考虑如果跳过一个高度为iii的中间经过的楼房数量就是2i2^i2i考虑枚举中间有几个房子等比数列算一下就可以得到了考虑BobBobBob时考虑枚举高度iii即加入一个新的高度的绳子覆盖原来的考虑枚举当前的长度jjj那么可能在n−jn-jn−j个位置出现概率是(n−j)(1−12i)j−1∗122i(n-j...

2019-10-07 16:54:54 157

原创 【Codeforces 793 G】—Oleg and chess(线段树优化建图+最大流)

传送门一个很显然的扫描线用线段树维护一下就完了#include<bits/stdc++.h>using namespace std;const int RLEN=1<<20|1;inline char gc(){ static char ibuf[RLEN],*ib,*ob; (ob==ib)&&(ob=(ib=ibuf)+fre...

2019-10-07 16:53:33 193 1

原创 【Codeforces 809 E】—Surprise me!(欧拉函数+莫比乌斯反演+虚树)

传送门考虑有ϕ(ij)=ϕ(i)∗ϕ(j)∗gcd(i,j)ϕ(gcd(i,j))\phi(ij)=\phi(i)*\phi(j)*\frac{gcd(i,j)}{\phi(gcd(i,j))}ϕ(ij)=ϕ(i)∗ϕ(j)∗ϕ(gcd(i,j))gcd(i,j)​然后就可以枚举gcdgcdgcd乱莫反了推出来最后就是ans=∑hT(h)∑i,jnhϕ(hi)ϕ(hj)dis(p[ih]...

2019-10-07 16:52:00 197

原创 【CSP-S 2019爆零模拟】题解

太菜爆零滚粗了T1:考试的时候并没有一眼想到线段树分治的暴力想了想似乎需要在dfsdfsdfs树上乱搞些东西但不是很明确就去推结果还真的是具体的说考虑建出树来对每个点维护到父亲的边在多少个奇环偶环里对于一条树边如果被所有奇环包含而不被偶环包含就可以如果被偶环包含那么怎么删都不行对于返祖边如果是形成了奇环且只有这个奇环就可以了然后就完了#include<bits/s...

2019-10-05 16:55:22 376

原创 【Codeforces 613E】—Puzzle Lover(DP)

传送门考虑最后路径一定是分三段左边的先向左走再走回来中间上下晃右边先向右走再拐回来考虑把前2部分合在一起算每次就把当前列新的可行的第一种加入dpdpdp数组即可枚举右边用哈希算一下答案为了方便就把SSS反过来不过要判一些重复情况具体看代码(太麻烦了)#include<bits/stdc++.h>using namespace std;const int RLE...

2019-10-02 21:23:28 235

原创 【CSP2019模拟】题解

T1:本场送分题建个图求最长路即可由于T2T2T2花了太久并没有来的及写被踩爆了#include<bits/stdc++.h>using namespace std;const int RLEN=1<<20|1;inline char gc(){ static char ibuf[RLEN],*ib,*ob; (ob==ib)&&am...

2019-10-02 21:16:41 367

空空如也

空空如也

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

TA关注的人

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