=====数据结构=====
LOI_xczhw
这个作者很懒,什么都没留下…
展开
-
【线段树】codevs 3304 水果姐逛水果街
好长时间不更新啦,急的FireStorm都来催稿了……题目描述水果姐今天心情不错,来到了水果街。水果街有n家水果店,呈直线结构,编号为1~n,每家店能买水果也能卖水果,并且同一家店卖与买的价格一样。学过oi的水果姐迅速发现了一个赚钱的方法:在某家水果店买一个水果,再到另外一家店卖出去,赚差价。就在水果姐窃喜的时候,cgh突然出现,他为了为难水果姐,给出m个问题,每个问题要求水果姐从第x家店出发到第y原创 2015-10-19 08:25:53 · 612 阅读 · 0 评论 -
【codevs 1001】舒适的路线
嘛嘛…… 这题能做?原创 2016-10-14 21:52:28 · 493 阅读 · 0 评论 -
【codevs 1069】关押罪犯
贪心 按影响排序 然后恩恩 如果same(x,y +n),说明x和y不在同一个监狱里 如果在合并之前,已经same(x,y)就输出答案#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> using namespace std; const int MAXN = 200000 + 5; in原创 2016-10-14 21:54:13 · 508 阅读 · 0 评论 -
【codevs 1450】小天昊的旅行2333333
我滴妈这个题好神啊…… Q == Question A == LOI_aQ:我去这题怎么做 A:我看看…… A:数据范围? Q:200000…… A:这题能做? Q:QAQ A:我回去看看 (两分钟后) A:先跑个最小生成树,恩恩,然后在合并两棵树的时候,这条边一定是最大的,那么统计下答案,是左边的大小 * 右边的大小 Q:QAQ A:显然这个数组是单调的,二分查找下就行原创 2016-10-14 22:02:26 · 919 阅读 · 0 评论 -
【codevs 2492】上帝造题的七分钟2
QAQ这题不是线段树? 参见切水果#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> using namespace std; typedef long long ll; const int MAXN = 100000 + 5; ll num[MAXN]; in原创 2016-10-14 22:04:13 · 607 阅读 · 0 评论 -
【各大OJ】并查集专题
codevs 1073 codevs 1365 这种题还有双倍经验? codevs 1299 codevs 1191 双倍经验 戳这里! codevs 1001 codevs 2842 双倍经验 戳这里! codevs 1069 戳这里!1 codevs 1995 戳这里! codevs 2639 codevs 1450 戳这里! codevs 2492 戳这里!初始化到2n ↩原创 2016-10-14 19:26:33 · 756 阅读 · 0 评论 -
【codevs 1299】切水果
QAQ这题居然能用并查集…… 我滴妈 find(i)表示从i往右(包括i)的第一个没有被删除的数字 恩恩 当然初始化的时候f[i] = i 恩恩 注意这样的话就不能按秩合并了 恩恩#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> using namespace std; const原创 2016-10-14 20:56:28 · 511 阅读 · 0 评论 -
【bzoj3224】普通平衡树
到现在才想起来我还不会写splay…… QAQ 在DQS学长写模板的时候带了我下…… QAQ人生第一个维护数的splay QAQQQQQQQ要记得在del、rot、newnode这种设计更新根的操作的时候一定要root = x;root -> f = null#include <iostream> #include <cstdio> #include <algorithm> #include原创 2016-04-07 20:48:43 · 566 阅读 · 2 评论 -
【codevs 1995】黑魔法师之门
嗯…… 通过样例看出来,答案要么不变,要么*2+1 然后 发现如果新加的这条边same(l[i].f,l[i].t),就*2+1 证明以后再说,机房要关门了……#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> using namespace std; const int MAXN = 2原创 2016-10-14 21:56:47 · 668 阅读 · 2 评论 -
【codeforces】Codeforces Round #367 (Div. 2)
最近几天刷CF渐渐有些手感了…… md英语能力++ 在想要不要打CR#374…… 到时候应该是在北京学习ingQAQ 嘛嘛 这几天被卡的简直爽 23333333 来吧写题解A第一次写A题…… 记录下double的一些事情cout一个double的话他会不一定保留几位…… 循环的话 恩恩 所以不能偷懒啦 printf的时候是.lf 恩恩C题目大意给你n个字符串 要使它们按字原创 2016-09-28 16:49:55 · 447 阅读 · 0 评论 -
【codeforces】Codeforces Round #371 (Div. 2)
B题目大意给你长度为n的数列a,问能否通过指定一个x,对序列中的一部分数字进行+x或-x的操作,使得序列中的所有数字相等脑洞法? QAQ 没有证明,就是感觉这个最终数字有三种情况 1、最终数字为max( aia_i ) 2、最终数字为min( aia_i ) 3、最终数字是max( aia_i ) + min( aia_i ) >> 1 没有证明就是感觉……#include <iostr原创 2016-09-28 08:33:49 · 647 阅读 · 0 评论 -
【Codeforces Round #365 (Div. 2)】
cf又被卡了又被卡了又被卡了……B题目大意来到了一座城市,这个城市里第i个城市和第i+1座城市之间都有一条边,第n座城市和第n+1座城市之间有条边,然后有k个首都,首都和所有的城市之间都有边,任意两个城市间仅会有一条边,定义边的权值为两端节点的点权之积,求所有边的边权和嗯 玄学A题…… 我都不知道怎么A的…… 不过看我代码的意思的话…… 让每一座首都只和之后的首都计算答案,然后提取公因式原创 2016-11-03 16:39:05 · 593 阅读 · 0 评论 -
【poj2528】Mayor's posters
这是poj题目分类上线段树的第一题…… 普通的区间赋值操作,可是我调了一天…… 简直要哭了QAQ题目大意为一个市长给一面墙上贴海报,后贴的海报会覆盖之前贴的海报,按顺序给你贴的海报的左右端点,最后求有多少张海报会露在外面然后这是一道区间赋值的题目,但是因为l,r太大所以需要离散化一下 那么离散化就来了问题 看了这位神犇的题解明白了特殊的离散化姿势 神犇举的例子是 3 1 10原创 2016-08-21 13:55:29 · 346 阅读 · 1 评论 -
【uoj #35】后缀排序
后缀排序原创 2016-03-06 11:37:50 · 495 阅读 · 0 评论 -
【bzoj3039】玉蟾宫
悬线法?记录up表示往上延伸的F的高度 然后变成每行求最大子矩形面积单调递增的栈,详见poj2082 (回宿舍睡觉有空补更)顺带Orz DQS学长手速五分钟打完 + 提交 + 写题解Orz#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <stack> using name原创 2016-03-13 22:08:05 · 686 阅读 · 0 评论 -
CODEVS 1069 关押罪犯
屠龙宝刀点击就送 作为2010年这种神题库的压轴的大题,这道题难度却不如另外几道…… 题目大意: 有两座监狱,一堆人,有的人有关系,如果有关系的两个人ai,bi在同一座监狱里,就会产生ci坏的影响。然后你的boss就会很不爽,于是乎,你就想着,让最坏的影响尽量小,求是多少(最小化最大值) 输入描述: 第一行 罪犯的数目,边的数目原创 2015-10-12 21:23:25 · 741 阅读 · 0 评论 -
栈练习之——codevs 1051 接龙游戏
乍一眼看,Trie 树裸题,然后就顺手写了个Trie,然后……MLE 或 RE……codevs上能过8个左右的点,不过数组小玄学,空间用到了110M+,好可怕…… 蒟蒻的Trie……#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <cctype> #define to(c)原创 2015-10-10 21:58:13 · 655 阅读 · 0 评论 -
【codevs 1230】元素查找 splay……
好吧标题党了 其实我打的是二叉搜索树(二分查找树?) 普通的二叉搜索树哦~~#include <iostream> #include <string> #include <cstdio> #include <cstdlib> #include <cstring> using namespace std; const int MAXN = 100000 + 5; int sz; struct t原创 2015-10-22 10:21:06 · 484 阅读 · 0 评论 -
【luogu P1440】求(DQ)M区间内的最小值
单调队列模板题,不解释 点击就送屠龙宝刀 点击就送双倍经验 三倍经验就有点过分了啊#include<iostream> using namespace std; const int MAXN = 2e6 + 5; struct dot { int x,z; dot(){x = 0;z = 0;} }q[MAXN]; int s=1,t=0;//队列,头指针,尾指针 void原创 2015-10-22 08:52:30 · 593 阅读 · 0 评论 -
【SCOI 2009】生日礼物
我只会打尺取法……怎么破#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <vector> using namespace std; const int MAXN = 1e6 + 5; int tong[60 + 5]; bool a[MAXN][60 + 5]; int n,原创 2015-10-22 10:43:06 · 713 阅读 · 0 评论 -
【codevs 2830】蓬莱山辉夜
作为一个有图的题,竟然描述如此不清楚,表示愤慨其实就是个堆……可这是个语文题啊语文题!!!!题目描述在幻想乡中,蓬莱山辉夜是月球公主,居住在永远亭上,二次设定说她成天宅在家里玩电脑,亦称NEET姬 一天,她要她帮忙升级月球的网络服务器,应为注册用户过多(月兔和地球上的巫女都注册了……),所以作为代理管理员(俗称网管)的她,非常蛋疼。 注册用户格式: TouhouMaiden 2004 200原创 2015-10-25 16:27:12 · 1495 阅读 · 0 评论 -
【codevs 1373】射命丸文
题目描述在幻想乡,射命丸文是以偷拍闻名的鸦天狗。当然,文文的照相机可不止能够照相,还能够消除取景框里面所有的弹幕。假设现在文文面前有一块N行M列的弹幕群,每一个单位面积内有分值有num[i][j]的弹幕。相机的取景框可以将一块R行C列的弹幕消除,并且得到这一块区域内所有弹幕的分值(累加)。现在文文想要取得尽可能多的分值,请你计算出她最多能够得到的分值。输入描述第1行:4个正整数N,M,R,C 第2原创 2015-10-25 15:16:27 · 1062 阅读 · 1 评论 -
【codevs 1080】线段树练习 之 花样解法
线段树模板题先上暴力#include <iostream> #include <cstdio> #include <algorithm> #include <cstdio> using namespace std; const int MAXN = 100000 + 5; int num[MAXN]; int n,m,q,a,b; int main() { scanf("%d",&n);原创 2015-10-22 10:02:11 · 1021 阅读 · 0 评论 -
【codevs 3031】最富有的人
题目描述 Description在你的面前有n堆金子,你只能取走其中的两堆,且总价值为这两堆金子的xor值,你想成为最富有的人,你就要有所选择。输入描述 Input Description第一行包含两个正整数n,表示有n堆金子。 第二行包含n个正整数,表示每堆金子的价值。输出描述 Output Description第一行包含一个正整数,表示能获得的最大总价值。样例输入 Sample Input1原创 2015-10-30 14:55:09 · 697 阅读 · 0 评论 -
【BZOJ 1798】维护序列
线段树~ 这(D)道(Q)题(S)告诉我说:“你没学过线段树” 嗯…… 这题要好好想想……QAQ 来吧首先要明确的事情是 delta[now]记录的是已经对当前点做过的,但是还没有对当前点的儿子做过的操作 嗯…… 我们就这样 慢慢的退一下 嗯 标记是给儿子用的 嗯 是给儿子用的 奉献精神然后,对于这个题,我们可以把所有操作统一为对该节点*x +y的形式 void chan原创 2016-03-17 20:44:44 · 435 阅读 · 0 评论 -
【bzoj1717】Milk Patterns 后缀数组 + (二分||单调队列)
这题看完之后想用单调队列……结果调了一个下午…… DQS学长看了几秒钟之后说是可以二分…… 然后…… OrzOrzOrz#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <queue> #include <stack> using namespace std; const原创 2016-03-06 18:54:49 · 448 阅读 · 0 评论 -
【bzoj 1692】【bzoj 1640】【poj 3617】【poj 3623】Best Cow Line 好牛队 双倍经验水水水
这破题虐了我一晚上…… 读完题就正解了…… 一晚上没调出来…… 猜猜怎么回事…… 我现在仍然在被DQS学长嘲笑…… QAQ…… DQS学长花了五分钟打出来了…… 打出来了…… 我我我我我我我…… QAQ…… 大神为何要虐蒟蒻……#include <iostream> #include <cstdio> #include <algorithm> #include <cstring>原创 2016-03-06 21:10:08 · 701 阅读 · 0 评论 -
2018"百度之星"程序设计大赛 - 资格赛
BB 好了我活了 这么长时间不写题就是会变菜啊 这种题写这么长时间QAQ T1 这个题刚看到的时候一脸mb 然后看到数据范围就放心了 就写了个子集枚举就交上去了 但是要注意的是最后统计答案的时候,是每个数字出现的次数两两相乘再求和 #include <iostream> #include <cstdio> #include <algorithm&...原创 2018-08-06 07:37:40 · 680 阅读 · 2 评论