自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lemonoil的博客

一名正在成长的OIer——RES&REZ

  • 博客(37)
  • 资源 (5)
  • 收藏
  • 关注

原创 BZOJ4517 排列计数 [组合数][错排]

4517: [Sdoi2016]排列计数Time Limit: 60 Sec  Memory Limit: 128 MBSubmit: 1360  Solved: 841[Submit][Status][Discuss]Description求有多少种长度为 n 的序列 A,满足以下条件:1 ~ n 这 n 个数在序列中各出现了一次若第 i 个数 A[i] 的值为 i,则称 i 是稳定的。序列恰好有

2017-09-22 22:15:09 343

原创 BZOJ2720 列队春游 [期望][数学]

2720: [Violet 5]列队春游Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 215  Solved: 152[Submit][Status][Discuss]DescriptionInputOutputSample InputSample Output HINTSource #include<bits/s

2017-09-22 17:40:04 801

原创 BZOJ4170 极光 [二维线段树]

4170: 极光Time Limit: 30 Sec  Memory Limit: 512 MBSubmit: 198  Solved: 100[Submit][Status][Discuss]Description"若是万一琪露诺(俗称rhl)进行攻击,什么都好,冷静地回答她的问题来吸引她。对方表现出兴趣的话,那就慢慢地反问。在她考虑答案的时候,趁机逃吧。就算是很简单的问题,她一定也答不上来。"

2017-09-22 16:49:02 506

原创 BZOJ2725 故乡的梦 [神题][Dinic][Dijsktra][BFS][Heap][Tarjan]

2725: [Violet 6]故乡的梦Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 715  Solved: 222[Submit][Status][Discuss]DescriptionInputOutputSample Input6 7 1 2 1 2 3 1 3 4 2 4 5 1 5 6 1 1 3 3 4 6

2017-09-22 12:00:38 390

原创 BZOJ2721 樱花 [线性筛]

