上一页 1 2 3 4 5 6 ··· 14 下一页
摘要: 题目: 分析: 很明显是一个顺推的dp。 首先分析题目的性质: 如果现在向回走到了一个点,那么那个点一定是第奇数次被经过(离开它的时候一定是被偶数次经过) 定义dp [ i ]为到达i时是奇数次,再离开i,然后走到 i+1 所花费的时间。 答案就是dp[ n ]。 考虑怎么转移: dp[ i ]=d 阅读全文
posted @ 2019-11-07 20:52 rua-rua-rua 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 题目: 分析: 这道题。。。真的累。。。 抛开一切正图反图拓扑的想法。 二分一个mid。考虑怎么check。 枚举每一条边,如果fs[ u ] + ft[ v ] + 1>mid 则说明这条边不满足,加入新图里面。 在新图上跑一边必经点,如果必经点只有一个,并且这个点删掉后,断了的链不会再大于mid 阅读全文
posted @ 2019-11-07 20:44 rua-rua-rua 阅读(131) 评论(0) 推荐(0) 编辑
摘要: P2182 翻硬币 分析: 60分的状压很好想:定义dp[ i ][ sta ]为翻了i次,状态为sta的方案数,枚举状态转移即可。 但n的范围是100。 遇到这种情况肯定不能状压了,一般是把记录状态换成记录其他东西。 比如说中国象棋这道题,就是将记录状态转换成记录个数。 这道题也是一样,记录初始状 阅读全文
posted @ 2019-11-06 21:35 rua-rua-rua 阅读(184) 评论(0) 推荐(0) 编辑
摘要: P4189 [CTSC2010]星际旅行 分析: 对于只求一个点来说,因为题中保证了每个星球的hi大于等于度数。 也就是说,从一个点出发,保证可以遍历每一条边。 于是贪心地将能遍历到的边都遍历了,回溯的时候,将两个端点的h取min,累入答案里(在这两个点中重复走min次,贡献是min*2) 但题中要 阅读全文
posted @ 2019-11-06 20:58 rua-rua-rua 阅读(146) 评论(0) 推荐(0) 编辑
摘要: P1600 天天爱跑步 分析: 首先若想对于每一个人统计他的路线对观察点的贡献,显然是很难优化到log的。 考虑对每一个观察点统计答案。 一个观察点会被这样两种路径经过: 1.起点在其下方,从起点向上走经过它。 2.终点在其下方,从某一处的起点向下走经过它。 对于第一种情况,我们要满足:dep[ s 阅读全文
posted @ 2019-11-06 20:46 rua-rua-rua 阅读(164) 评论(0) 推荐(0) 编辑
摘要: T1: 分析: 如果x小的话,就直接背包。这道题中n很小,60%可以直接3^10暴搜,25的呢?明显是折半嘛。 先搜前一半的物品,用map记录能拼凑出的种类数,再搜后一半物品,直接查询统计答案即可。 #include<bits/stdc++.h> using namespace std; #defi 阅读全文
posted @ 2019-11-06 20:26 rua-rua-rua 阅读(151) 评论(0) 推荐(0) 编辑
摘要: T1: 分析: 写出s变换的式子:(((s+a)*b+a)*b)…… 将式子化简: 又可以把m写成: 也就是将m拆成一个b进制数,每次贪心地使 i 大的时候xi尽量大,那么就可以花费最小次数凑出m。 #include<bits/stdc++.h> using namespace std; #defi 阅读全文
posted @ 2019-11-05 19:01 rua-rua-rua 阅读(217) 评论(0) 推荐(0) 编辑
摘要: P4055 [JSOI2009]游戏 分析: 每一次的移动可以看做两点之间连边,且不能重复经过一个点,如果走到一个点没有可以走的边了,则说明输了。 将棋盘黑白染色后连边即可得到一张二分图。 考虑先手应该放在哪个点会使得他自己赢。 先手放在非匹配点一定会赢。 因为对手只能走非匹配边,而先手在对手走了非 阅读全文
posted @ 2019-11-04 19:27 rua-rua-rua 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 题目: 分析: 这道题的难点在于: 每一次转移的时候,要记录很多被翻转的点,还要确定他们下一次的fa是谁。 所以转换一下思路:从终止状态转移到0状态(初始状态),倒着来。 假设现在到了倒数第 i 秒,那么从第i~ans的时间内翻转了一个灯他是一直要向上跳并影响其他灯的,跳的时间为i,所以可以预处理一 阅读全文
posted @ 2019-11-04 19:06 rua-rua-rua 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题目: 分析: 由数据3得:既然所有人都要学会,肯定是越早学越优。(贪心重要思路) 所以转移就是:dis[v]=max( dis[u] ,L ),u学会之后传授给v的条件是:u先学会,传授的时间在吃饭的时间内 在最短路上转移即可 再考虑有人必须学不会的限制。 如果有一个人u没有学会,就会给他周围的人 阅读全文
posted @ 2019-11-04 18:56 rua-rua-rua 阅读(135) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 14 下一页