摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1263题目大意:对同一地方的同一水果进行归类。解题思路: map真心强大,以前只知道map的一维运用,今天了解了map的二维运用(map映射map)。View Code 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <map> 5 #include <algorithm> 6 using namespace std; 7 8 int mai 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1227题目大意:有n个餐馆和k个仓库,每个餐馆都要有一个仓库负责送货,每个仓库可以送货给多个餐馆,仓库可以放在任意餐馆的位置,问你哪个仓库给那些餐馆送货能使总的送货距离最小。解题思路: dp[i][k]表示前i个餐馆需要k个仓库送货,假设i,j餐馆之间需要设一个仓库,日常联想就可知道设在i,j的"中间"即是最小值了,dp[i][k]可由状态dp[j][k-1]个状态更新而来,dp[j][k-1]表示的是前j个餐馆(j<i)需要k-1个仓库,还要加上第个j+1餐馆--> 阅读全文
摘要:
题目大意: 给你一个九宫格的初始状态(一个空格+数字1~8),让你按规则走变成目标状态(数字按顺序排序+空格在最后),如果有这样的解法输出其中一种少操作步骤解法,否则输出unsolvable。 解题思路:超级经典的题目,解法超级多(据说有八重解法,和乾坤大挪移一样的,越到后面说明你越厉害),本来属于 阅读全文
摘要:
题目链接:http://poj.org/problem?id=2282题目大意:给你两个数a,b,让你计算a到b之间所有的数总共包含多少0~9。解题思路: 蛋疼的人生蛋疼的题。可以分别统计[0,b]中包含多少个0~9,[0,a]中包含多少个0~9,两个求得的结果相减就是答案了。 举例分析: 2... 阅读全文
摘要:
题目链接:http://poj.org/problem?id=2396题目大意:有一个n*m的矩阵,每个位置(i,j)都有一个值,接下来输入n个数,每个数代表矩阵对应行的和,接下来输入m个数,每个数代表对应列的和。接下来有Q个操作,每个操作输入i j c val。(注意i==0||j==0的特判。这里不说明了)1、当c为'>': 表示第i行j列的数值要大于val。(实际下级要设为val+1)2、当c为'<': 表示第i行j列的数值要小于val。(实际上界要设为val-1)3、当c为'=': 表示第i行j列的数值要等于val。让你求是否 阅读全文
摘要:
题目链接:http://poj.org/problem?id=2987题目大意:一个公司有n个员工(里面包括董事长,经理,普通员工等等),现在遇见了金融危机,公司要开始裁员了,每个人对公司的价值不一样(可能为正可能为负),当你裁员一个员工时,这个员工他手下的员工必须一起裁掉,问你如何裁员能使公司得到的利益最大,而这种裁员方法必须得裁掉多少个员工。建图模型:最大权闭合子图指选择u,则u以下关系的都要选,一定要选到底,不能跳过u选它以下的。增设一个超级源点和一个超级汇点,(1->n)的点中,当点权为正时,从源点向该点连一条权值为点权大小的边,当点权为负时,从该点连一条权值大小为它的绝对值的边 阅读全文
摘要:
此类问题可以分为三小类问题: 一、无源汇有上下界最大流 二、有源汇有上下界最大流 三、有源汇有上下界最小流 1、无源汇有上下界最大流 题目链接: sgu194 Reactor Cooling 题目大意:给n个点,及m根pipe,每根pipe用来流躺液体的,单向的,每时每刻每根pipe流进来的物质要等 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4521题目大意:有n个数,求间距大于d的最长递增子序列。解题思路:扎眼一看,不是简单的dp嘛,再眨眼一看,n最大为10^5,蛋碎一地呀。 这题不仅要线段树功底好,还要有比较强的dp思想,从第d+1个位置开始更新,每个节点的sum值保存的是从第1个数到当前数的最长符合要求的子序列,查询的时候只需查询线段树中值在其左边的最大的sum[u](最长符合要求序列)。 1 #include <iostream> 2 #include <cstdio> 3 #include <cst 阅读全文
摘要:
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=11025题目大意:有一个类似于工业加工生产的机器,起点为1终点为n,中间生产环节有货物加工数量限制,输出u v z c, 当c等于1时表示这个加工的环节必须对纽带上的货物全部加工(即上下界都为z),c等于0表示加工没有上界限制,下界为0,求节点1(起点)最少需要投放多少货物才能传送带正常工作。解题思路:经典题目,有上下界的最小流。 1、du[i]表示i节点的入流之和与出流之和的差。 2、增设超级源点st和超级汇点sd,连(st,du[i](为正)),(-du[i] 阅读全文
摘要:
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=20757题目大意:给出一个屋源无汇的网络,每条边都有容量上下界,让你求一个可行方案使得每个节点都流量守恒。解题思路:题目既然无源无汇点,那么所有节点都应该满足”入流=出流“这个流量平衡条件,为了方便解题,我们令每条边的容量下界为0,此刻容量上界变成了up-down(上界减去下届),我们定义一个du[]数组保存每个节点的入流之和与出流之和的差,建一个超级源点和一个超级汇点,当du[i]>0,说明入流大于出流,为了满足流量守恒,连一条st到i容量为du[i]的边 阅读全文