随笔分类 -  ACM

经典题目和题解
摘要:A. Bulbs题意:n个开关m个灯泡,每个开关可以打开多个灯泡(按下其他开关不会导致已经亮的灯泡熄灭),问能否打开所有的灯。做法:模拟,用tag标记能被打开的灯,遍历一遍所有的灯泡,看是否全部都能被打开。代码如下:#include#define rep(i,n) for(i=1;i>n>>m; i... 阅读全文
posted @ 2016-01-09 20:11 UESTC-Ulysses 阅读(196) 评论(0) 推荐(0)
摘要:Treap,简单的来说就是Tree+Heap,是一颗平衡树,每个节点有两个信息:1.key:当前节点的关键字 ;2.fix:当前节点优先级。key满足二叉排序数的性质,即左儿子都比当前节点小,右儿子都比当前节点大(或相等),fix是一个随机的数,满足小根堆(或大根堆)的性质,fix是为了防止Trea... 阅读全文
posted @ 2015-12-27 02:52 UESTC-Ulysses 阅读(249) 评论(0) 推荐(0)
摘要:``Dynamic'' Inversion每次可以删除一个点,求每次删除之前的逆序对。可以用CDQ分治的方法:题意是删除点,可以倒过来,逆序 每次加一个点进去,而每个点加进去对逆序对的影响就是加上前面的比它大的数和后面的比它小的数。对于普通的逆序对,我们可以用二维的坐标来表示x:1,2,3,....... 阅读全文
posted @ 2015-12-12 14:25 UESTC-Ulysses 阅读(1225) 评论(0) 推荐(0)
摘要:Another Longest Increasing Subsequence Problem有两种思路。思路一: 考虑到如果只有一维,那么可以用f[s]表示长度为s时,最后一个数是多少,把这个想法拓展到二维,即f[s]表示长度为s时,最后一个点的集合,也就是说有多个点,但是这多个点是有顺序,x递增... 阅读全文
posted @ 2015-12-08 19:55 UESTC-Ulysses 阅读(670) 评论(0) 推荐(0)
摘要:Mr. Kitayuta's Colorful Graph并查集不仅可以用于一维,也可以用于高维。此题的大意是10W个点10W条边(有多种颜色),10W个询问:任意两个节点之间可以由几条相同颜色的路径连通。这里要用到高维的并查集,定义fa[u][c]=v表示节点u的颜色c属于集合v,由于无法开出这么... 阅读全文
posted @ 2015-12-06 16:35 UESTC-Ulysses 阅读(522) 评论(0) 推荐(0)
摘要:---恢复内容开始---这道题真的是非常恶心,看题解看了半天才弄懂,而且题解上说的相当简略。此题大意是询问去掉重复元素的最大子区间和,没有修改操作。没有修改操作,这样就可以离线处理了。这道题有几个难点:1.怎么表示去掉重复元素的区间和? 有一种简便而且高效的方法,用pos[a[i]]表示a[i]上... 阅读全文
posted @ 2015-12-05 22:05 UESTC-Ulysses 阅读(351) 评论(0) 推荐(0)
摘要:1.hdu2795 Billboard单点更新,查询左边第一满足条件的节点。查询的时候类似于二分查找,查找的顺序是 整体--->左儿子--->右儿子 直到 l=r 则找到了节点,判断的时候可以用tree[rt] ? v.代码如下 1 #include 2 #define rep(i,n) for(i... 阅读全文
posted @ 2015-11-29 21:29 UESTC-Ulysses 阅读(246) 评论(0) 推荐(0)