2721: [Violet 5]樱花Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 646  Solved: 378[Submit][http://www.lydsy.com/JudgeOnline/problemstatus.php?id=2721‘>Status][http://www.lydsy.com/JudgeOnline/bbs.php?id

2017-09-22 08:54:33 435

原创 BZOJ2809 dispatching [左偏树]

F.A.Qs Home Discuss ProblemSet Status Ranklist 1 Contest 入门OJ ModifyUser   Sakura_LemonLogout 捐赠本站 2809:

2017-09-22 08:20:11 261

原创 BZOJ1864 三色二叉树 [树形DP]

F.A.Qs Home Discuss ProblemSet Status Ranklist 1 Contest 入门OJ ModifyUser   Sakura_LemonLogout 捐赠本站

2017-09-21 17:58:29 314

原创 BZOJ2160 拉拉队排练 [manacher][前缀]

F.A.Qs Home Discuss ProblemSet Status Ranklist 1 Contest 入门OJ ModifyUser   Sakura_LemonLogout 捐赠本站

2017-09-21 17:51:47 277

原创 BZOJ4300 绝世好题 [递推]

F.A.Qs Home Discuss ProblemSet Status Ranklist 1 Contest 入门OJ ModifyUser   Sakura_LemonLogout 捐赠本站

2017-09-21 17:45:07 338

原创 BZOJ2435 道路修建 [DFS][内嵌汇编]

F.A.Qs Home Discuss ProblemSet Status Ranklist 1 Contest 入门OJ ModifyUser   Sakura_LemonLogout 捐赠本站

2017-09-21 17:33:57 318

原创 BZOJ3922 Karin的弹幕 [线段树]

F.A.Qs Home Discuss ProblemSet Status Ranklist 1 Contest 入门OJ ModifyUser   Sakura_LemonLogout 捐赠本站

2017-09-21 17:28:55 334

原创 BZOJ3037 创世纪 [贪心][树形DP]

毫不容易写完了树形DP,竟然发现自己的rank那么落后,后来才得知这是一道贪心可做题。。。GG贪心做法对于每个入度为0的点能控制的点,如果它之前没有被支配,那么选它一定是最优的。为什么?… 先更新所有入度为0的点,则剩下的点一定能构成几个简单环。而对于每个有n个点的简单环,最多只能选n/2个点。计算出所有环统计答案。#include<iostream>#include<cstdio>#incl

2017-09-21 17:24:37 430

原创 BZOJ4987 Tree [树形DP]

4987: TreeTime Limit: 10 Sec  Memory Limit: 256 MBSubmit: 11  Solved: 8[Submit][Status][Discuss]Description从前有棵树。找出K个点A1,A2,…,Ak。使得∑dis(AiAi+1),(1<=i<=K-1)最小。Input第一行两个正整数n,k,表示数的顶点数和需要选出的点个数。接下来n-l行每行

2017-09-20 16:37:57 799

原创 BZOJ4403 序列统计 [Lucas]

手推公式: 令M=R−L+1M=R-L+1, 则答案为: ∑Ni=1CM−1i+M−1=∑MN+M−1\sum^N_i=1 C^{M-1}_{i+M-1}=\sum ^M_{N+M}-1 模数较小,O(mod)O(mod)的预处理,预处理逆元就可以配合LucasLucas定理O(log)O(log)地计算了。#include<set>#include<cstdio>#include<cs

2017-09-20 16:14:22 254

原创 BZOJ3791 作业 [DP]

一段序列用K种不同的颜色染色最多染成2∗K−12*K-1段。。。我一开始写成2∗K2*K。。。貌似还与某人讨论过。。 dp[i][j][k]dp[i][j][k]表示染到了第i个作业,共染了j段,当前染的颜色为k(k为0/1) 如果当前颜色和上一段一样,dp[i][j][k]=max(dp[i][j][k],dp[i−1][j][k]+(a[i]==k))dp[i][j][k]=max(dp[i

2017-09-20 15:16:25 239

原创 BZOJ3143 游走 [期望][高斯消元]

本人蒟蒻,反正本只会用高斯消元做这道题,求出每个情况的系数,上期望算法乱搞就行了。 注意高斯消元的for循环,起止点很乱,最好手动推一推。#include<bits/stdc++.h>using namespace std;const int N=505,M=250500;const int eps=1e-9;int mp[N][N],d[N],a[M],b[M],m,n;double

2017-09-20 14:58:46 262

原创 BZOJ2342 双倍回文 [manacher][set]

手写字符串读优莫名RE,改成scanf就AC了,莫(m)队(d)指(z)针(z)。。。枚举x为对称轴,即枚举第一个wR的最后一位。 找规律发现len(x+1,y)∗4len(x+1,y)*4能更新答案,仅当y−p[y]<=xy-p[y]<=x且y<=x+p[x]/2y<=x+p[x]/2按照y−p[y]y-p[y]排序一下,递推x的时候将符合1式的y插入set,在set中查找x+p[x]/2x+p

2017-09-20 14:16:52 231

原创 BZOJ3236 作业 [莫队算法][树状数组]

先用莫队离线对询问排序后维护两个树状数组,记录两个询问的答案,对于第二个询问,可以再开一个数组,记录每个数出现的次数。#include<bits/stdc++.h>#define lowbit(x) (x&-x)using namespace std;const int N = 100005;int n,m,a[N],ans1[N*10],ans2[N*10],cf[N],cs[N],num

2017-09-20 12:24:37 333

原创 BZOJ4569 萌萌哒 [倍增][并查集]

没想到这两个东西还可以这么用,我们可以用f[i][j]f[i][j]表示[i,i+2j−1][i,i+2^j-1]这一段区间属于哪一个集合,没有则等于0. 那么每次合并我们可以把这个限制拆成log个区间,依次合并起来。 若f[i][j]f[i][j]和f[s][t]f[s][t]同属一个集合,那么f[i][j−1]f[i][j-1]和f[s][t−1]f[s][t-1],f[i+2j−1][j−

2017-09-20 11:43:27 320

原创 BZOJ1050 旅行comf [kruskal]

最小生成树的模板题,有点暴力。。。枚举生成树上的边,求MAX与MIN。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int N = 100005;template<class T>inline void read(T &res){ st

2017-09-20 10:37:00 286

原创 BZOJ2140 稳定婚姻 [Tarjan]

经典题目,注意字符串长度要离散化,否则就会有O(L2)O(L^2)的复杂度加成。。。 用map就行了,然后男连女,求强连通判断就行了。 然后就是Tarjan裸题。#include<map>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int

2017-09-20 09:58:51 435

原创 BZOJ1051 受欢迎的牛 [Tarjan]

忘了是单向边,思考自己怎么会错了10分钟。。。 本题就是tarjan完了后记录每个scc的到达次数,若为scc-1则满足条件。 所以说根本就不需要缩点怎么麻烦的操作,许多Tarjan缩点的题都是这样,不需要真正的缩点。 记住了。。。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using na

2017-09-20 09:15:31 329

原创 BZOJ1119 SLO [置换]

其实这道题是置换群的入门题,看起来就是一个裸的DFS+统计,处理数组C[i]的时候类似时间戳的正反的处理方式。总之就是比较玄学吧。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int N = 1000005;long long vis[N],a

2017-09-20 08:39:43 286

原创 BZOJ1123 BLO [Tarjan][点双连通分量]

就是点双连通分量的裸题,我们记录一个siz,如果某个点可以搜到low比它的deep值大的点的话,显然是产生了一个分割后的连通块。#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<cmath>#include<map>#include<set>#

2017-09-20 08:14:56 454

原创 UOJ NOIP2015 斗地主 [搜索]

爆搜+平时打斗地主的技巧就行了,该出什么就出什么。。。。。还是回去打斗地主吧。#include<cstdio>#include<cstring>int cnt1[100],cnt2[100],t,n,ans;const int len[]={0,5,3,2};int solve(int x=0){ for(int i=0;i<=4;++i)cnt1[i]=0; cnt1[5]

2017-09-19 17:45:48 375

原创 UOJ35 后缀排序[后缀平衡树]

这是blog主sb时,打上的后缀平衡树版本的code#include<cstdio>#include<cstring>#define N 200010#define LL long longint n,m,len,x,y,t,k;int ch[N][2],rd[N],cl[N],cnt,root,rank[N],sa[N],height[N];LL rk[N];int s[N];in

2017-09-19 17:40:53 610

原创 BZOJ3101 N皇后 [模拟]

N皇后方案输出。 找规律模拟即可。#include<bits/stdc++.h>using namespace std;int main(){ register int n, i; while(scanf("%d", &n)!=EOF){ if(n%6!=2&&n%6!=3){ for(i=2;i<=n;i+=2)printf("%d\n

2017-09-19 17:36:49 342

原创 NOIP2016 愤怒的小鸟 [状压DP]

预处理每两个鸟的斜率,然后枚举每个鸟的状态,复杂的n∗2nn*2^n。#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const double eps=1e-10;int n,m,t,g;int f[20][20],dp[3

2017-09-19 17:34:37 634

原创 BZOJ1116 CLO [并查集]

判断一个联通图合法的依据就是枚举到x,y时有find(x)==find(y),那么就打标记就行了。#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;template<class T>inline void read(T &res)

2017-09-19 17:05:09 360

原创 BZOJ1237 配对 [DP]

找一找规律就可以发现,只会存在2个交叉或者3个交叉的情况,更多的交叉情况会在之前就被处理掉。 DP一下就行了。#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;template<class T>inline void read(

2017-09-19 17:01:59 365

原创 BZOJ1088 扫雷Mine [递推]

#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;template<class T>inline void read(T &res){ static char ch;T flag=1; while((ch=getc

2017-09-19 16:58:39 364

原创 NOIP模拟 NYG的背包 [高山算法]

终于我的贪心过了,方法与题解不同,我每次记录历史最高值h,若当前x<=h则可以,然后判定几个特殊条件,AC了。高山算法是什么?自行百度,本人无厘头命名,貌似是时间空间最优的方法。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int N = 100

2017-09-19 16:48:29 533

原创 BZOJ4518 征途 [nlogn做法][斜率优化]

我们设x>y,且j由x转移比y转移更优,则 f[i−1][x]+(sum[j]−sum[x])2<f[i−1][y]+(sum[j]−sum[y])2f[i−1][x]+(sum[j]−sum[x])^2<f[i−1][y]+(sum[j]−sum[y])^2 化简得 f[i−1][x]+sum[x]2−(f[i−1][y]+sum[y]2)sum[x]−sum[y]<2∗sum[j]\fra

2017-09-18 10:15:14 489

原创 BZOJ3252 攻略 [树链剖分][不用线段树]

真心不知道这道题写线段树的人怎么想的,网上居然没有长链剖分的题解,哎,这道题就是一道标准的长链剖分,不带合并,deep存边权,sort取前k大就行了,SCOI2016 day1 t1的原版,我无力吐槽。 #include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;temp

2017-09-18 09:42:14 567

原创 BZOJ4538 网络 [树链剖分]

那么对于每个询问我们只要判断权值大于K的路径的交是否都过x即可。路径的交还是路径,路径交满足结合律。可以离线拿个线段树维护一下即可,以权值为关键字,每个点记录该段区间的路径交 一道很标准的链交题,树链剖分+数据结构动态维护链上信息。转化信息时通过链交即可传递。 总之树链剖分练手。#include<bits/stdc++.h>const int N = 101005;using namespa

2017-09-18 09:25:37 502

原创 BZOJ2006 超级钢琴 [贪心][RMQ][堆]

当我们已经确定了所选区间的右端点,我们可以将区间和转变为前缀相减的形式,然后求[l,r]的最大值也就是求s[r]-s[l-1]的最大值,因为r确定,而l只能在一段固定的区间,我们就RMQ了。然后我们对于每个可行的右端点都找出最优的左端点,把它们扔到优先队列里一个一个取出来就行了,很容易避免删除操作,因为加入原来x的左端点可以在[a,b]中选择,我们与其从[a,b]中去掉y,不如将[a,b]分裂成[a

2017-09-18 09:17:29 575

原创 BZOJ3730 震波 [点分治][点分序]

重来都不知道有个东西叫做点分序。。。考试多半GG,还以为可以用启发式合并平衡树乱搞,哎我还是太naive了,这道题就是依据点分治的顺序来进行操作,一道经典题。#include<cstdio>#include<vector>#include<cstring>#include<iostream>#include<algorithm>#define N 200010#define M 2000

2017-09-18 09:11:25 692

2016NOIP提高组复赛试题day2

2016NOIP提高组复赛试题day2

2016-12-09

lpkkiller.bat

lpkkiller.bat

2016-11-11

molokai的vim颜色配置

molokai的vim颜色配置

2016-11-11

算法导论中文版.pdf

算法导论中文版.pdf

2015-07-16

空空如也

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

TA关注的人

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