
DS
文章平均质量分 77
yfzcsc
我们仍未知道那天所看见的金光的名字
展开
-
BZOJ4552
O(nlogn),可分裂合并的线段树嗨呀,写死我了#include#include#include#include#include#define Sum(a) ((a)?(a)->sum:0)using namespace std;struct tree{ tree* l,* r; int sum; tree(){l=r=0;sum=0;} v原创 2017-01-18 20:36:00 · 438 阅读 · 0 评论 -
bzoj3065
再次写丑的我。。。(刚开始写了个线段树合并+fhq treap完TLE+MLE)换成替罪羊+可持久化线段树合并之后随机数据1s+,不知道vfk搞得什么新闻,bzoj运行37s+刚开始题意读错调了1h+我好菜#include#include#include#include#define Sum(x) ((x)?(x)->sum:0)#define Key(x) ((x)?(原创 2017-01-24 22:18:10 · 493 阅读 · 0 评论 -
bzoj2631
不知道为什么我的lct巨慢没加zigzag30004ms,加了zigzag19000ms。。。#include#include#include#include#define mod 51061#define maxn 100100#define inf (1<<30)using namespace std;typedef unsigned int ll;ll sum[ma原创 2017-01-29 09:48:17 · 291 阅读 · 0 评论 -
bzoj2959
用LCT+并查集缩点,记两个并查集,一个是实际在树中的编号,一个是普通的并查集注意:access中要更新father的编号,修改点值要把点splay上去再修改#include#include#include#include#define maxn 160100using namespace std;int sum[maxn],fa[maxn],tag[maxn],ch[maxn原创 2017-01-29 10:53:53 · 519 阅读 · 0 评论 -
bzoj2594
这题好坑。。。离线然后用LCT倒着维护最大生成树,这个是一眼但是注意:边权是用多加一个点(类似kruskal同构树)来实现,实际上点有m+n个,注意数组不要开小,不然会TLE。。。附数据生成器(但是如果造小数据,每个AC程序输出都可能不一样;大数据没事)#include#includeusing namespace std;typedef pair data;int dx[原创 2017-01-30 10:41:21 · 298 阅读 · 0 评论 -
bzoj5145 [Ynoi2018]未来日记 (多校第4场1013 Yuno and Claris)
2018目标:让nzhtl1477nzhtl1477打通罚抄!这题其实不难写,就是我写完后MLEMLE了。。。对权值和序列都分块,假设nn和值域同阶记b[i][j]b[i][j]表示前ii块,权值在第jj块的有几个记c[i][j]c[i][j]表示前ii块,权值为jj的有几个预处理这个是O(nn√)O(n\sqrt{n})对于查询:直接暴力每块,O(n√)O(\sqrt{n})对于修改:两边的块暴力原创 2018-01-23 21:34:14 · 2483 阅读 · 0 评论 -
bzoj5144 [Ynoi2018]末日时在做什么?有没有空?可以来拯救吗?
这个死宅题面就不吐槽了。。。2018目标:一定要让nzhtl1477" role="presentation" style="position: relative;">nzhtl1477nzhtl1477nzhtl1477把罚抄打通!这题当然是O(nn+nlogn)" role="presentation" style="position: relative;">O(nn−−√+nlogn原创 2018-01-23 21:17:45 · 30511 阅读 · 42 评论