• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
dwtfukgv
博客园    首页    新随笔    联系   管理    订阅  订阅
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 58 下一页
2017年10月30日
BZOJ 1935 Tree 园丁的烦恼 (树状数组)
摘要: 题意:中文题。 析:按x排序,然后用树状数组维护 y 即可。 代码如下: 阅读全文
posted @ 2017-10-30 22:47 dwtfukgv 阅读(191) 评论(0) 推荐(0)
POJ 3621 Sightseeing Cows (bellman-Ford + 01分数规划)
摘要: 题意:给出 n 个点 m 条有向边,要求选出一个环,使得这上面 点权和/边权和 最大。 析:同样转成是01分数规划的形式,F / L 要这个值最大,也就是 G(r) = F - L * r 这个值为0时,r 的值,然后对于 F > 0,很明显是 r 太小,但是不好判断,把这个值取反,这样的话就能用B 阅读全文
posted @ 2017-10-30 18:08 dwtfukgv 阅读(184) 评论(0) 推荐(0)
2017年10月29日
HDU 5618 Jam's problem again (cdq分治+BIT 或 树状数组套Treap)
摘要: 题意:给n个点,求每一个点的满足 x y z 都小于等于它的其他点的个数。 析:三维的,第一维直接排序就好按下标来,第二维按值来,第三维用数状数组维即可。 代码如下: cdq 分治: 树套树: 阅读全文
posted @ 2017-10-29 17:45 dwtfukgv 阅读(160) 评论(0) 推荐(0)
51Nod 1376 最长递增子序列的数量 (DP+BIT)
摘要: 题意:略。 析:dp[i] 表示以第 i 个数结尾的LIS的长度和数量,状态方程很好转移,先说长度 dp[i] = max { dp[j] + 1 | a[i] > a[j] && j < i },然后是数量,dp[i] = sigma(dp[j]) if dp[i] == dp[j] + 1。 如 阅读全文
posted @ 2017-10-29 12:04 dwtfukgv 阅读(253) 评论(0) 推荐(0)
2017年10月27日
POJ 2728 Desert King (最优比率树)
摘要: 题意:有n个村庄,村庄在不同坐标和海拔,现在要对所有村庄供水,只要两个村庄之间有一条路即可,建造水管距离为坐标之间的欧几里德距离,费用为海拔之差,现在要求方案使得费用与距离的比值最小,很显然,这个题目是要求一棵最优比率生成树。 析:也就是求 r = sigma(x[i] * d) / sigma(x 阅读全文
posted @ 2017-10-27 23:13 dwtfukgv 阅读(207) 评论(0) 推荐(0)
UVa 11280 Flying to Fredericton (DP + Dijkstra)
摘要: 题意:给出n(2<=n<=100)个城市之间的m(0<=m<=1000)条航线以及对应的机票价格,要求回答一些询问,每个询问是给出最大停留次数S,求从其实城市Calgary到终点城市Fredericton中途停留次数不超过s的最便宜的路程。 析:注意这个题是单向路,我还以为是双向的,dp[i][j] 阅读全文
posted @ 2017-10-27 15:11 dwtfukgv 阅读(182) 评论(0) 推荐(0)
UVa 11367 Full Tank? (DP + Dijkstra)
摘要: 题意:n个城市有m条道路。每个城市的油价不一样,给出起点s和终点t,以及汽车的油箱的容量,求从城市s到城市 t 的最便宜路径。 析:dp[u][i] 表示在第 u 个城市,还剩下 i L升油,一开始用BFS,TLE,要注意效率,用dijkstra,找到城市 t 就该结束了。 代码如下: 阅读全文
posted @ 2017-10-27 13:44 dwtfukgv 阅读(358) 评论(0) 推荐(0)
UVa 10269 Adventure of Super Mario (Floyd + DP + BFS)
摘要: 题意:有A个村庄,B个城市,m条边,从起点到终点,找一条最短路径。但是,有一种工具可以使人不费力的移动L个长度,但始末点必须是城市或村庄。这种工具有k个,每个只能使用一次,并且在城市内部不可使用,但在村庄内部可使用。另外,在城市或村庄内部的时间不计。 析:先预处理出来使用工具能到达的距离,这个可以用 阅读全文
posted @ 2017-10-27 12:44 dwtfukgv 阅读(230) 评论(0) 推荐(0)
2017年10月26日
UVaLive 4452 The Ministers' Major Mess (TwoSat)
摘要: 题意:有 m 个人对 n 个方案投票,每个人最多只能对其中的4个方案投票(其他的相当于弃权),每一票要么支持要么反对。问是否存在一个最终决定,使得每个投票人都有超过一半的建议被采纳,在所有可能的最终决定中,哪些方案的态度是确定的。 析:注意这个题是超过一半,是TwoSat 算法,对于投小于三票的,他 阅读全文
posted @ 2017-10-26 20:44 dwtfukgv 阅读(296) 评论(0) 推荐(0)
2017年10月25日
UVa 11294 Wedding (TwoSat)
摘要: 题意:有 n-1 对夫妻参加一个婚宴,所有人都坐在一个长长的餐桌左侧或者右侧,新郎和新娘面做面坐在桌子的两侧。由于新娘的头饰很复杂,她无法看到和她坐在同一侧餐桌的人,只能看到对面餐桌的人。任意一对夫妻不能坐在桌子的同侧,另外有m对人吵过架,而新娘不希望看到两个吵过架的人坐在他的对面,问如何安排这些座 阅读全文
posted @ 2017-10-25 21:05 dwtfukgv 阅读(210) 评论(0) 推荐(0)
2017年10月18日
HDU 3247 Resource Archiver (AC自动机+BFS+状压DP)
摘要: 题意:给定 n 个文本串,m个病毒串,文本串重叠部分可以合并,但合并后不能含有病毒串,问所有文本串合并后最短多长。 析:先把所有的文本串和病毒都插入到AC自动机上,不过标记不一样,可以给病毒标记-1,如果访问知道就知道不可行的,然后处理出两两串叠加的最小长度,这个要用bfs,在AC自动机上把这个处理 阅读全文
posted @ 2017-10-18 22:14 dwtfukgv 阅读(176) 评论(0) 推荐(0)
HDU 5957 Query on a graph (拓扑 + bfs序 + 树剖 + 线段树)
摘要: 题意:一个图有n个点,n条边,定义D(u,v)为u到v的距离,S(u,k)为所有D(u,v)<=k的节点v的集合 有m次询问(0<=k<=2): 1 u k d:将集合S(u,k)的所有节点的权值加d 2 u k:询问集合S(u,k)的所有节点的权值之和 析:把这个图树成两部分,一个是一个环,然后剩 阅读全文
posted @ 2017-10-18 19:51 dwtfukgv 阅读(429) 评论(0) 推荐(0)
2017年10月17日
UVaLive 2531 The K-League (网络流)
摘要: 题意:有 n 个队伍进行比赛,每个队伍比赛数目是一样的,每场恰好一个胜一个负,给定每个队伍当前胜的场数败的数目,以及两个队伍剩下的比赛场数,问你冠军队伍可能是哪些队。 析:对每个队伍 i 进行判断是不是能冠军,最优的情况的就是剩下的比赛全都胜,也就是一共胜的数目就是剩下的要比赛的数再加上原来胜的数目 阅读全文
posted @ 2017-10-17 22:12 dwtfukgv 阅读(258) 评论(0) 推荐(0)
2017年10月16日
HDU 3897 Base Station (网络流,最大闭合子图)
摘要: 题意:给定n个带权点m条无向带权边,选一个子图,则这个子图的权值为 边权和-点权和,求一个最大的权值。 析:把每条边都看成是一个新点,然后建图,就是一个裸的最大闭合子图。 代码如下: 阅读全文
posted @ 2017-10-16 14:04 dwtfukgv 阅读(357) 评论(0) 推荐(0)
2017年10月15日
HDU 4632 Palindrome subsequence (区间DP)
摘要: 题意:给定一个字符串,问它的集合中有多少个回文串。 析:dp[i][j] 表示区间 i 到 j,有多少个回文串, 如果 s[i] == s[j] dp[i][j] = dp[i+1][j] + dp[i][j-1] + 1。 否则 dp[i][j] = dp[i+1][j] + dp[i][j-1] 阅读全文
posted @ 2017-10-15 18:18 dwtfukgv 阅读(186) 评论(0) 推荐(0)
HDU 5956 The Elder (树上斜率DP)
摘要: 题意:给定上一棵树,然后每条边有一个权值,然后每个点到 1 的距离有两种,第一种是直接回到1,花费是 dist(1, i)^2,还有另一种是先到另一个点 j,然后两从 j 向1走,当然 j 也可以再向 k,一直到1,但经过一个点,那么就会出多一个花费 p,问你每个点到 1 的最小距离的最大值是多少。 阅读全文
posted @ 2017-10-15 17:09 dwtfukgv 阅读(434) 评论(0) 推荐(0)
2017年10月13日
UVa 11248 Frequency Hopping (网络流)
摘要: 题意:给定上一个网络,每个边有一个容量,问你能不能从 1 到 n,使得流量为 c,如果不能,那么是不是可以修改一条边,使得达到。 析:背景就是一个网络流,如果原图能跑出来,那么就不用了,就肯定能达到,如果不能,那么修改的边肯定是最小割里的边,那么就枚举这最小割里的边,这样可能会超时,所以就优化,其中 阅读全文
posted @ 2017-10-13 20:09 dwtfukgv 阅读(286) 评论(0) 推荐(0)
HDU 3341 Lost's revenge (AC自动机+DP)
摘要: 题意:给定 n 个子串,然后给一个母串,让你对母串重排,然后问你最多含有多少个字串。 析:这个题很容易想到五维DP,这样的话,不但会MLE,而且连数组都不一定开的出来,里面有大量的无用的状态,所以我们把那四个字符出现的次数进行重新编制,假设A出现 a 次,C出现 c 次,G出现 g 次,T出现 t 阅读全文
posted @ 2017-10-13 18:24 dwtfukgv 阅读(250) 评论(0) 推荐(0)
2017年10月11日
UVa 12003 Array Transformer (分块)
摘要: 题意:给定一个序列,然后有 m 个修改,问你最后的序列是什么,修改是这样的 l r v p 先算出从 l 到 r 这个区间内的 小于 v 的个数k,然后把第 p 个的值改成 k * u / (r - l + 1)。 析:分块,每块长度是sz,把每一块都排序。然后在每次修改的时候,只要计算出 l 和 阅读全文
posted @ 2017-10-11 21:01 dwtfukgv 阅读(277) 评论(0) 推荐(0)
POJ 3686 The Windy's (最小费用流或最佳完全匹配)
摘要: 题意:有n个订单m个车间,每个车间均可以单独完成任何一个订单。每个车间完成不同订单的时间是不同的。不会出现两个车间完成同一个订单的情况。给出每个订单在某个车间完成所用的时间。问订单完成的平均时间是多少。 析:这个题可以用最小费用流或者最佳完全匹配来做,因为只有车间和订单,满足二分图,主要是在建图。 阅读全文
posted @ 2017-10-11 18:31 dwtfukgv 阅读(285) 评论(0) 推荐(0)
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 58 下一页
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3