自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

转载 本人的代码规范

完全按照谷歌,结束。转载于:https://www.cnblogs.com/Sai0511/p/11514898.html

2019-09-12 20:03:00 110

转载 [IOI2018]werewolf狼人

好像很久没更博客了呢~[IOI2018]werewolf狼人题目链接洛谷题解可以将题意转化为求从\(S\)出发只经过大于\(L\)的点构成的集合\(∩\)从\(E\)只经过小于\(R\)的点是否为空。我们建\(2\)颗\(kruskal\)重构树\(A,B\)。\(A\)为每条边的两个点中取较小的点为权值所构成的最大生成树对应的重构树。\(B\)为每条边的两个点中取较大...

2019-09-08 23:32:00 226

转载 洛谷p5444 [APIO2019]奇怪装置

[APIO2019]奇怪装置。题目洛谷题解先来证明一个引理。\(ac \equiv bc(modp),(c,p)=d\)则\(a \equiv b(mod \frac{p}{d})\)\(\because ac ≡ bc(mod p)\)\(\therefore p|ac-bc\)\(\therefore p|c(a-b)\)\(\because (c,p)=d\)\...

2019-08-20 13:23:00 221

转载 洛谷p4211 [LNOI2014] LCA

[LNOI2014] LCA题面洛谷题解水题。对于一个区间\([l,r]\)的答案。我们把它差分成\([1,r] - [1,l - 1]\)然后因为右端点是固定的,用树剖+只有1个端点的莫队就解决了...你谷恶评实在太严重了。#include <bits/stdc++.h>const int maxn = 5e4 + 10;const int mod ...

2019-08-20 13:11:00 116

转载 洛谷P2805 [NOI2009] 植物大战僵尸

