摘要:
POJ 3686 费用流或KM。一个工厂接到了N张订单。他们有M个车间,如果第i张单在第j个车间加工需要花费Zij的时间。现在给出这个Z的矩阵,问做完这N张单需要时间的平均值(总时间/N)包括等待时间。(比如说我在一个车间连续以1个时间单位接了3张单,那么总时间为1+2+3=6,平均值为6/3=2)(N,MT不连通,则称这个点key vertex。问这张图中有多少个点是key vertex。代码:http://122.207.68.93:9090/csuacmtrain/problem/viewSource.action?id=12799HDU 3491 最小割:给出一张无向图,每个点上都有一 阅读全文
摘要:
这里简单的实现了一下soda14-Flow-Based Algorithms for Local Graph Clustering上说到的LocalImprove算法。 距离的论文链接在这里:http://arxiv.org/pdf/1307.2855.pdf 算法的伪代码如下: 具体看一个简单的例 阅读全文
摘要:
1 #include <bits/stdc++.h> 2 #define maxn 100000 3 #define maxm 2000000 4 #define eps 1e-7 5 #define INF 1<<30 6 using namespace std; 7 8 struct Edge{ 阅读全文
摘要:
•Problem A CSU 1065 贪心 1 #include 2 #include 3 #include 4 using namespace std; 5 const int maxn = 1000010; 6 struct Node{ 7 int a,b; 8 bool... 阅读全文
摘要:
•Problem A SPOJ SUB_PROB AC自动机•题意: 给定一个长为M(M≤100000 )的文本串,和N(N≤1000)个长度不超过2000的模式串,问每个模式串是否在文本串中出现过?•几乎和周一课件上的第一个例题一模一样。。•把文本串丢到AC自动机里面去跑。•注意:•1.可能有两个... 阅读全文
摘要:
•Problem A Codeforces 20C 最短路(dij,spfa)•题意:给出一张n个点m条边的无向图(2 ≤ n ≤ 105, 0 ≤ m ≤ 105),输出从1到n的任意一条最短路径。•解法:dijkstra或者spfa,用pre数组记录到达每个点最短距离的前驱结点。•注意:路径的长... 阅读全文
摘要:
Problem A Codeforces 451A•题意:给你n+m根筷子,将他们分别水平、垂直放置,形成n*m个节点。两个人轮流选择一个点,将穿过这个点的两根筷子拿走,谁可以逼迫对方率先无法继续操作,谁就获胜,问获胜的是先手还是后手。•找规律即可。n,m中较小的那个数是奇数,先手胜,否则后手胜。1... 阅读全文
摘要:
•Problem A HDU 4450 水题,签到题水题。。没啥好说的。给大家签到用的。 1 #include 2 int main(){ 3 int n,a,ans; 4 while(scanf("%d",&n),n){ 5 ans = 0; 6 ... 阅读全文
摘要:
dp套一个burnside的壳子核心还是dpdp[i]表示有i个循环节时的染色方案数注意在dp的时候,不需要考虑重构的问题因为burnside会解决重构的问题dpA[i][j]表示以A开头,长度为i,结尾为j个A的合法方案数dpB[i][j]表示以B开头,长度为i,结尾为j个A的合法方案数接下来我们... 阅读全文
摘要:
首先是CDQ《基于连通性状态压缩的动态规划问题》论文上的题目:URAL 1519 Formula 1 #include 2 #include 3 #include 4 using namespace std; 5 const int maxn = 15; 6 const int H... 阅读全文
摘要:
题意:给定一个n*m的有格子的矩形,现在又两个人在矩形内轮流画矩形,每次都必须沿着格子的轮廓来画,新画的矩形必须嵌套在上一个矩形里面,并且不能和上一个矩形有任何的重复的点。现在这两个人一共会画k次,问一共有多少种不同的画法。这是一个相当好的排列组合题。当然也可以用DP来解。解决本题最最最关键的是要认识到,n和m两个维度是相互独立的,它们互不干扰。这样,可以先来解决线段嵌套的问题,假设我们现在又一根长为M的线段,每1米有一个标记点,现在给你K次机会,不断的从当前的线段的中部去截取一部分,每次截取的时候必须以标记点为端点,问你一共有多少种方法。这显然是C(M-1,2*K)种。为什么呢?因为这相当于 阅读全文