会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
Cptraser
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
下一页
2018年3月20日
BZOJ054_移动玩具_KEY
摘要: 题目传送门 这道题我写IDA*写挂了,TLE+WA,只AC了两个点。 这道题标算BFS+状态压缩。 code:
阅读全文
posted @ 2018-03-20 11:01 Cptraser
阅读(174)
评论(0)
推荐(0)
编辑
BZOJ4034_树上操作_KEY
摘要: 题目传送门 这道题可以树链剖分+线段树。 其他操作模板,第二个操作只需要将x~x+size[x]-1区间加值即可。 code:
阅读全文
posted @ 2018-03-20 07:33 Cptraser
阅读(152)
评论(0)
推荐(0)
编辑
2018年3月19日
树链剖分学习&BZOJ1036
摘要: 题目传送门 树链剖分,计算机术语,指一种对树进行划分的算法,它先通过轻重边剖分将树分为多条链,保证每个点属于且只属于一条链,然后再通过数据结构(树状数组、SBT、SPLAY、线段树等)来维护每一条链。 以下是几种概念: 常见的路径剖分的方法是轻重树链剖分(启发式剖分) 将树中的边分为:轻边和重边
阅读全文
posted @ 2018-03-19 18:23 Cptraser
阅读(186)
评论(0)
推荐(0)
编辑
2018年3月17日
BZOJ1208_宠物收养所_KEY
摘要: 题目传送门 平衡树的题。 因为题目给出条件(其实自己也知道):同一时间呆在收养所中的,要么全是宠物,要么全是领养者,这些宠物和领养者的个数不会超过10000个。 所以只要维护一颗平衡树,它的里面要不全是人,要不全是宠物。 找到人的前驱后继比较。 code:
阅读全文
posted @ 2018-03-17 20:25 Cptraser
阅读(204)
评论(1)
推荐(0)
编辑
2018年3月16日
莫队算法&BZOJ2038
摘要: 题目传送门 今天看了分块,顺便把基本的莫队学习了一下。 莫队算法是一种离线算法,复杂度可以达到O((M+N)*Sqrt(N)); 对于询问区间的左端点分块,块内的右端点从小到大排列。 对区间进行偏移操作。 掌握一个思想基础:两个询问之间的状态跳转。如图,当前完成的询问的区间为[a,b],下一个询问的
阅读全文
posted @ 2018-03-16 15:21 Cptraser
阅读(187)
评论(0)
推荐(0)
编辑
BZOJ2039_employ人员雇佣_KEY
摘要: 题目传送门 网络流,求最小割。 设tot为所有盈利的和,即所有人(不花钱)雇佣。 对于S->i建一条容量为c[i]的边,i->j建一条S[i][j]*2的边,之所以这样建是因为如果不选这个人还会亏S[i][j]。 对于i->T建一条容量为∑S[i][j]的边。 最小割=最大流,跑Dinic code
阅读全文
posted @ 2018-03-16 15:03 Cptraser
阅读(160)
评论(0)
推荐(0)
编辑
分块算法&BZOJ2002
摘要: 题目传送门 第一次接触分块...... 分块查找是折半查找和顺序查找的一种改进方法,分块查找由于只要求索引表是有序的,对块内节点没有排序要求,因此特别适合于节点动态变化的情况。 分块修改理论复杂度为O(N/M),M为块的大小,有基本不等式得M=Sqrt(N)时较优。 分块将原数组分为M块,对M块的信
阅读全文
posted @ 2018-03-16 12:00 Cptraser
阅读(244)
评论(0)
推荐(0)
编辑
2018年3月14日
POJ2513_Colored Sticks_KEY
摘要: 题目传送门 题目大意:给你若干根木棍,每根木棍有前后两种颜色,连接两根木棍需要前后颜色相同,求能否将所有木棍连接在一起。 Solution: 不要将木棍看成点,将颜色看成点。 其实就是求是否存在欧拉路径。 有欧拉路径要满足两个条件: 图是连通图。 没有或只有两个入度为奇数的点。 判断连通性用并查集。
阅读全文
posted @ 2018-03-14 11:32 Cptraser
阅读(140)
评论(0)
推荐(0)
编辑
POJ1035_Spell checker_KEY
摘要: 题目传送门 一道暴力可以过的水题。(直接暴力模拟的那种) 但是我打Trie练练模板,但是TMD因为数组开太小卡了好久。 code:
阅读全文
posted @ 2018-03-14 08:12 Cptraser
阅读(156)
评论(0)
推荐(0)
编辑
2018年3月13日
BZOJ1597_土地购买_KEY
摘要: 题目传送门 一道斜率优化的题目。 但暴力方程很关键。 我们先将x作为关键字Sort一遍,再将y处理成单调递减,即把无用的土地去除。 然后单调队列维护凸包做斜率优化就好了。 code:
阅读全文
posted @ 2018-03-13 18:06 Cptraser
阅读(166)
评论(0)
推荐(0)
编辑
BZOJ2140_稳定婚姻_KEY
摘要: 题目传送门 暴力直接对于每个点跑一遍二分图匹配,能拿四十分。 然而我们考虑正解。 对于一对Couple我们建♂->♀的一条边,对于一对曾经有恋情的情侣我们建♀->♂的一条边。 跑Tarjan缩点。 判断每一对Couple,如果在同一个强连通分量里,他们就不稳定(即能通过曾经有恋情的关系跑回来)。 c
阅读全文
posted @ 2018-03-13 15:37 Cptraser
阅读(175)
评论(0)
推荐(0)
编辑
2018年3月12日
BZOJ1096_仓库建设_KEY
摘要: 题目传送门 一道斜率优化的题目,加深了印象。 设sum[i]=∑p[i],S[i]=∑p[i]*x[i]。 暴力方程加前缀和优化: 然后变形: 求最小截距,因为k单调,所以是个下凸包,单调队列维护。 //红体字在y相减时会抵消,所以无影响。 code:
阅读全文
posted @ 2018-03-12 10:15 Cptraser
阅读(177)
评论(0)
推荐(0)
编辑
2018年3月10日
BZOJ1010_玩具装箱toy_KEY
摘要: 题目传送门 这道题可以很快想到暴力DP的做法: 但是数据范围有50000,这就需要用斜率优化了。 我们设S[i]=C[i]+i(C[i]为前缀和),L++,设j为i的最优决策点。。 原方程就变为: 我们设2*S[i]为k。 相当于这题就变成了求最小的截距f[i]。 假设A,B,C,D为四个决策点。
阅读全文
posted @ 2018-03-10 19:48 Cptraser
阅读(178)
评论(1)
推荐(0)
编辑
2018年3月9日
Luogu1801_黑匣子_KEY
摘要: 题目传送门 借这道题练一下Treap和Splay的板子。 code: #include <cstdio> #include <cstdlib> using namespace std; int read() { char c;while(c=getchar(),(c<'0'||c>'9')&&c!=
阅读全文
posted @ 2018-03-09 15:27 Cptraser
阅读(182)
评论(0)
推荐(0)
编辑
KMP~
摘要: 模板传送门 KMP的模板,但是要输出Nxt,搞得朱洪dalao的优化打不了。(题外话) KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法)。KMP算法的关键是利用匹配失败后的信息
阅读全文
posted @ 2018-03-09 12:40 Cptraser
阅读(327)
评论(0)
推荐(0)
编辑
上一页
1
2
3
4
5
6
7
下一页
公告