上一页 1 ··· 40 41 42 43 44 45 46 47 48 ··· 54 下一页
摘要: 第一道凸包 采用Andrew算法,不论实现还是理解都非常简单 1 var q,x,y:array[0..5010] of longint; 2 i,j,k,m,n:longint; 3 ans:double; 4 5 procedure swap(var a,b:longint); 6 var c: 阅读全文
posted @ 2014-07-12 20:47 acphile 阅读(178) 评论(0) 推荐(0)
摘要: 把每对钥匙看做一个变量,那两个钥匙看做他的两个状态 每一个开门的要求就是一个条件(xi or xj) 很显然有了2sat的基本要素 2sat是一个判定性问题,而这题求最多能过几个门; 不难想到二分答案,转化为判定性问题可轻松解决 1 type node=record 2 next,point:lon 阅读全文
posted @ 2014-07-12 20:44 acphile 阅读(122) 评论(0) 推荐(0)
摘要: 第一道2sat, 其实2sat问题不难,只要记住一个:通过“推导出”连边 什么意思呢?就是一般题目中的变量都有两个状态,只能取一个,我们定义为true和false 对于每一个变量i,我们都拆成两个点,分别表示两种状态,设2i表示true,2i+1表示false。 然后来看每个条件,比如要满足xi=t 阅读全文
posted @ 2014-07-12 20:39 acphile 阅读(129) 评论(0) 推荐(0)
摘要: 首先要思考的问题肯定是,什么点可以是ans, 不难想到对图黑白染色,假如一个棋子不管怎么走,都只能走到和它同色的点上时,这就是一个ans 再考虑,每次棋子的移动都是黑白相间的 再考虑,黑白染色是可以构成一个二分图的 不难想到,二分图上的增广路。 于是第一问就很好解决,我们构建二分图做最大匹配, 如果 阅读全文
posted @ 2014-07-06 19:18 acphile 阅读(479) 评论(0) 推荐(0)
摘要: 还是同一类最小割问题 对于只要记住,建图是来最小化损失, 最大化收益是所有收益-最小取不到的收益 首先对于每个经理i,如果不取,必然有signma(w[i,j])收益会得不到(这里我们先不考虑额外的损失); 如果取,必然会损失a[i](其实这个也不是收益,只是我们最后用sum-mincut时,sum 阅读全文
posted @ 2014-07-06 17:52 acphile 阅读(165) 评论(0) 推荐(0)
摘要: 其实这道题和以前在poj上做过的将树映射到树状数组的题目很像 首先不难想到,将一条边从土路修成公路,只对以这条边连接的孩子结点为根的子树有影响; 于是和之前那道poj的题目很像,后序遍历树,对每个节点重标号,每个点初始值就是深度 下面的问题就变成了: 土路修成公路 >区间修改 查询从点1到某个点所经 阅读全文
posted @ 2014-07-06 17:34 acphile 阅读(154) 评论(0) 推荐(0)
摘要: 花了一上午大概复习了一下splay,treap 像这种裸的数据结构题在js应该会越来越少 不过练练手也好, 这就是平衡树+hash,如果这是单纯的BST应用,还是写treap吧,好调试 1 const rd=250008; 2 ran=10000007; 3 4 type link=^node; 5 阅读全文
posted @ 2014-07-05 23:06 acphile 阅读(200) 评论(0) 推荐(0)
摘要: 首先是稀疏图,不难想到dij+heap 观察题目可以知道,0<=k<=10; 所以比较裸的想法就是,d[i,j]表示已经免费了i条线路后到达j的最短路 容易得到 d[i,j]:=min(d[i,j],d[i-1,k]); d[i,j]:=min(d[i,j],d[i,k]+w[k,j]); 然后在做 阅读全文
posted @ 2014-07-05 22:49 acphile 阅读(135) 评论(0) 推荐(0)
摘要: 首先机器人是并行的; 很容易想到到某个点的最短用时 =max(到这个点的最短路,max(到保护这个点结界所在点的最短用时)) 所以我们在做dij的时候,d[j]维护最短路,w[j]维护所有保护这个点结界所在的点的最短用时的最大值 在做最短路松弛的时候,我们肯定是要加一个优先条件即这个点没有结界保护了 阅读全文
posted @ 2014-07-05 22:38 acphile 阅读(245) 评论(0) 推荐(0)
摘要: 话说这题很久以前就写过,然后好像一直忘了写题解…… 以前看这道题还觉得挺难的,现在觉得好水 首先朴素的想法肯定是动归 f[i,j]表示到处理到第i根电线,最终高度为j的最小花费 f[i,j]:=min(f[i-1,k]+sqr(h[i]-j)+abs(j-k)*c) (h[i]<=j<=max) m 阅读全文
posted @ 2014-07-05 22:31 acphile 阅读(210) 评论(0) 推荐(0)
上一页 1 ··· 40 41 42 43 44 45 46 47 48 ··· 54 下一页