思路独特
blzorro
这个作者很懒,什么都没留下…
展开
-
UVA 10859 Placing Lampposts (动态规划)
题意:一个n个点m条边的无向无环图,在尽量少的节点上放灯,使得所有边都被照亮,每盏灯将照亮以它为一个端点的所有边,在总灯数最小的前提下,被两盏灯同时照亮的边数应尽量大。思路:无向无环图就是“森林”,常用树形dp,本题要优化的目标有两个,放置的灯数a应尽量少,被两盏灯同时照亮的边数b应尽量大,为了统一,我们把b替换成”恰好被一盏灯照亮的边数c尽量小“。然后设x=Ma+c为最终的优化目标,M是一个原创 2013-08-21 15:34:34 · 846 阅读 · 0 评论 -
HDU 4662 MU Puzzle (水题)
题意:给定字符串,下面定义几个操作:1)将Mx变成Mxx,例如MII可以变为MIIII2)将III替换成U3)去掉连续两个U,例如MIUU可以变成MI现在问你能不能将MI转换成给定字符串。思路:注意到以下几个性质。第一,MI怎么变换M永远只能在第一位。第二,因为变换时只能在I和U之间变换,因此,除了第一个是M以外,后面如果有字符串不是U、I以内的话永远不可能变换得到。第三,原创 2013-08-09 12:57:59 · 1102 阅读 · 0 评论 -
UVALive 3635 Pie (二分答案)
题意:有F+1个人来分N个圆形派,要求每个人得到的派必须是一整块的,不能是几块拼在一起的,而且每个人得到的派的大小一样,问每个人最多能得到的派的面积。思路:一开始拿到题目,我尝试推公式,后来觉得实在找不到规律,看了书,发现是二分答案,把问题转化为“是否可以让每个人的到面积为x的派”。因为派是不可以拼起来的,所以每个派可以分到[PI*r^2 / x]个派,把每个派可以分出的块加起来看是否>=F+原创 2013-08-09 15:00:45 · 1141 阅读 · 0 评论 -
UVA 11384 Help is needed for Dexter (找规律)
题意:给一个正整数序列1,2,3....,n。每次操作可以从序列中选取任意多个数字同时减去一个相同的正整数,问至少多少次操作可以把所有数字变成0.思路:首先,例如,1,2,3,0,1,2我们可以等价成1,2,3,。经过自己操作可以发现,第一次时把[n/2+1n,]减去n/2+1最好,这时会得到序列1,2,3.....n/2,0,1,2,...(n-1)/2.,它等价于1,2,3...n/2.原创 2013-08-09 13:38:56 · 614 阅读 · 0 评论 -
UVA 11464 Even Parity (独特思路)
题意:有一个n*n的01矩阵,任务是把尽可能少的0变成1,使得每个元素的上、下、左、右元素之和为偶数。思路:很容易想到的思路是枚举每个点是0还是1,因为n#include#include#define INF 0x3f3f3f3f#define MAXN 20using namespace std;int n,ori[MAXN][MAXN],t[MAXN][MAXN],原创 2013-08-12 14:06:54 · 731 阅读 · 0 评论 -
UVA 11549 Calculator Conundrum (Floyd判圈算法)
题意:有个老式计算器,每次只能记住一个数字的前n位。现在输入一个整数k,然后反复平方,一直做下去,能得到的最大数是多少。例如,n=1,k=6,那么一次显示:6,3,9,1...思路:这个题一定会出现循环,所以一个个模拟,遇到相同的就再之前所有数中找最大的输出即可。怎么判断遇到相同的呢?如果装在数组里一一比较显然很慢,如果用v[k]判断k是否出现过,k范围太大空间不够用。第一种方法是使用原创 2013-08-12 16:23:16 · 948 阅读 · 0 评论 -
HDU 2333 & POJ 3497 & UVA 12124 Assemble (二分答案)
题意:有b块钱,要装一台电脑,给出n个配件各自的种类、品质因子和贾哥,要求每种类型的配件各买一个,总价不超过b,且“品质最差配件”的品质因子应尽量大,输出最小品质因子的最大值。思路:解决“最小值最大”的常用方法就是二分答案。假设答案为x,那么删除品质小于x的所有配件,如果能组装出一台电脑,那么正确答案ans>=x,否则ans如何判定能组装出一台电脑呢?只要在删除品质小于x的所有配件后,取每原创 2013-08-14 11:02:36 · 1798 阅读 · 0 评论 -
HDU 1505 & POJ 1964 City Game (递推+扫描法)
题意:一个矩阵,有些格子是F,有些是T,要你找到最大的子矩阵使得矩阵内全是F思路:直接枚举每个子矩阵,显然复杂度是O(m^3 n^3),显然TLE。 我们可以使用扫描法:用up(i,j),left(i,j),right(i,j),分别表示格子(i,j)悬垂线(悬垂线就是指这个格子往上走遇到第一个不是F的格子之前的线段)的长度,原创 2013-08-15 03:48:20 · 1693 阅读 · 0 评论 -
POJ 1903 & ZOJ 2469 & UVA 1326 Jurassic Remains (部分枚举)
题意:给定n个只有大写字母组成的字符串,选取尽可能多的字符串,使得这些字符串中每个字母的个数都是偶数。n思路:直接枚举每个字符串的选或不选,复杂度是O(2^n)。其实还有更简便的方法。对于每个字母,其实具体出现了多少次并不重要,重要的是奇数次还是偶数次,我们用0对应奇数次,1对应偶数次。对于每个字符串,我们就可以计算出对应的二进制数,方法如下。如果A出现奇数次,那么二进制数第一个位置为1,原创 2013-08-16 15:18:32 · 1583 阅读 · 0 评论