MDeath-Kid

- M I T & Y
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  算法分析

算法分析
摘要:几句话道出map和hash_map的区别1. STL map is an associative array where keys are stored in sorted order using balanced trees. While hash_map is a hashed associated container, where keys are not stored in an ordered way. Key, value pair is stored using a hashed function. 2. Insertion and lookup takes Ologn time 阅读全文

posted @ 2011-11-20 19:54 MDeath-Kid 阅读(282) 评论(0) 推荐(0)

摘要:~ | & ^ << >>这些都是按位运算,什么意思?就是一位一位的进行运算。所以 ! 和 ~ 是不同的。基本的操作:and ----- &or ----- |取反 ----- ~异或 ----- ^同或 ----- ~(^) // 异或后求反<<(左移) >>(右移)(真值表很容易在网上搜到,就不列了)这5个基本的运算可以求出很多意想不到的东西。下面是一些自己总结的:一般位运算分为:取位操作、改位操作、功能性的操作。取出某个数的某一位:get_bitbool get_bit(int t,int x) { // 在 t 中,取出第 阅读全文

posted @ 2011-11-13 21:58 MDeath-Kid 阅读(1373) 评论(0) 推荐(0)

摘要:1、DLX2、概率3、搜索,数独,A*4、缩点还有尼玛坑爹的DP 阅读全文

posted @ 2011-10-07 17:08 MDeath-Kid 阅读(97) 评论(0) 推荐(0)

摘要:一共10个题目。前几个都是考基本流程控制的大水题。第一题,格式输入,条件判断。1001 1 #include<iostream> 2 #include<stdio.h> 3 #include<string.h> 4 #include<limits.h> 5 #include<queue> 6 #include<algorithm> 7 #define FOPEN freopen("d:\\1.txt","r",stdin); 8 #define MAXN 10005 9 10 usi 阅读全文

posted @ 2011-09-12 13:25 MDeath-Kid 阅读(319) 评论(2) 推荐(0)

摘要:http://www.cnblogs.com/gxceo/archive/2010/11/29/1891387.html网上搜来的:下面是ACM队员应掌握的知识及POJ 题目推荐,还没ACM自己的论坛所以就发表在博客园供大家看吧(这些在网上都能搜到的)PS:希望新人们能超越我们能够创造出奇迹,希望在我离校之前能看到新人的成长,能够走出去。 程序设计不是不需要天分,但需要更多的是勤恳、更多的是饱满的激情与坚持不懈的努力。 理想很美好现实很残酷,我们要用自己的努力去挫败这残酷的现实……view sourceprint?001图论002拓扑排序003有向无环图与动态规划的关系004二分图匹配问题00 阅读全文

posted @ 2011-09-01 08:24 MDeath-Kid 阅读(479) 评论(0) 推荐(0)

摘要:解题报告:http://hi.baidu.com/%C3%CD%E1%EF%D2%B2%D7%EA%B5%D8/blog/item/736d6dc27695c6000ff477c4.html#lastcmt猛犸神的blog。又被虐了,第一题我们三个人居然纠结了1:30小时没做出了,全都载到了lld上,导致后面状态很差,就做出来一道D,最长非递减子序列,快结束的时候终于队友发现了lld用错了,A了第一题,我则一直载道了Weekend Party上,不知道缩点,反正就是做法全错了!大三了居然还要调寝室,还要挤过来其他的学生,学校太BT了,特别不顺心,为啥调寝室,还不是因为院里面那点破事,不会办事! 阅读全文

posted @ 2011-08-29 21:10 MDeath-Kid 阅读(222) 评论(0) 推荐(0)

摘要:第一次按位DP,按位DP主要是求在一区间上满足某种或几种关系的数字有多少个。记得我从4月份的浙大月赛碰到第一个这样的题后,碰到了好多次,可都不会啊,现在终于会了这个DP。HDU 3555这个多校的赛大概是很多人第一次的按位DP,我也是,理解按位DP用了一天+晚上的时间,虽然比赛的时候还A出来两个比较水的按位DP,但自己的思路狠不清晰,狠让我震惊的就算这个题的discuss,那位童鞋太萌了!!~我为了理解按位DP到底是怎么运行的,我自己手动算了两张纸,而且是两边啊啊啊啊啊,因为不懂啊,知道那个状态设计,但是不知的实现起来怎么就那么的费劲啊啊啊,最后终于理解了,觉得用HDU那位童鞋的代码做模板了, 阅读全文

