数据结构
文章平均质量分 54
yueqiq
这个作者很懒,什么都没留下…
展开
-
hdu 1754 I Hate It
#include #include #include #include #include #include #include #include #include #include #include #include #include #define LL long long#define Vi vector#define Si set#define readf fr原创 2012-05-27 14:39:42 · 225 阅读 · 0 评论 -
Hoj(哈尔滨工业大学) 1867 经理的烦恼
树状数组入门,对这种被动接受的东西,总是不习惯code #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define原创 2012-08-04 19:41:47 · 1469 阅读 · 0 评论 -
poj1161 The Suspects
并查集基础题,没什么好理解的,纯粹是因为学kruskal而学的并查集code:/*ID: yueqiqPROG: numtriLANG: C++*/#include #include #include #include #include #include #include #include #include #include #include #includ原创 2012-07-26 10:37:00 · 391 阅读 · 0 评论 -
hdu1232 畅通工程
还是并查集,不过我觉得最后判断最少路径自己处理的麻烦了,得去看看大神代码.......code:/*ID: yueqiqPROG: numtriLANG: C++*/#include #include #include #include #include #include #include #include #include #include #include原创 2012-07-26 11:01:27 · 318 阅读 · 0 评论 -
poj3349 Snowflake Snow Snowflakes
做的第一道hash题目,不知道什么情况该用什么方法hashcode#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #de原创 2012-07-31 19:09:59 · 404 阅读 · 0 评论 -
poj2525 Mayor's posters
线段树+离散化,因为每个结点代表的不是一个点,而是一段,所以把每个线段的后端点+1,形成【x1,x2)的半开半闭区间,。。。。code#include #include #include #include #include #include #include #include #include #include #include #include #includ原创 2012-08-01 18:32:14 · 345 阅读 · 0 评论 -
hdu As Easy As A+B
正如题目所说,这是一道像A+B一样简单的一道题,code://从今天开始不再用宏定义//采用松散的代码写法~~#include #include #include #include #include using namespace std;void swap(int &a1,int &a2){ int tmp=a2; a2=a1; a1=tmp;原创 2012-09-01 10:48:59 · 354 阅读 · 0 评论 -
hdu1425 sort
用堆排序写的,可能优化的不是很好,加上输入外挂才没有超时code://从今天开始不再用宏定义//采用松散的代码写法~~#include #include #include #include #include using namespace std;void swap(int &a1,int &a2){ int tmp=a2; a2=a1; a1=t原创 2012-09-01 11:51:35 · 487 阅读 · 0 评论 -
hdu3635 Dragon Balls
智商拙计啊,这题看了解题报告都不是很懂,郁闷。。。。。考虑了很长时间,才明白每个根结点最多只能移动一次,所以我们的目的就是把这一次push到各个子节点上就可以了,因为路径压缩的缘故,除了这次操作之外,所有的结点都挂在根节点上,完全水题一枚,被暴虐啊code:#include #include using namespace std;const int MAXN =原创 2012-09-24 13:18:40 · 306 阅读 · 0 评论 -
hdu3038 How Many Answers Are Wrong
并查集真心高深,偏移量的问题以及路径压缩中的更新顺序问题真心把我搞迷糊了。。。。决定先不看并查集了。。。。code:#include #include using namespace std;class UFS{ static const int MAXN = 200001;public: int father[MAXN]; int rank[MAXN]原创 2012-09-24 15:02:17 · 382 阅读 · 0 评论 -
hdu1800 flying to the mass
又被水题虐了。。。。。。给你一堆士兵的等级,等级高的的士兵可以当等级小的士兵的师傅,一个士兵最多一个师傅(可以没有),一个师傅最多1个徒弟(可以没有),如果是师徒关系,可以用一把扫帚练习技能,问你如果全部士兵都用过扫帚练习时最小需要的扫帚数量。刚开始打算直接贪心的。。复杂度太高,tle了,,然后百度才发现所求的竟然就是出现最多的那一个数,即最长平台.用map做其实爆简单。。。code:#i原创 2012-09-25 17:58:39 · 384 阅读 · 0 评论 -
hdu 1251 统计难题
只能默默的说,指针什么的对于我这个没学过c语言的弱菜真的很................................大二好好学c++~~~#include #include #include #include #include #include #include #include #include #include #include #include #inc原创 2012-06-05 23:53:40 · 293 阅读 · 0 评论 -
poj 2001 Shortest Prefixes
还是字典树的基础题,纯粹为了熟练代码,加深理解#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define Si set原创 2012-06-06 09:52:02 · 271 阅读 · 0 评论 -
tyvj 1427 小白逛公园
对我这种弱菜来说挺难的,算是抄的代码吧#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define LL long lon原创 2012-06-05 13:01:58 · 899 阅读 · 0 评论 -
hdu 1166 敌兵布阵
线段树的模版 没什么思想#include #include #include #include #include #include #include #include #include #include #include #include #include #define LL long long#define Vi vector#define Si set#def原创 2012-05-27 14:32:35 · 260 阅读 · 0 评论 -
Uva Accordian Patience
这个题确实让我恶心到了,搞了两天,各种TLE,蛋碎,学C++以来第一次用STL ,就当是熟悉一下吧,不过codeblocks的提示确实是有些问题。。。思路:直接模拟,每次移动之后一定要从头开始才能确保按顺序移动,直接模拟一定要用scanf输入,这很关键....基本上算是卡着时间AC的这个题确实让我恶心到了,搞了两天,各种TLE,蛋碎,学C++以来第一次用STL ,就当是熟悉一下吧,不过原创 2012-05-27 14:07:20 · 325 阅读 · 0 评论 -
hdu1394 Minimum Inversion Number
此题对于我来说甚是巧妙啊 ,线段树可以这么用,这次参考了胡浩神的线段树写法:对于此题:1. 求出原始序列的逆序数2. 当把第i个数移动到序列末尾时,原来小于a[i]的逆序数数将不在是逆序数,大于a[i]的非逆序数将成为逆序数显然在(0---n-1)序列中,比它小的数有a[i]个(0---a[i]-1);比它大的数有n-a[i]-1个(a[i]+1----n-1);下面解原创 2012-05-28 23:50:08 · 260 阅读 · 0 评论 -
hdu 2795 Billboard
代码依然参考胡浩神:说说思路吧,因为n最大有20W,所以可以把每一行当作线段树的叶子(因为n可能小于h,所以只需要最小的那个建树就可以了),每一个叶子的值则是w;要保证 announcements 是贴在最上面的,而且是最左边的(这点无需考虑,因为是按照读入的顺序来的),要保证是贴在最上面,所以优先向左子树搜索,即当前结点的左子树值(代表左子树下有叶子的值是大于wi的)大于wi,就搜索左子原创 2012-05-29 21:04:52 · 277 阅读 · 0 评论 -
poj 2828 Buy Tickets
此题跟poj 2182基本一样,请看我的2182的那篇博客讲的很清楚代码改动在20个字符左右........#include #include #include #include #include #include #include #include #include #include #include #include #include #include #i原创 2012-05-30 18:04:50 · 438 阅读 · 0 评论 -
poj 2182 Lost Cows
用数组a[]记录第i头牛之前有多少头序号比它小的牛,则最后一头牛n的序号肯定是a[n]+1(因为所有的牛都在它前面);倒数第二头牛的编号肯定是把倒数第一的牛的编号删去后排在第a[n-1]+1的位置上;依次类推样例分析一下:编号 1 2 3 45;数据 0 1 2 10;最后一头编号肯定是 1;然后把 1 删除掉编号 2 3 4 5;倒数第二头的编号 就是原创 2012-05-30 17:40:42 · 312 阅读 · 0 评论 -
poj 3264 Balanced Lineup
本来想刷刷水题,结果刷出问题来了,查询区间自己还是没有彻底弄透,警告!!#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #d原创 2012-05-30 23:40:06 · 220 阅读 · 0 评论 -
poj 2886 Who Gets the Most Candies?
写代码的时间长达3个半小时,当然没刨去中间吃饭什么的........思路:先直接dfs求出最大的 p 和 f(p) 这里用到了反素数,详解请看zoj 2562那篇文章,里面有解释然后就是用线段树模拟约瑟夫,但是悲剧的是我没太搞懂出圈顺序,此处系参考而来....................code#include #include #include原创 2012-05-31 18:39:54 · 294 阅读 · 0 评论 -
hdu 1698 Just a Hook
还是线段树,区间更新问题,第一次接触,没太搞透,但感觉不是难理解,明天在草稿上模拟下code#include #include #include #include #include #include #include #include #include #include #include #include #include #include #inclu原创 2012-05-31 23:24:26 · 282 阅读 · 0 评论 -
poj 3468 A Simple Problem with Integers
区间成段更新的问题,虽然明白了,但是却感觉写不出什么东西来,还是得多做点题加深感悟#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #includ原创 2012-06-02 15:37:38 · 266 阅读 · 0 评论 -
hdu1075 What Are You Talking About
用map做的,很简单code:#include #include #include #include using namespace std;map dict;map::iterator it;char tmp1[25],tmp2[25],word[25];char sent[3030];int main(){ //freopen("output.txt"原创 2012-11-01 10:25:31 · 395 阅读 · 0 评论