摘要:
http://poj.org/problem?id=2976 题意: 给出ai和bi,ai和bi是一一配对的,现在可以删除k对,使得的值最大。 思路: 分数规划题,可以参考《挑战程序竞赛》第144页。 枚举答案x,然后去判断是否存在$\frac{\sum a[i]}{\sum b[i]}>=x$,现 阅读全文
摘要:
http://www.lydsy.com/JudgeOnline/problem.php?id=1003 题意: 思路: 首先用spfa计算一下任意两天之内的最短路,dis[a][b]表示的就是在第a天~第b天从1到m的最短路。 接下来就是dp了,f[i]表示前i天的最小代价,那么状态转移方程就是: 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=6071 题意: 1、2、3、4四个点依次形成一个环,现在有个人从2结点出发,每次可以往它相邻的两个结点跑,求最后回到2结点并且不少于K的最短距离。 思路: 官方题解: 最后的答案可以表示为:$ans=p*(2w)+ 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=6070 题意: 找出一个区间,使得(区间内不同数的个数/区间长度)的值最小,并输出该值。 思路: 因为是要求$\frac{f(x)}{g(x)}$的最值,所以这是分数规划的题目,对于分数规划,是要用二分查找的方式去 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=6069 题意: 思路: 根据唯一分解定理,$n={a_{1}}^{p1}*{a2_{}}^{p2}...*{a_{m}}^{pm}$,那么n的因子数就是 n的k次方也是一样的,也就是p前面乘个k就可以了。 先打个1 阅读全文
摘要:
http://poj.org/problem?id=1681 题意:有一块只有黄白颜色的n*n的板子,每次刷一块格子时,上下左右都会改变颜色,求最少刷几次可以使得全部变成黄色。 思路: 这道题目也就是要处理自由变元,如果自由变元为0,那么刷法是唯一的,如果有多个自由变元,那么可以有多种刷法,需要枚举 阅读全文
摘要:
http://poj.org/problem?id=1222 题意:现在有5*6的开关,1表示亮,0表示灭,按下一个开关后,它上下左右的灯泡会改变亮灭状态,要怎么按使得灯泡全部处于灭状态,输出方案,1表示按,0表示不按。 思路:每个开关最多只按一次,因为按了2次之后,就会抵消了。 可以从结果出发,也 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=6058 题意:找出所有区间第K大的值之和。 思路: 又有点贡献值的味道,就是考虑当前这个数贡献了几个区间。 然后往左和往右分别找大于当前数的k-1个数,这样就可以确定区间的个数,这要求我们从小到大找 并且找完之后需 阅读全文
摘要:
题意:题意很简单,不多说了。 思路: |f(10) | |a0 a1 a2 ...a8 a9| |f(9)|| f(9) | | 1 0 0 ... 0 0 | |f(8)|| ..... | = | .. ... ... ... | | .. || f(2) | | 0 0 0 ... 0 0| 阅读全文
摘要:
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1456 题意:求最短路并且输出字典序最小的答案。 思路:如果用dijkstra来做的话,会比较麻烦,这里直接用floyd会简单的多,只需要记录好后继路径即可。 阅读全文
摘要:
http://www.lydsy.com/JudgeOnline/problem.php?id=1001 题意: 思路:这道题目是最小割题目,但是吧你直接套用Dinic是会超时的。 这里有种很奇妙的做法啊,具体可以参见论文:《浅析最大最小定理在信息学竞赛中的应用》--周冬 S-T平面图:首先是一平面 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=4714 题意:给出一棵树,删除一条边和添加一条边的代价都是1,现在要把这棵树变成环,求需要花的最小代价。 思路: 其实就是要先把边变成树链,然后再把这些树链连接起来。 假如现在删除了n条边,那么就会形成n+1条树链 阅读全文
摘要:
http://www.lydsy.com/JudgeOnline/problem.php?id=1042 题意: 思路: 如果不考虑硬币个数的话,这就是一道完全背包的题目。 直接求的话行不通,于是这里要用容斥原理来做。 简单来说,ans=一种没超-一种硬币超+两种硬币超-三种硬币超+四种硬币超。 阅读全文
摘要:
https://vjudge.net/problem/UVALive-3268 题意: 有n个人和m个组。一个人可能属于很多组。现在请你从某些组中去掉几个人,使得每个人只属于一个组,并使得人数最多的组中人员数目为最小值。 思路:建立超级源汇点,源点和每个人相连,容量为1,说明每个人最多只能在一个组中 阅读全文
摘要:
http://www.spoj.com/problems/VLATTICE/en/ 题意: 给一个长度为N的正方形,从(0,0,0)能看到多少个点。 思路:这道题其实和能量采集是差不多的,只不过从二维上升到了三维。 分三部分计算: ①坐标值上的点,只有3个。 ②与原点相邻的三个表面上的点,需满足gc 阅读全文
摘要:
http://www.lydsy.com/JudgeOnline/problem.php?id=2005 题意: 思路: 首先要知道一点是,某个坐标(x,y)与(0,0)之间的整数点的个数为gcd(x,y),这样一来每个坐标损失的能量为2*gcd(x,y)-1。 所以在这道题目中要计算的就是 f(d 阅读全文
摘要:
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2314 题意: 给出每条边流量的上下界,问是否存在可行流,如果存在则输出。 思路:先定义D(u)为顶点u发出的所有弧的流量下界与进入顶点u的所有弧的流量下界和之差(out【u】 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1503 题意: 给出两个串,现在要确定一个尽量短的串,使得该串的子串包含了题目所给的两个串。 思路: 这道题目就是要我们求LCS,记录好路径就好。 阅读全文
摘要:
http://poj.org/problem?id=1239 题意:给出一串序列,现在要添加逗号作为分隔符,使得序列是递增序列,然后让最后一个数尽量小,第一个数尽量大。 思路:先从头到尾进行一次dp,d【i】表示分析到第i位时往前的最小长度,这样一来,d【n】就表示最后一位的最小长度。 在满足了最后 阅读全文
摘要:
http://www.spoj.com/problems/PGCD/en/ 题意: 给出a,b区间,求该区间内满足gcd(x,y)=质数的个数。 思路: 设f(n)为 gcd(x,y)=p的个数,那么F(n)为 p | gcd(x,y)的个数,显然可得F(n)=(x/p)*(y/p)。 这道题目因为 阅读全文