posted @ 2011-08-08 19:07 MDeath-Kid 阅读(725) 评论(0) 推荐(0)

摘要:HOJ 2500 1 #define FOPEN freopen("/media/3CBCB387BCB33A6A/1.txt","r",stdin); 2 #define MAXN 203 3 int n; 4 short dp[MAXN][2]; 5 6 struct str_hash { 7 size_t operator () (conststring& str) const { 8 unsigned long __h =0; 9 for(size_t i =0;i<str.size(); i++)10 __h =5* __h +s 阅读全文

posted @ 2011-08-08 18:45 MDeath-Kid 阅读(313) 评论(0) 推荐(0)

摘要:POJ 2823#define MAXN 1000003int a[MAXN];int n,m;struct node { int num,t;}q[MAXN];int head,rear;void add(int num,int i) { while(head <= rear && q[rear].num <= num) rear--; rear++; q[rear].num = num; q[rear].t = i;}void addmin(int num,int i) { while(head <= rear && q[rear].num 阅读全文

posted @ 2011-08-08 17:29 MDeath-Kid 阅读(337) 评论(0) 推荐(1)

摘要:求逆序对,数据量大,离散化,当然,这是树状数组的做法。2299#define FOPEN freopen("d:\\1.txt","r",stdin)#define lowbit(x) x & -xstruct sta{ int va,idx; int sta;};sta s[MAXN];int n,a;int num[MAXN];int cmp(const void *a,const void *b){ struct sta *c = (sta *)a; struct sta *d = (sta *)b; return d->va - c 阅读全文

posted @ 2011-07-21 16:46 MDeath-Kid 阅读(255) 评论(0) 推荐(0)

摘要:http://acm.swjtu.edu.cn/JudgeOnline/showproblem?problem_id=17621762int main(){ int n;SCF(n); F(kk,n) { printf("Case #%d: ",kk+1); int a,b,c,d; scanf("%d%d%d%d",&a,&b,&c,&d); int sum=abs(a-c)+abs(b-d); if(!(sum%2)) printf("NO\n"); else printf("YES\n& 阅读全文

posted @ 2011-06-25 11:27 MDeath-Kid 阅读(165) 评论(0) 推荐(0)

摘要:DEFINE 1 #include<iostream> 2 #include<limits.h> 3 #include<stdio.h> 4 5 #include<string.h> 6 #include<math.h> 7 #include<time.h> 8 9 #include<algorithm>10 //#include<ext/hash_map>11 #include<vector>12 #include<stack>13 #include<queue> 阅读全文

posted @ 2011-06-07 21:29 MDeath-Kid 阅读(592) 评论(3) 推荐(0)

摘要:今天看了几个中位数的题,感觉的确应该好好总结下。带权中位数的概念:http://baike.baidu.com/view/1209446.htm中位数要解决的问题:一维平面就是一条直线上汇集到一点的距离的最小值,求这一点。二维的就是平面上所有点汇集到一点的最小距离,同求这一点。带权中位数就是这个距离变成了权值。其实这点满足这个最重要的公式就OK了:sigma( i=1 to k-1) Wi <= W/2 sigma( i=k+1 to n) Wi <= W/2但正是这个公式让人头痛,因为公式后面由着大量的证明。我通俗的在这里说下,有两群人,第一群人共有A个,第二群人共有B个,要求 阅读全文

posted @ 2011-06-01 11:19 MDeath-Kid 阅读(645) 评论(0) 推荐(0)

摘要:没见有人贴出来,一个1040ms的代码贴着了。大概思路就是:hash数组压缩+逆序数+树状数组求和+map-定位hash。测试数据也挺强。代码贴这:1443 1 /* 2 m332463970 1443 Accepted 5320 kb 1040 ms C++ 2656 B 2011-05-29 21:49:31 3 */#include<stdio.h> 4 //#include<conio.h> 5 #include<iostream> 6 #include<string.h> 7 #include<math.h> 8 #incl 阅读全文

posted @ 2011-05-29 22:03 MDeath-Kid 阅读(190) 评论(0) 推荐(0)

摘要:/*ACMer:MDK时间居然是最慢的一个。。。汗。UserID: MDKSubmit time: 2011-04-30 17:29:16Language: C++Length: 2061 Bytes.Result: Accepted*/#include<stdio.h>#include<iostream>#include<limits.h>#include<string.h>#include<math.h>#include<vector>#include<algorithm>#include<set&g 阅读全文

posted @ 2011-05-04 21:01 MDeath-Kid 阅读(586) 评论(0) 推荐(1)