关闭
当前搜索:

[置顶] 搬家啦!!!

终于搬家啦!!! CSDN更新完界面令人好感度-- https://everlasting.wang...
阅读(82) 评论(0)

bzoj 4159: [Neerc2009]Business Center 水题

新博客链接:https://www.everlasting.wang/archives/231...
阅读(67) 评论(0)

bzoj 3356: [Usaco2004 Jan]禁闭围栏 离散化+树状数组

新博客链接:https://www.everlasting.wang/archives/228...
阅读(38) 评论(0)

bzoj 4034: [HAOI2015]树上操作 树链剖分

新博客链接:https://www.everlasting.wang/archives/210...
阅读(44) 评论(0)

bzoj 2761: [JLOI2011]不重复数字

→题目链接← 新博客连接:https://www.everlasting.wang/archives/208 【想说的话】 水水水水水水水水水水水水水水水 水水水水水水水水水水水水水水水水水 水水水水水水水水水水水水水水水 水水水水水水水水水水水水水水水水水水水水 【题解】 直接用map保存某个数是否出现过 注意:不能一边扫一边输出,末尾有空格...
阅读(43) 评论(0)

bzoj 2631: tree LCT

→题目链接← 新博客链接:https://www.everlasting.wang/archives/203 【想说的话】 数据结构调起来可真是令人身心偷税啊 【题解】 pushdown好好搞搞... 【代码】 #include #define MAXN 100010 #define mod 51061 #define ls son[x][0] #defin...
阅读(53) 评论(0)

Link-Cut-Tree - 模板

#include #define MAXN 30030 using namespace std; inline int rd(){ int x=0,y=1;char c=getchar(); while(c'9'){if(c=='-')y=-y;c=getchar();} while(c>='0'&&c<='9')x=x*10+c-'0',c=getchar(); return x*...
阅读(40) 评论(0)

bzoj 2002: [Hnoi2010]Bounce 弹飞绵羊 LCT

→题目链接← 新博客链接:https://www.everlasting.wang/archives/180 【想说话的】 !解锁成就:学会LCT 【题解】 啊啊啊啊,不想写教程 所以..... LCT 【代码】 #include #define MAXN 200020 using namespace std; inline int rd()...
阅读(64) 评论(0)

bzoj 3251: 树上三角形 暴力

→题目链接← 【想说的话】 啊啊啊啊,搬完博客的第一篇博客 md新博客调了一天,头都大了 【题解】 想一想,可以发现如果答案为no,在int范围内最多只可能同时存在46个数 所以找到lca,判断下路径上的点的个数,如果大于46个就输出Yes,否则暴力判断 【代码】 #include #define MAXN 100010 typedef long lon...
阅读(66) 评论(0)

bzoj 1513: [POI2006]Tet-Tetris 3D 二维线段树

→题目链接← 【想说的话】 ...........感冒了好难受 【题解】 二维线段树+标记永久化 【代码】 #include #define MAXN 3030 #define ls x<<1,lx,mid #define rs x<<1|1,mid+1,rx using namespace std; inline int rd(){ int x=0,y...
阅读(58) 评论(1)

bzoj 2565: 最长双回文串 manacher

→题目链接← 【想说的话】 没有.. 【题解】 肯定是先跑一遍manacher 然后就想找到对于每个字符,它作为一个回文串的起点和终点时,回文串最长能为多少 这时候我们发现当一个字符作为终点时,最长的回文串的对称中心一定是最靠前越好 那么我们就像是跑manacher时,从前往后扫,维护一个最右端点,如果找到了右端点大于最右端点的,就暴力地把这一段都计算下 假设我们目...
阅读(55) 评论(0)

poj 2201 Cartesian Tree 笛卡尔树

→题目链接← 【想说的话】 谁能告诉我笛卡尔树有什么妙的用处啊.... 【题解】 裸笛卡尔树 笛卡尔树的定义题中已经说的挺完整的了 建树时,先把所有的点以key从小到大排序,然后从前往后插入到树中 具体实现方法为:从根节点开始扫,当找到一个点满足val[x]大于val[now]并且val[x的右儿子]小于val[now](假设我们维护的是大根堆)时,就把【now】的父...
阅读(67) 评论(0)

bzoj 3674: 可持久化并查集加强版

→题目链接← 【想说的话】 rope大法好*2 【题解】 和我的上一篇没有什么区别 需要注意的是 xor 和 MLE 问题 MLE的解决办法是路径压缩时如果可以不更新就不更新 我第一次知道这种东西可以这么缩内存.... 【代码】 #include #include #define MAXN 200020 using namespace std; usi...
阅读(51) 评论(0)

bzoj 3673: 可持久化并查集 by zky

→题目链接← 【想说的话】 rope大法好!!!!! 【题解】 用rope来实现可持久化并查集 rp[i]->at(x)                                 访问下标为x的元素的值 rp[i]->replace(pos,x)                 将下标为pos的元素的值更改为x rp[i]=new rope(*rp[y])   ...
阅读(46) 评论(0)

bzoj 4756: [Usaco2017 Jan]Promotion Counting

→题目链接← 【想说的话】 没有写过树状数组... 这算是我 树状数组初体验 ? 【题解】 先按能力值从大到小排序,然后找到每个牛的名次 之后一边dfs,一边用树状数组统计 【代码】 #include #define MAXN 100010 using namespace std; inline int rd(){ int x=0,y=1;char ...
阅读(50) 评论(0)
128条 共9页1 2 3 4 5 ... 下一页 尾页
    -广告-
    一个极其温馨的提示
    个人资料
    • 访问:48284次
    • 积分:1744
    • 等级:
    • 排名:千里之外
    • 原创:127篇
    • 转载:1篇
    • 译文:0篇
    • 评论:22条
    最新评论