导航

2016年10月26日

摘要: /* 不要低头,不要放弃,不要气馁,不要慌张 题意: 给两行n个数,要求从第一行选取a个数,第二行选取b个数使得这些数加起来和最大。 限制条件是第一行选取了某个数的条件下,第二行不能选取对应位置的数。 思路: 比赛的时候一直在想如何dp。没有往网络流的方向多想想。赛后看到tag想了想,咦,费用流可做。 所以思路是最小费用最大流,dp如今都不知如何做。 将一个位置拆分成3个点,从超级源点分别到1... 阅读全文

posted @ 2016-10-26 22:07 tun~ 阅读(370) 评论(0) 推荐(0) 编辑

摘要: /* 大连热身E题 不要低头,不要放弃,不要气馁,不要慌张 题意: 在1000×1000的格子内有很多个炮弹中心,半径给定。 为某人能否从西部边界出发,从东部边界走出。 不能输出不能,能的话输出最北边的入口和出口的坐标。 思路: dfs乱搞题。把炮弹辐射范围连在一起的炮弹看作一个整体,记录下它围起来的边界区域。 然后找到最北边的输出。 */ #include using na... 阅读全文

posted @ 2016-10-26 21:58 tun~ 阅读(235) 评论(0) 推荐(0) 编辑

摘要: /* 大连热身D题 题意: 有n个人,m个浴室每个浴室有ai个喷头,每个人等概率得选择一个浴室。 每个浴室的人都在喷头前边排队,而且每个浴室内保证大家都尽可能均匀得在喷头后边排队。 求所有浴室中最长队伍的期望。 思路: 概率dp dp[i][j][k]代表前i个浴室有j个人最长队伍是k的概率。 枚举第i个浴室的人数。然后转移的时候其实是一个二项分布。 */ #include using ... 阅读全文

posted @ 2016-10-26 21:53 tun~ 阅读(262) 评论(0) 推荐(0) 编辑

摘要: /* 大连热身C题 不要低头,不要放弃,不要气馁,不要慌张 题意: 给一个城市路线图,给定起点给定终点。有n个货物从起点运送到终点。城市的边是无向边。 每个货物每天如果通过某条路,那么这天这条路只能运送这一个货物,另外一个方向也不得运送货物。 问最少需要多少天,使得起点的货物全部运送到终点。 思路: 按照天数将城市节点裂点。即第i天的某个节点。 枚举天数,不断重新构建网络,跑最大流。找到最小... 阅读全文

posted @ 2016-10-26 21:44 tun~ 阅读(349) 评论(0) 推荐(0) 编辑

摘要: /* 大连热身B题 不要低头,不要放弃,不要气馁,不要慌张 题意: 坐标平面内给很多个点,放置一个边长为r的与坐标轴平行的正方形,问最多有多少个点在正方形内部。 思路: 按照x先排序,然后确定x在合法范围内后按照y排序,进行扫描线。 */ #include using namespace std; bool vis[1050]; struct st{ void read... 阅读全文

posted @ 2016-10-26 21:37 tun~ 阅读(171) 评论(0) 推荐(0) 编辑

摘要: /* 大连热身A题 不要低头,不要放弃,不要气馁,不要慌张 题意: 给一棵树,每条边上有权值。给一个起点,放置n个机器人,要求使得任意一个节点至少被一个机器人经过。 每个机器人经过某条边时的代价为这条边的权值。反复经过需要反复累积。 问最小的代价是什么。 思路: 1.转化为背包问题。考虑给某个子树i个机器人的最小代价,即有i个机器人跑到某棵子树不回来。其中0个代表给某子树一个机器人,该机器人... 阅读全文

posted @ 2016-10-26 21:31 tun~ 阅读(183) 评论(0) 推荐(0) 编辑