自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ark

长夜伴浪破晓梦 梦晓破浪伴夜长

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

原创 Codeforces Round #554 (Div. 2) F2. Neko Rules the Catniverse (Large Version) (矩阵快速幂 状压DP)

题意有nnn个点,每个点只能走到编号在[1,min(n+m,1)][1,min(n+m,1)][1,min(n+m,1)]范围内的点。求路径长度恰好为kkk的简单路径(一个点最多走一次)数。1≤n≤109,1≤m≤4,1≤k≤min(n,12)1\le n\le 10^9,1\le m\le 4,1\le k\le min(n,12)1≤n≤109,1≤m≤4,1≤k≤min(n,12)分析...

2019-04-29 17:04:20 188

原创 Codeforces Round #554 (Div. 2) E Neko and Flashback (欧拉路径 邻接表实现(当前弧优化..))

就是一欧拉路径贴出邻接表欧拉路径CODE#include <bits/stdc++.h>using namespace std;const int MAXN = 100005;int n, b[MAXN], c[MAXN], bin[MAXN<<1], tot;int val[MAXN], deg[MAXN], stk[MAXN<<1], top;...

2019-04-29 16:44:14 204

原创 Codeforces Round #551 (Div. 2) F. Serval and Bonus Problem (DP/FFT)

yyb大佬的博客这线段期望好神啊。。。还有O(nlogn)FFTO(nlogn)FFTO(nlogn)FFT的做法 Freopen大佬的博客本蒟蒻只会O(n2)O(n^2)O(n2)CODE#include <bits/stdc++.h>using namespace std;const int mod = 998244353;typedef long long LL;...

2019-04-28 17:47:39 154

原创 Codeforces Round #551 (Div. 2) E. Serval and Snake (交互题)

人生第一次交互题ac!其实比较水容易发现如果查询的矩阵里面包含一个端点,得到的值是奇数;否则是偶数。所以只要花2*n次查询每一行和每一列,找出其中查询答案为奇数的行和列,就表示这一行有一个端点。令cntr表示答案为奇数的行数,cntc表示答案为奇数的列数。那么cntr只能为0或者2,0就表示两个头在同一行,2就表示两个头在不同的行(我们已经找出这两行了)cntc亦然。然后cntr与c...

2019-04-28 17:05:29 159

原创 BZOJ 5495: [2019省队联测]异或粽子 (trie树)

这题果然是原题[BZOJ 3689 异或之].看了BZOJ原题题解,发现自己sb了,直接每个位置维护一个值保存找到了以这个位置为右端点的第几大,初始全部都是1,把每个位置作为右端点能够异或出来的最大值放入优先队列,然后找最大的一个累计答案后pop掉,假设找到的右端点是r,就把r能异或出来的第二大再加入队列.找k次就行了.这样在trie上找第k大就维护一个size就行了.mdzz这么显然居然没有想出...

2019-04-13 17:28:59 369

原创 BZOJ 5494: [2019省队联测]春节十二响 (左偏树 可并堆)

题意略分析稍微yy一下可以感觉就是一个不同子树合并堆,然后考场上写了一发左偏树,以为100分美滋滋.然而发现自己傻逼了,两个堆一一对应合并后剩下的一坨直接一次合并进去就行了.然鹅我这个sb把所有元素pop一次再merge进去…然后就O(n2)O(n^2)O(n2) 60分滚粗了…啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊时间复杂度分析:每个点只会被pop出去一次,pop的时候伴随了一次p...

2019-04-13 17:24:30 177

原创 BZOJ 5496: [2019省队联测]字符串问题 (后缀数组+主席树优化建图+拓扑排序)

题意略分析考场上写了暴力建图40分溜了…(结果只得了30分)然后只要优化建边就行了首先给出的支配关系无法优化,就直接A向它支配的B连边.考虑B向以B作为前缀的所有A连边,做一遍后缀数组,两个区间的左端点位置的LCP一定大于等于B的长度.在排好序的后缀数组上就是一段区间.然后用线段树优化建边.那么用ST表倍增算一下能拓展的区间就行了.然后由于只能向长度大于自己的连边,就按长度排序然后...

2019-04-13 17:17:27 258

原创 2019十二省联考游记

Day0早上在机房复习复习模板,准备下午去试机时打打LCT/多项式各类运算什么的…试机的时候发现键盘的线垫在下面很不爽.摇来摇去的.然后晚上莫名和机房几位大佬一起被拉去与教练,家长们吃饭…(据说死刑犯上刑场前一天晚上都要吃顿好的…)晚上颓了GC...(Inori赛高!!!)\textcolor{white}{颓了GC...(Inori赛高!!!)}颓了GC...(Inori赛高!!!)...

