摘要: 题意还算简洁明了,加上有道翻译凑过着读完了题。题意大体上是 给你n个多米诺骨牌, 给出每个骨牌两端的数字, 只有数字相同才可以推到, 比如 2-3和3-2。你可以旋转这些多米诺骨牌, 输出一个可以全部推到的方案, 如果没有 ,输出 No solution。 第一眼看上去像爆搜, 但是 n 最大... 阅读全文
posted @ 2014-05-15 14:11 handsomeJian 阅读(636) 评论(0) 推荐(0) 编辑
摘要: dp是很好想的了,关键是数据太大,普通dp肯定超时,所以一定有用某种优化,dp优化也就那么几种,这道题用的是斜率优化,先写出普通的状态转移方程: dp[i] = min{ dp[j] + Σ ( p[k] * (x[i] - x[k] ) ), j+1 #include #include #inc... 阅读全文
posted @ 2014-05-09 09:03 handsomeJian 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 这道题还是挺好想的,但我一开始还是想错了…… 把每个石柱拆成两个点,一个入度,一个出度,两个点连一条容量为高度的边,这样就可以限制从此石柱上经过的蜥蜴的数量。关于蜥蜴是否单独成点,我是单独当成了一个点,貌似做麻烦了,可以直接源点连石柱,但那样我想会不会造成一些问题,貌似也没有。 虽然很水,但... 阅读全文
posted @ 2014-05-06 19:12 handsomeJian 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 这道题很神啊……神爆了……思路大家应该看别的博客已经知道了,但大部分用的插头DP。我加了预处理,没用插头DP,一行一行来,速度还挺快。#include #include #include #include #include #include #define N 100100#define M 50#... 阅读全文
posted @ 2014-04-10 07:14 handsomeJian 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 由于涉及到实数,一定,一定不能直接等于,一定,一定加一个误差#include #include #include #define N 110struct sss{ int x,y;}white[N],black[N];int n,vx[N],vy[N],fa[N];double w[N][N... 阅读全文
posted @ 2014-03-01 20:08 handsomeJian 阅读(500) 评论(0) 推荐(0) 编辑
摘要: 看到这么奇葩的题目名我笑了,后来这么一个裸的KM调了2小时我哭了…… 这是个裸的KM算法,也没什么多说的,主要是注意多组数据时,每次都要把各种数组清空啊,赋值啊什么的,反正比较麻烦。至于为什么调了2小时,在修改标号的时候我修改的是vx和vy…… 1 #include 2 #include ... 阅读全文
posted @ 2014-03-01 17:12 handsomeJian 阅读(289) 评论(0) 推荐(0) 编辑