11 2014 档案
POJ 3101 大数+gcd
摘要:题目大意:星星作圆周运动的周期给出,若已连成一条线,下一次所有星星在同一条线上的时间用分数形式输出这里我们可以利用追及问题来计算出两个星星之间连成一条直线的时间,也即速度快的星星追上速度慢的星星弧度PIt = PI /abs (2PI / t1 - 2PI / t2) = t1 * t2 / (2 ... 阅读全文
posted @ 2014-11-24 18:03 Love风吟 阅读(220) 评论(0) 推荐(0)
POJ 1273
摘要:一道裸的网络流求最大流问题 1 //一般增广路,每次不断在生于网络找层次网络,直到找不到说明已找到最大流量 2 #include 3 #include 4 #include 5 #include 6 const int N = 210; 7 using namespace std; 8 9... 阅读全文
posted @ 2014-11-23 23:52 Love风吟 阅读(143) 评论(0) 推荐(0)
POJ 1149
摘要:题目大意:提前知道客户一个个前来的顺序以及手上的钥匙和对应的猪圈的猪的数量,合理安排猪圈放置猪的情况,达到最大售猪量关键在于如何构造一个容量网络:1.将顾客看做除源点和汇点以外的结点,并且另设两个结点;源点和终点2.源点和每个猪圈的第一个顾客连边,边的权是开始时猪圈中猪的数量3.若源点和某个结点之间... 阅读全文
posted @ 2014-11-23 23:11 Love风吟 阅读(164) 评论(0) 推荐(0)
HDU1811 并查集+拓扑排序
摘要:题目大意:判断是否能根据给定的规则将这一串数字准确排序出来我们用小的数指向大的数对于相等的情况下,将二者合并到同一个并查集中,最后抽象出来的图上面的每一个点都应该代表并查集的标号 1 #include 2 #include 3 #include 4 #include 5 using... 阅读全文
posted @ 2014-11-16 20:55 Love风吟 阅读(123) 评论(0) 推荐(0)
HDU 2647 逆向拓扑排序
摘要:令每一个员工都有一个自己的等级level[i] , 员工等级越高,那么工资越高,为了使发的钱尽可能少,所以每一级只增加一单位的钱输入a b表示a等级高于b,那么我们反向添加边,令b—>a那么in[a]++,再进行拓扑排序,每次都让边的终点的level值大于起始点,那么要用max取较大值 1 #inc... 阅读全文
posted @ 2014-11-16 13:28 Love风吟 阅读(709) 评论(0) 推荐(0)
ZOJ2193 AOV建模
摘要:每个窗口有四个小区域组成,那么不断往前递推,到达打开当前窗口时必然是那些在上面出现的窗口都已经被打开过了,那么我们可以认为是在第i个窗口的位置上出现了j , 那么in[i]++ , 只有 i 入度为0时,才说明第i 个窗口上的所有数字对应的窗口已经出现了不用再考虑了,然后建好了AOV网络模型,我们直... 阅读全文
posted @ 2014-11-16 00:38 Love风吟 阅读(349) 评论(0) 推荐(0)
POJ1094 / ZOJ1060
摘要:#include #include #include #include using namespace std;#define N 1005int first[N] , in[N] , rec[N] , vis[N] , k;char str[N][5];struct Node{ int y ... 阅读全文
posted @ 2014-11-15 23:59 Love风吟 阅读(137) 评论(0) 推荐(0)
HDU 2442
摘要:状态压缩DP , 和HDU2280极其相似 1 #include 2 #include 3 #include 4 5 using namespace std; 6 const int N = 105; 7 int dp[N][1= m){13 dp[i][u][s] = ma... 阅读全文
posted @ 2014-11-06 01:10 Love风吟 阅读(218) 评论(0) 推荐(0)
HDU 2280 状压DP
摘要:用dfs找到状态的最优解且那个正方形块可以由两个水平块组成,所以无需考虑 1 #include 2 #include 3 #include 4 5 using namespace std; 6 #define N 1005 7 int state[N] , n , m , dp[N][1 5... 阅读全文
posted @ 2014-11-02 12:24 Love风吟 阅读(206) 评论(0) 推荐(0)