- 博客(19)
- 收藏
- 关注
原创 UVA 11525 Permutation(树状数组)
题目意思是说 给你一个数k 然后有k个si 问你1--k 的第n个全排列是多少 注意是 1 2 3...k的全排列 不是si的N= 由观察得知(k-i)!就是k-i个数字的全排列种数, 0=比如对于数列{1,2,3,4},假设S1=2,当i==1的时候对于2*(4-1)!,从0到(4-1)!排列一定是1,x,x,x,从1*(4-1)!到2*(4-1)!排列一
2014-08-07 00:40:44
1125
转载 LCA(最近公共祖先)问题的离线算法
1 定义LCA(Least Common Ancestors):最近公共祖先。对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大(设树根的深度最小)。另一种理解方式是把T理解为一个无向无环图,而LCA(T,u,v)即u到v的最短路上深度最小的点。这里给出一个LCA的例子:对于T=,V={1,2,3,4,5},E={(1,2)
2014-07-19 22:50:07
798
原创 UVALive 6472 Powers of Pascal
题目的意思是:给了一个无穷大Pascal矩阵,定义了powers,然后询问power为P的pascal矩阵里面的第R行C列的元素是多少。最开始读错题意了...然后 就成了一个神得不得了的题了。后来请教的别人。感觉可以用矩阵快速幂做。然后,不用快速幂的话,你会惊奇的发现,变成了找规律的题了...答案成了 comb(i,j) * P^(i-j)对于comb(i,j),利
2014-07-18 11:09:39
1208
原创 UVALive 6469 Deranged Exams (排列组合:绝逼是纯纯的高中知识啊)
题目意思是 :给你一个n([1,17])表示有n个数据结构里的术语,然后n个对这些术语的定义,让你对这些术语和定义对号入座(相当于进行连线,A术语连A术语的定义)。然后一个k([0,n]),问你至少前k个术语定义对应错的总共有多少种。起先我也不怎么会,忘完了,后来看别人的题解,可能我语文真的不怎么好,不是很能理解,然后问的别人...然后xxx给我说我有写个题解的必要了 so..
2014-07-16 21:26:22
1089
原创 Floyd判圈算法
在白书上看到,然后觉得不是十分明白,百度了下,看了好几个博客,觉得下面这个博客不错,推荐下:http://blog.csdn.net/thestoryofsnow/article/details/6822576do{ k1=next(n,k1); k2=next(n,k2); if(ans<
2014-05-25 20:16:06
832
原创 hdu1025 Constructing Roads In JGShining's Kingdom (nlogn的LIS)
题目链接第一次写nlogn复杂度的LIS,纪念一下。题目意思是说。有两条平行线,两条平行线都有n个城市,都是从左到右标记为1--n,一条线上是富有城市,一个是贫穷城市。输入n,接下来有n行,p,r表示穷城市p和富有城市r之间可以建一条路(p的顺序是1--n,一个贫穷城市只对应一个富有城市(弱爆的语文描述能力T_T)),公路不能交叉。问最多可以建多少条公路。
2014-05-25 00:04:43
886
原创 HDU 3172 Virtual Friends(并查集)
时空隧道题目意思是说,有多组测试数据,每组一个t表示有t个社交网络,接下来f 表示有f个朋友链形成(原谅我贫乏的语文...)然后,问,当每个朋友链形成时,当前朋友网中有多少个人(大体就是这个意思...)其实就是个很简单的并查集....因为最近很不在状态,导致读题各种挫。然后wa了好几次...以前学的map太久没用,也不会用了,然后,算是复习了一下,虽
2014-03-25 12:46:33
587
原创 lightoj 1135 - Count the Multiples of 3
一个lazy标记的很不错的学习的题。。。题意是说,有0---n-1个数,初始化都为0。有两种操作:0 i j, 闭区间[ i , j ]上的每个数都加11 i j,询问闭区间[ i , j ] 中,是3的倍数有多少个。题目如下:You have an array with n elements which is indexed from 0 to n - 1. Initia
2014-02-01 20:08:19
916
原创 poj 2897
时空隧道模拟题其实我没有找到写这份题解的意义何在,大概是为了提醒自己亦或是为了纪念什么。有时候会特别模糊思维,看道这题的时候,感觉懂又感觉不懂,最后还是搜了题解,看了半天,然后才明白。这大抵是我正式写的第一个模拟题,也许我真的比较笨,所以有些时候有些浅显的东西,反而要比复杂的东西用更多时间去明白。所以,大概是想以后看看的,所以还是写了这个。//#pragma comment
2014-01-29 23:43:26
603
转载 位运算|| 转自小胖的丘丘空间
来自这里哈哈,全篇复制粘贴的。 一直比较弱,位运算和二进制方面,所以状压一直是很忧伤的一块。要学些东西。。。发现位运算已经离我而去。。去网上找了下,虽然不是我写的,但是本来是Pascal语言改C不容易啊,顺便加了最后一条~,大家给个掌声哈 去掉最后一位 | (101101->10110) | x
2014-01-25 19:39:36
840
转载 POJ 2975 Nim
时空隧道考Nim-Sum证明的,a1^a2^a3^....^ai......^an = ans, 若ans = 0,这肯定是必败态,win的步数为0;若ans != 0, 则为必胜态,怎样才能达到必败态呢,或者说有多少种可能达到必败态(理论上至少有1种至多有n种),而这里:等式两边同时^ans得a1^a2^a3^....^ai...^an^ans = 0
2014-01-25 00:15:00
561
转载 Nim游戏...一个被说了无数次的东西
整理下方便自己看,语文理解能力不好。。。别人写的要看半天才能看懂写的什么。。。所以把自己看懂的整理下,方便复习Nim游戏的形象具体论述:Nim取子游戏是由两个人面对若干堆硬币(或石子)进行的游戏。设有k>=1堆硬币,各堆分别含有N1,N2,……NK枚硬币。游戏的目的就是选择最后剩下的硬币。游戏法则如下:1.两个游戏人交替进行游戏(游戏人I和游戏人II);
2014-01-24 22:20:40
932
7
原创 hdu 1892 See you~
时空隧道本来是不打算写题解来着,但是它残忍的WA了我好多发这道题之所以写这么久...是因为研究了好久二维线段树..Orz 还是知道会MLE的情况下(所谓没事找事做),写了个模板,不知道能不能A题...最后还是用的二维树状数组来着,线段树空间耗费too大了...题目就是讲,最开始矩阵每个方格都有一本书~ 然后 有如下操作:A X Y Z 在(x,y)增加z本书
2014-01-23 22:10:37
732
原创 hdu 1394 Minimum Inversion Number 线段树
又学会了一种线段树写法,感觉比以前学的简单了很多~时空隧道(题目链接)题目是说,给一个数字n,然后有n个数0--n-1,顺序是打乱的,问操作a1, a2, ..., an-1, an (where m = 0 - the initial seqence)a2, a3, ..., an, a1 (where m = 1)a3, a4, ..., an, a1, a2 (where
2014-01-22 14:45:55
641
原创 POJ 1195--Mobile phones (二维树状数组)
题目链接 一棵很裸的二维树状数组,主要是学到了很多,所以纪念下。不会二维其实,然后自己YY了一下,YY对了,然后又改错了= =。。。最后还是请教了喵女神。然后,范围看错了,用的 int64 WA的惨不兮兮的。(今天才知道,输出木有%lf 这个标准..Orz C语言弱渣给跪了今天学到很多~ 比如用__int64 会慢很多,然后数组的话,容易出错。double型的输出也用%f.)
2014-01-21 16:08:54
781
原创 POJ Ultra-QuickSort 树状数组解法
身为弱菜,觉得有必要偶尔写一写题解,加深记忆。刚开始完全不明白为什么要树状数组,百度了一发,随手点了几个,都是归并写的,便没有看了,果断请教人去了。这道题大概意思就是求逆序数。所谓逆序,比如:1,2 是正序,2,1 就是逆序。拿样例说话:9 1 0 5 4 9 1是一对逆序数,依次9 0, 9 1 ,9 5, 9 4,这里就有4个逆序数,然后1只有一个逆序,即1 0,。接下
2014-01-21 00:17:25
707
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人