【NOI2009】植物大战僵尸题面洛谷题解先扯一些无关的,最近怀旧重新玩了玩植物大战僵尸,然后发现打到夜晚池塘的时候矿工僵尸发现很难处理于是回来刷了刷题...看到洛谷上正好有道植物大战僵尸就写了(看完发现是道最大权闭合子图模型的水题)。行步入正题。先说一说什么是闭合子图(好像看这名字都可以大致猜出来这是什么东西)若\(G'(V',E')\)是\(G(V,E)\)的闭合子图...

2019-08-08 14:42:00 165

转载 莫比乌斯反演专题

前段时间教练讲了莫比乌斯反演,决定发一篇博客来加深自己的理解。(众所周知我是个很懒的人,不愿意去打非常复杂的\(latex\),所以我的题解里很少有需要很复杂的推式子的题。。。)【hdu1695】GCD题面hdu题解题意:求\[\sum_{i=1}^a \sum_{j=1}^b [gcd(i,j)==d]\]不难发现和这个式子是等价的\[\sum_{i=1}^{a/d} ...

2019-08-07 13:38:00 102

转载 洛谷p3643[APIO2016]划艇

【洛谷p3643】[APIO2016]划艇题面洛谷题解组合\(dp\)我们设\(f[i][j]\)表示第\(i\)所学校参赛,并且派出了\(j\)艘划艇的方案数。不难得到:\[f_{0,1} = 1\]\[f_{i,j} = j∈I_i ? \sum_{k=1}^{j-1}\sum_{p=0}^{i-1}f_{p,k}:0\]答案即为\(f_{i,j}\)之和。这时我...

2019-08-06 17:12:00 170

转载 洛谷p5369[PKUSC2018]最大前缀和

【洛谷P5369】【PKUSC2018】最大前缀和题面洛谷题解状压\(dp\)。我们设\(s[S]\)表示选了\(S\)这个状态的数的和,\(f[S]\)表示最大前缀和为\(s[S]\)的方案数,\(g[S]\)表示任意前缀和均为负的方案数。我们在输入的时候可以在\(O(2^n*n)\)的复杂度将\(s\)的值算出来。接下来就可以转移了。枚举所有状态。如果\(>0...

2019-08-06 10:55:00 94

转载 洛谷p5465 [PKUSC2018]星际穿越

【洛谷p5465】【PKUSC2018】星际穿越题面洛谷题解众所周知PKUSC的题大多都不可做,今天好不容易看到1个倍增水题(我猜当时应该全场切了)。我们设\(f[i][j]\)表示\(i\)点走\(j\)步可以到达的最左的点。于是\(f[i][j + 1] = min^{i-1}_{k=f[i][j]}l[k]\)我们发现这个东西是可以倍增优化的。于是就做完了...代...

2019-08-05 15:42:00 178

转载 自己瞎调的一些曲子

欢迎来B站空间玩OI版小幸运OI版东京不太热希望大家喜欢啊。近期的一些计划,大概在noip2019前会出《狂浪》或者《繁华唱遍》QAQ。(大概是繁华唱遍)。转载于:https://www.cnblogs.com/Sai0511/p/11279280.html...

2019-07-31 21:43:00 76

转载 洛谷p3778[APIO2017]商旅

【洛谷p3778】【APIO2017】商旅题面洛谷题解01分数规划水题...设总收益为\(x\)总代价为\(y\),那么题目中求的就是\(\frac{x}{y}<=z\)的最小取值。把这个式子变个形:\(x-yz<=0\),然后二分\(z\)。我们可以\(O(n^3)\)预处理出最大收益\(pro_{i,j}\)和这张图每2个点之间的最短耗时(其实就是最短路)\...

2019-07-29 15:26:00 129

转载 NOIP2018提高组题解

d1t1铺设道路无力吐槽。但还是说一下。我们想象一下就能知道,如果一个坑比前面一个坑要深的话那前面那个可以一起填掉。这题放pjt1都不以为过... 甚至都不需要数组。代码不贴了(洛谷上过的那个是去年11月码风还没加空格时候的代码)。d1t2 货币系统无力吐槽。完全背包。不是很想讲。#include <bits/stdc++.h>const int maxn ...

2019-07-28 12:47:00 196

转载 NOIP前要干的一些事

我觉得一句话说的很好:坟墓是为自己建的,那博客无非也是为了自己而写的。(好像本来就没啥人看我博客)。。NOIP2018完美翻车,啥都去不了(就算没翻也没报提高组还是啥都去不了)。普及组也是T4sb错误T3到现在依然认为是道神仙题翻了。于是只能看着别人去省选,看着别人去APIO,看着别人去CTS....开学就初二了,希望在这里整理一下要干的一些事情吧qwq。转载于:htt...

2019-07-27 22:21:00 74

转载 NOIP2017提高组题解

不知不觉NOIP正在慢慢来了啊。最近要开始刷些和NOIP难度类似的题目。有空做了做NOIP2017的题,感觉和NOIP2018d2的难度区分有明显的感觉啊...d1t1 小凯的疑惑不多说了,结论\(a * b - a - b\)。代码略。d1t2 时间复杂度大模拟题,细节有点多。不过也还好,算是比较清新的那一种。#include <bits/stdc++.h&gt...

2019-07-24 16:29:00 178

转载 洛谷p4777 【模板】扩展中国剩余定理

被同机房早就1年前就学过的东西我现在才学,wtcl。设要求的数为\(x\)。设当前处理到第\(k\)个同余式,设\(M = LCM ^ {k - 1} _ {i - 1}\) ,前\(k - 1\)个的通解就是\(x + i * M\)。那么其实第\(k\)个来说,其实就是求一个\(y\)使得\(x + y * M ≡ a_k(mod b_k)\)转化一下就是\(y * M ...

2019-07-23 18:57:00 133

转载 洛谷p2414 [NOI2011]阿狸的打字机

70分算法:我们把所有的串都添加到\(AC\)自动机,然后按照\(y\)排序,时间复杂度\(O(n^2)\)。我们考虑一些优化,我们求的其实就是有多少个\(x\)串是\(y\)串的前缀的后缀。其实就是\(fail\)指针的检索结构,然后我们可以建出\(fail\)树,然后转换一下询问。其实就是这个东西:把所有\(y\)串的节点的前缀打上标记,然后在所有\(x\)串节点的子树...

2019-07-20 10:03:00 117

转载 AT3673 NRE

化简一下题意:其实就是求:\(\sum_{i = 1}^n [a0b1] + \sum_{i = 1}^n [a1b0]\)其实就等于\(\sum_{i = 1}^n [a0b1] + \sum_{i = 1}^n[b0] - \sum_{i = 1}^n[a0b0]\),其实现在已经和\(a1\)没关系了,这里的\(b0\)也可以直接算出来。接着我们想一个\(dp\),\(dp_...

2019-07-17 17:52:00 229

转载 AT3672 mul

一道比较有意思的网络流。把所有数的倍数连权为\(inf\)的边,然后把所有正数连汇点,所有负数连原点。最后减去最小割就是答案。易证。Code:#include <bits/stdc++.h> #define int long long const int maxn = 110;const int inf = 0x3f3f3f3f; typede...

2019-07-17 17:46:00 99

转载 洛谷p4755 Beautiful Pair

神仙分治题,我们假设当前分到了\([l,r]\)。那么我们就可以做一个假设:设\(p\)为这个区间内最大的值\(mx\),其编号为\(p\)。那么这里有一部分的答案就是\([l,p - 1] + [p + 1,r]\)为什么?其实这个想一想就知道。因为我们一般是不会用这个数跟其他的数结合的。那么我们就结束了左边和右边单独计算的情况。那么还有就是左边和右边混起来的情况。这个...

2019-07-15 17:31:00 115

转载 洛谷P5329 [SNOI2019]字符串

好像\(dfs O(n)\)暴力可以毫无压力的轻松过,当然你要写\(\text{SA}\)也没人拦你。如果两个字符相同我们可以发现是一样的,于是用一个\(a\)数组把这个东西压起来。如果\(s_i > s_{i + 1}\) 那么就删除\(s_i\) ,如果\(s_i < s_{i + 1}\) 那么就删除\(s_{i + 1}\)然后一次\(dfs\)就解决了。...

2019-07-12 12:22:00 144

转载 CF1178比赛题解

A题小学抽屉问题,答案就是\(max(n - s,n - t) + 1\)复杂度\(O(T)\)代码:#include <bits/stdc++.h>int T, n, m, i, j, k;int a[2];int main() { scanf("%d",&T); while(T--) { scanf("%d %d...

2019-07-11 23:36:00 158

转载 洛谷P5443 【[APIO2019]桥梁】

APIO场外选手没事休闲做题。(看了yyb的题解才把这题做出来)对操作进行分块,把每\(\text{SZ}\)个操作分成1组,里面大概有2类:没被修改过的和被修改过的。接着对块内询问进行离线。对于没有修改过的:我们可以直接排序然后把他们加入并查集。对于修改过的,我们看他的时间是否大于当前操作的时间,如果大于则加入原来的权值,如果小于则用修改后的权值。最后答案其实就是查一下连通块...

2019-07-11 16:40:00 194

转载 洛谷P3703 【[SDOI2017]树点涂色】

LCT + 树剖 + 线段树。由于每个操作都是从一个点染到根,那么就可以很清楚的知道:颜色种数 = 颜色段数。接着我们可以知道两个点\(x,y\)的颜色种数其实就是\(x\)到根的颜色种数 + \(y\)到根的颜色种数 - \(2lca(x,y)\)到根的颜色种数 + 1。将一个点染色时,同时会不可避免的断掉一些颜色段,使断掉的部分子树的答案会加1。我们用\(\text{LCT}...

2019-07-11 16:37:00 152

转载 洛谷P4294 【[WC2008]游览计划】

教练上次课讲了插头dp,然后列出的插头dp题目里有这道题。本来想练练插头dp的结果用更快更简单的斯坦纳树解决了这道题。斯坦纳树经典题目。斯坦纳树其实并不是很难,一般用来解决在一张无向图上选\(\text{m}\)个点使这\(\text{m}\)个点连通并且始所选边边权最小。那么回到本题。设\(f_{i,j,s}\)表示当前在第\(\text{i}\)行\(\text{j}\)列...

2019-07-11 16:33:00 135

转载 洛谷P4630 【[APIO2018] Duathlon 铁人两项】

圆方树。我们建立圆方树之后枚举每个起点和终点。然后设方点的权值为点双的个数,圆点的权值是-1。之后可以得到答案就是两点之间的点权和。之后不难发现对于一个点的贡献可以用一遍\(\text{dfs}\)得到,这道题就做完了。// luogu-judger-enable-o2#include <bits/stdc++.h>using namespace std;co...

2019-07-11 16:32:00 116

转载 洛谷 P3690 【【模板】Link Cut Tree (动态树)】

阅读前请确保你会\(\text{splay}\)。\(\text{LinkCutTree}\)模板,简称\(\text{lct}\)。首先我们把一棵树里所有节点都全部划分在一些\(\text{splay}\)里,每一个\(\text{splay}\)维护的东西都是一条在原树上从上到下按深度递增的一条链。然后我们定义每条边有两种类型:实或者虚。其中实边代表的是在某个\(\text{...

2019-07-11 16:30:00 107

转载 这个博客复活了

原来因为页面配置的问题出了一堆的bug,久而久之就不想管了。但是经过了漫长的寻找博客的过程中,我还是回到了这里。洛谷博客实在是有点太简陋了,\(hexo + github\)上传太麻烦,要clean然后g,然后d。之后我就重新弄了下界面,现在应该没问题了。转载于:https://www.cnblogs.com/Sai0511/p/11170755.html...

2019-07-11 16:19:00 76

转载 洛谷p5055【模板】可持久化文艺平衡树

可持久化\(\text{fhq-treap}\)。比较常用的平衡树一般就是\(\text{fhq-treap}\)和\(\text{splay}\)了,因为\(\text{splay}\)在旋转的时候树的形态发生了变换,固不能进行可持久化。而\(\text{fhq-treap}\)的所有操作都是基于分裂和合并的基础上的,对这棵树并没有影响,故可以进行可持久化。如何进行可持久化?我们...

2019-03-05 18:31:00 153

转载 [BZOJ3337]ORZJRY I

感觉写完这题神清气爽,本来认为平衡树已经属于很复杂的东西了。强烈推荐写一写这题,写完了就再也不用怕任何数据结构了。思路很简单,每个块内维护一个\(s\)数组与_s数组。表示原数组和排完序之后的数组,之后各种操作再打上各种标记。于是你就轻松愉快 的解决了这道题。代码:#include <bits/stdc++.h>#define il inline#define...

2019-03-01 22:57:00 117

转载 [NOI2004]郁闷的出纳员

平衡树,裸题。我们维护一下加法标记,然后剩下的就乱搞搞就好了。这里使用了\(splay\)实现。My Code:#include <bits/stdc++.h>#define il inlineconst int maxn = 1e5 + 10;const int inf = 0x3f3f3f3f;using namespace std;int n,m,i,...

2019-03-01 22:46:00 72

转载 [TJOI2017]DNA

这道题充分考验了选手的暴力水平。我们算出\(lcp\)后一位一位暴力往后移。甚至算\(lcp\)的时候都不需要什么非常高级的算法,直接用字符串哈希+二分判断就结束了。代码:#include <bits/stdc++.h>#define il inline#define gc getcharconst int MAXN = 1e5 + 10;const int...

2019-02-21 04:50:00 91

转载 CCC2019游记

\(Day-2\)前几天进了学校竞赛队,然后才知道了CCC这个比赛。。因为刚进,所以只能打Junior,感觉题目都很弱智啊。。大部分正解都是爆搜。花了几天时间把最近几年的J5做了,然后就开始颓废,毕竟没什么好复习的。\(Day-1\)继续颓废,写掉了\([TJOI2017]DNA\),然后就睡觉了。\(Day0\)完蛋毒瘤了,\(J5\)没做出来,其他题全切了。大众分。。...

2019-02-19 18:48:00 223

转载 洛谷P1712[NOI2016]区间

线段树+尺取法。我们先离散化一次,然后按照区间长度排序,每次一位一位往后移。至于如何判断覆盖了多少个点,我们用一个线段树维护即可。My Code:#include <bits/stdc++.h>#define il inline#define temp template<class T>#define lson(o) (o << 1)#...

2019-02-11 19:13:00 95

转载 洛谷P3391 【模板】文艺平衡树(Splay)

\(fhq-treap\)实现。我们旋转的时候已\(r\)用\(size\)分一次,在左子树里用\(l-1\)再用\(size\)分一次,剩下的右子树我们直接打个懒标记即可。然后注意一下代码细节这题就做完了。My Code:#include <bits/stdc++.h>#define il inline#define temp template<class...

2019-02-11 00:06:00 96

转载 洛谷P3369【模板】普通平衡树

\(fhq-treap\)实现。正文部分\(fhq-treap\)的所有操作都在两个\(split\)的基础上,一次\(val\),一次\(size\)注意:这里我们是将小于等于操作数的值分为一棵树,其余分为另一棵树分离和合并的过程很简单,学的话可以看我的代码手动模拟一下,这个过程应该不是很难。对于一个数\(x\)的插入,我们先已这个值分一次\(val\),然后创建新节点和并即...

2019-02-11 00:02:00 72

转载 【Noip2015pj】求和

大佬们的题解都看不懂啊...果然还是太弱了呢。那么这里就给出一个自认为比较好理解的题解吧\(qwq\)正文部分:首先考虑部分分:\(10pts:O(n^3)\)枚举\(40pts:O(n^2)\)枚举:移项得知:\(2y=x+z\),那么对于\(x+z\)为偶数的时候,一定有\(y\)存在,否则相反,于是复杂度就降了一维:\(100pts:O(n)\)同样继续\(40pt...

2019-02-10 23:16:00 201

转载 【Noip2018pj】【对称二叉树】

纪念一下这题考场\(AC\),从而稳住了省一\(qaq\).其实个人认为这题没有\(T3\)难,,只要稍微模拟一下就好了。正文部分首先我们可以画一颗二叉树图片来自于互联网。至于点权不用在意。然后我们就找到了一种模拟方法:对于一个节点,有两种往下递推方法:①:左边节点向左边走,右边节点往右边走②:左边节点往右边走,右边节点往左边走。至于为什么是对的?其实自己在这张图上模拟...

2019-02-10 23:14:00 119

转载 【[AH2017/HNOI2017]礼物】

一道神题233。。。其实要是把思路想通了也不是很难。正文部分:设经过了各种操作之后的数列为\(A\)与\(B\),总增加量为\(x\)。那么第\(i\)项所造成的影响就是\((A_i+x-B_i)^2=A_i^2+x^2+B_i^2+2A_ix-2A_iB_i-2xB_i^2\)然而\(A\)手环加上相等于\(B\)手环减去,所以\(m\)的范围变为\(-100\sim100\...

2019-02-10 23:13:00 62

转载 【[HAOI2008]移动玩具】

并不知道省选考这种爆搜题有什么意义。。正文部分:观察题目中只有12个数,每个数只有0和1,明显所以状态的数量为\(2^{12}=4096\),那岂不是爆搜随便做?对于1个状态hash:我们将现在这12位数打包成一个字符串,用\(map\)记录一下这个字符串是否出现过。对于1个状态的unhash,我们将这个字符串转到1个矩阵里,就是当前的状态。于是我们就可以轻松的得到每种情况的...

2019-02-10 23:10:00 116

转载 洛谷P4238 【【模板】多项式求逆】

好题,证明的过程真的很妙。正文部分:题意:有两个多项式\(A(x)\)与\(B(x)\),满足\(A(x)*B(x)≡1(modx^n)\)给出\(A(x)\),求\(B(x)\)设\(A(x)*B'(x)≡1(modx^{ceil{n/2}})\)观察得知,这两者可相减,于是得到这个式子:\(B(x)-B'(x)≡0(modx^{ceiln/2})\)将两边平方得到:\...

2019-02-10 23:07:00 77

空空如也

空空如也

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

TA关注的人

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