随笔分类 -  数据结构

摘要:原题链接:http://poj.org/problem?id=1741题意:给你棵树,询问有多少点对,使得这条路径上的权值和小于K题解:就。。大约就是树的分治代码:#include#include#include#include#include#include#include#define MAX_... 阅读全文
posted @ 2015-10-20 15:09 好地方bug 阅读(233) 评论(0) 推荐(0)
摘要:原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=5360题意:大概的意思就是每个人有个人数接受范围$[l_i,r_i]$,现在你每次能从还未被选取的人中选择一个人,如果当前人数符合这个人的需求,那么这个人就会被选中。现在让你输出一个选择的序列,使得被选择... 阅读全文
posted @ 2015-09-25 21:58 好地方bug 阅读(159) 评论(0) 推荐(0)
摘要:题意:一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节... 阅读全文
posted @ 2015-09-22 22:07 好地方bug 阅读(172) 评论(0) 推荐(0)
摘要:首先允许我吐槽CSDN的MARKDOWN,简直难用的不行。程序的原理是将表达式分治转换为二叉树,再在二叉树上递归计算结果。如同以下表达式:x+5*y-(6/(1-5.5))可以表达为以下二叉树(抱歉,本来想弄Visualgo的,结果上不了,只能用word来做画面了):为什么是这样的二叉树呢?仔细想想... 阅读全文
posted @ 2015-02-14 22:28 好地方bug 阅读(1440) 评论(0) 推荐(1)
摘要:#include#include#include#include#include#define MAX_N 35#define MAX_T 500005using namespace std;typedef long long ll;map ma[2];ll n,m,a[MAX_N],tot[2]=... 阅读全文
posted @ 2014-11-19 21:56 好地方bug 阅读(265) 评论(0) 推荐(0)
摘要:#include#include#include#include#define MAX_N 50004using namespace std;int father[3*MAX_N];int N,K;int ans=0;void init(){ for(int i=1;i>N>>K; in... 阅读全文
posted @ 2014-11-16 18:09 好地方bug 阅读(149) 评论(0) 推荐(0)
摘要:原题链接http://codevs.cn/problem/1245/题目描述Description有两个长度为 N 的序列 A 和 B,在 A 和 B 中各任取一个数可以得到 N^2 个和,求这N^2 个和中最小的 N个。输入描述Input Description第一行输入一个正整数N;第二行N个整... 阅读全文
posted @ 2014-11-14 20:31 好地方bug 阅读(230) 评论(0) 推荐(0)
摘要:此题可以用STL的multiset解决,也可以手打一棵伸展树(Splay)来求前驱与后驱。使用multiset:#include#include#include#includeusing namespace std;typedef long long LL;multiset se;/*LL abs(... 阅读全文
posted @ 2014-08-13 16:58 好地方bug 阅读(136) 评论(0) 推荐(0)
摘要:原题地址:http://acm.uestc.edu.cn/#/problem/show/844“你动规无力,图论不稳,数据结构松散,贪心迟钝,没一样像样的,就你还想和我同台竞技,做你的美梦!今天这场比赛,就是要让你知道你是多么的无能!!”不训练,无以为战。有n项能力是ACM竞赛要求的,训练则能提升,... 阅读全文
posted @ 2014-05-19 14:06 好地方bug 阅读(260) 评论(0) 推荐(0)