2019-04-06 20:23:05 948

原创 省选模拟赛 Problem 3. count (矩阵快速幂优化DP)

DiscriptionDarrellDarrellDarrell 在思考一道计算题。给你一个尺寸为 1×N1 × N1×N 的长条,你可以在上面切很多刀,要求竖直地切并且且完后每块的长度都是整数。在这种限制下其实只有 N−1N − 1N−1 个位置可以切。对于一种切的方案,假如切完后每块的宽度分别是:w1,w2,w3,...,wk(∑wi=N)w1, w2, w3, ..., wk(\su...

2019-04-05 21:09:01 213

转载 朱刘算法 模板

恬不知耻转走学长博客 616156的博客

2019-04-05 14:19:30 113

原创 Luogu P3690【模板】Link Cut Tree (LCT板题)

省选前刷道LCT板题(话说之前没做这道题…)CODE#include<bits/stdc++.h>using namespace std;inline void read(int &num) { char ch; int flg = 1; while(!isdigit(ch=getchar()))if(ch=='-')flg = -flg; for(num=0; i...

2019-04-05 14:10:37 142

原创 BZOJ 3680: 吊打XXX // Luogu [JSOI2004]平衡点 / 吊打XXX (模拟退火)

第一次写模拟退火…这是在BZOJ上过了的(在luogu上会WA)CODE1#include<bits/stdc++.h>using namespace std;inline void read(int &num) { char ch; int flg = 1; while(!isdigit(ch=getchar()))if(ch=='-')flg = -flg...

2019-04-05 11:22:40 157

原创 BZOJ 2599: [IOI2011]Race(点分治板题)

我也就只会做做板题了…记得清零数组的时候子树遍历清零,否则会TCODE#include<bits/stdc++.h>using namespace std;inline void read(int &num) { char ch; int flg = 1; while(!isdigit(ch=getchar()))if(ch=='-')flg = -flg; fo...

2019-04-05 10:05:56 179

原创 BZOJ 3309: DZY Loves Math (莫比乌斯反演)

反演比较简单,可以化成Ans=∑k=1min(n,m)⌊nk⌋⌊mk⌋∑d∣kμ(kd)f(d)\large Ans=\sum_{k=1}^{min(n,m)}\lfloor{\frac{n}{k}}\rfloor\lfloor{\frac{m}{k}}\rfloor\sum_{d|k}\mu(\frac kd)f(d)Ans=k=1∑min(n,m)​⌊kn​⌋⌊km​⌋d∣k∑​μ(dk​)f...

2019-04-05 09:32:00 181

原创 BZOJ 3944: Sum (杜教筛)

惊险…卡着时限过了…注意有的地方可能爆int(因为有231−12^{31}-1231−1)有几个地方可能会蜜汁RE,具体看代码注释CODE9000ms卡过2333#include<bits/stdc++.h>using namespace std;typedef long long LL;const int MAXN = 1000005;int prime[MAXN/...

2019-04-04 22:30:29 120

原创 BZOJ 4802: 欧拉函数 (Pollard-Rho)

开始一直T,原来是没有srand…CODE#include<bits/stdc++.h>using namespace std;typedef long long LL;vector<LL>arr;inline LL multi(LL a, LL b, LL p) { LL re = a * b - (LL)((long double) a / p * b +...

2019-04-04 21:13:08 134

原创 BZOJ 4522: [Cqoi2016]密钥破解 (Pollard-Rho板题)

Pollard-Rho 模板板题…没啥说的…求逆元出来后如果是负的记得加回正数CODE#include<bits/stdc++.h>using namespace std;typedef long long LL;queue<int>arr;inline LL multi(LL a, LL b, LL p) { //快速乘 LL re = a * b - ...

2019-04-04 17:58:20 192

原创 BZOJ 1027: [JSOI2007]合金 (计算几何+Floyd求最小环)

题解就看这位仁兄的吧…不过代码还是别看他的了…同样的方法…我200ms,他2000ms.常数的幽怨…CODE#include <bits/stdc++.h>using namespace std;const int MAXN = 505;const double eps = 1e-8;struct Point { double x, y; Point(){} Po...

2019-04-04 16:07:56 144

原创 BZOJ 2178: 圆的面积并 (辛普森积分)

code#include <set>#include <cmath>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int MAXN = 1005;const double Pi = acos(-1.0);c...

2019-04-03 23:07:48 216

原创 BZOJ 1043: [HAOI2008]下落的圆盘

暴力枚举每个圆后面的所有圆对这些圆每个与当前圆计算覆盖的弧度(有两个半径一个圆心距可以用余弦定理)把算出来的这些弧度存进栈里最后一起统计一下总共覆盖多少弧度,再计算剩余部分弧长(摘自CreationAugust 的博客)CODE#include <set>#include <cmath>#include <cstdio>#include &lt...

2019-04-03 22:57:41 144

原创 BZOJ 3630: [JLOI2014]镜面通道 (网络流 +计算几何)

水能流过的地方光都能达到呵呵.jpg那就是裸的最小割(割开上边界和下边界)了…判矩形和圆相交的时候就用圆心对矩形求一次点到矩形的最近距离(类似KD树的预估函数).CODE#include <vector>#include <cstdio>#include <cstring>#include <algorithm>using na...

2019-04-03 22:29:43 127

原创 BZOJ 2013 : [Ceoi2010]A huge tower / Luogu SP6950 CTOI10D3 - A HUGE TOWER

传送门菜鸡.jpgCODE#include <bits/stdc++.h>using namespace std;const int MAXN = 620005;int n, d, a[MAXN];int main() { scanf("%d%d", &n, &d); for(int i = 1; i <= n; ++i) scanf("%d...

2019-04-03 22:22:46 186

原创 BZOJ 3210: 花神的浇花集会 (切比雪夫距离)

GXZlegendCODE#include <bits/stdc++.h>using namespace std;#define LL long longconst int MAXN = 100005;int n, a[MAXN], b[MAXN], x[MAXN], y[MAXN];inline LL f(int px, int py) { LL re = 0; f...

2019-04-03 21:50:12 156

原创 BZOJ 2458: [BeiJing2011]最小三角形 (分治)

分治就是了.类似于分治找最近/远点对.CODE#include <bits/stdc++.h>using namespace std;const double eps = 1e-13;const int MAXN = 200005;const double INF = 1e15;#define sqr(x) ((x)*(x))struct Point { doubl...

2019-04-03 20:13:45 163

原创 BZOJ 1845: [Cqoi2005] 三角形面积并 (辛普森积分)

大力辛普森积分精度什么的搞了我好久…学到了Simpson的一个trick速度成功BZOJ倒数CODE#include <bits/stdc++.h>using namespace std;const int MAXN = 205;const double eps = 1e-13;inline double sqr(double x) { return x*x; }i...

2019-04-03 19:10:18 263

原创 BZOJ 1007: [HNOI2008]水平可见直线 (半平面交)

eps害人啊…我开到1e-10都不够,1e-12才够.然鹅我看有的代码不用写eps都过了…蒟蒻被动:被卡精度.#include <bits/stdc++.h>using namespace std;const double eps = 1e-12;const int MAXN = 50005;inline double sqr(double x) { return x*x...

2019-04-02 21:39:50 173

原创 BZOJ 1038: [ZJOI2008]瞭望塔

半平面交后,可能成为答案的点就是凸包上的点 和 山峰(分段函数的分段点).枚举一下就行了.#include <bits/stdc++.h>using namespace std;const double eps = 1e-10;const int MAXN = 505;inline double sqr(double x) { return x*x; }inline do...

2019-04-02 21:15:22 183

原创 BZOJ 2618: [Cqoi2006]凸多边形 (半平面交)

模板CODE#include <bits/stdc++.h>using namespace std;const double eps = 1e-10;const int MAXN = 505;inline double sqr(double x) { return x*x; }inline double dcmp(double x) { if(x < -ep...

2019-04-02 20:19:51 140

原创 BZOJ 2219 数论之神 (CRT推论+BSGS+原根指标)

存两篇博客PoPoQQQjcvb

2019-04-02 12:26:38 217

原创 BZOJ 1420: Discrete Root (原根+BSGS)

题意已知kkk, aaa, ppp. 求 xk≡a (mod p)x^k\equiv a\ (mod\ p)xk≡a (mod p) 的所有根. 根的范围[0,p−1][0,p-1][0,p−1]. ppp为质数分析因为ppp是质数,那么一定有原根.设为ggg.原根的性质如下:对于[1,p−1][1,p-1][1,p−1]的所有iii,一定存在x...

2019-04-02 11:27:28 258

转载 求解模奇质数意义下的二次同余方程的几种方法

sto DZYO orz

2019-04-02 10:25:09 663

原创 BZOJ 4128: Matrix (矩阵BSGS)

类比整数的做法就行了1A爽哉#include<bits/stdc++.h>using namespace std;typedef long long LL;const int MAXN = 75;const int sed = 137;int n, p;struct Matrix { int v[MAXN][MAXN]; Matrix(){ memset...

2019-04-02 10:20:03 330

原创 BZOJ 3122: [Sdoi2013]随机数生成器 (BSGS)

设目标状态为XnX_nXn​.画一画柿子Xi+1=a∗Xi+bXi+1+ba−1=a∗(Xi+ba−1)\begin{aligned}X_{i+1}&amp;=a*X_i+b\\X_{i+1}+\frac b{a-1}&amp;=a*\left(X_i+\frac b{a-1}\right)\end{aligned}Xi+1​Xi+1​+a−1b​​=a∗Xi​+b=a∗(Xi​+...

2019-04-02 09:45:07 151

原创 BZOJ 2242 / Luogu P2485 [SDOI2011]计算器 (BSGS)

type 1type\ 1type 1 就直接快速幂type 2type\ 2type 2 特判+求逆元就行了.type 3type\ 3type 3 BSGS板CODE#include<bits/stdc++.h>using namespace std;typedef long long LL;inline L...

2019-04-02 08:39:51 223

原创 BZOJ 2882: 工艺 (SA/SAM/最小表示法)

我写的O(nlogn)O(nlogn)O(nlogn)的SA 8000ms被O(n)O(n)O(n)的SAM 2800ms和O(n)O(n)O(n)的最小表示法 500ms头都锤爆…CODE贴上大常数选手的代码#include<bits/stdc++.h>using namespace std;char cb[1<<15],*cs=cb,*ct=cb;...

2019-04-02 08:09:57 200

原创 BZOJ 3238: [Ahoi2013]差异 (后缀数组+单调栈)

题目要求所以Ans=n∗(n−1)∗(n+1)2−2∗∑1≤i&lt;j≤nlcp(Ti,Tj)Ans=\frac{n*(n-1)*(n+1)}{2}-2*\sum_{1\le i&lt;j\le n}lcp(T_i, T_j)Ans=2n∗(n−1)∗(n+1)​−2∗1≤i<j≤n∑​lcp(Ti​,Tj​)后面要减去的部分是两两后缀的lcplcplcp,那么做了后缀...

2019-04-01 21:45:07 158

原创 BZOJ 2946 [Poi2000]公共串 (二分+Hash/二分+后缀数组/后缀自动机)

求多串的最长公共字串.法1: 二分长度+hash 传送门法2: 二分+后缀数组 传送门法3: 后缀自动机拿第一个串建自动机,然后用其他串在上面匹配.每次求出SAM上每个节点的最长匹配长度后,再在全局取最小值(因为是所有串的公共串)就行了.CODE#include<bits/stdc++.h>using namespace std;char cb[1<<15]...

2019-04-01 20:28:20 227

原创 BZOJ 1031: [JSOI2007]字符加密Cipher (后缀数组)

求循环排列的排名,直接把原串复制一遍接在后面做后缀数组就行了.CODE#include<bits/stdc++.h>using namespace std;char cb[1<<15],*cs=cb,*ct=cb;#define getc() (cs==ct&&(ct=(cs=cb)+fread(cb,1,1<<15,stdin),cs...

2019-04-01 19:14:35 111

原创 BZOJ 1692: [Usaco2007 Dec]队列变换 (后缀数组/二分+Hash)

跟BZOJ 4278: [ONTAK2015]Tasowanie一模一样SA的做法就是把原串倒过来接在原串后面,O(nlogn)O(nlogn)O(nlogn)做后缀数组,就能O(1)O(1)O(1)够比较每个前缀和后缀谁的字典序小了.Hash二分也可以.CODE(SA)O(nlogn)O(nlogn)O(nlogn)#include<bits/stdc++.h>using...

2019-04-01 19:03:13 170

原创 BZOJ 3172: [Tjoi2013]单词 (AC自动机)

跟这道题一模一样,而且不强制在线,所以先打标记然后上传就行了.CODE#include<bits/stdc++.h>using namespace std;char cb[1<<15],*cs=cb,*ct=cb;#define getc() (cs==ct&&(ct=(cs=cb)+fread(cb,1,1<<15,stdin),cs...

2019-04-01 17:39:07 128

空空如也

空空如也

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

TA关注的人

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