自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 收藏
  • 关注

原创 HDU 4111 Alice and Bob

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=4111题意:有n堆石子,每堆有ai个,现在可以选择一堆拿走一个,或者合并两堆。问谁能赢。思路:如果全部的堆数都大于1,那么一定是把石子全部合并后一个个取走,因为输的人没法一次取走一堆,而赢的人每次把最少的合并起来。dp[i][j]表示有i堆为1的石子,j是

2016-08-30 17:22:20 375

原创 UVA 11404 Palindromic Subsequence

题目链接:http://acm.hust.edu.cn/vjudge/problem/28753题意:给一个字符串,删除其中0个或多个字符,使得剩下的字母形成一个最长的回文串,输出字典序最小的。思路:把字符串和它反向的字符串一起做一遍LCS。dp[i][j]表示从左边取i个字符,右边取j个字符的LCS。回文串有两种:奇数长度和偶数长度的,我们分别枚举这两种情况更新答案。

2016-08-29 23:42:13 384

原创 UVA 11552 Fewest Flops

题目链接:http://acm.hust.edu.cn/vjudge/problem/28550题意:将字符串每k个字符分为一组(长度为k的倍数),每组内字符可以任意重排,使得重排之后的字符串包含尽量少的块,每个块为连续的相同字母。思路:dp[i][j]表示前i个块,且第i个块以j字符结束时的最小块数。#include #include #include

2016-08-29 23:36:02 313

原创 UVALive 4794 Sharing Chocolate

题目链接:http://acm.hust.edu.cn/vjudge/problem/12055题意:一块长x宽y的巧克力,每次只能横向或者竖向沿直线切割,问能否将一块巧克力切割成给定的n个面积。思路:dp[x][s]表示还没有切出来的面积状态为s,剩余矩形的最短边为x时是否可行。保证一开始就满足s的面积和等于初始矩形,所以切的过程中也是相等的,只需要记录一个边即可。

2016-08-29 23:24:44 310

原创 UVALive 3983 Robotruck

题目链接:http://acm.hust.edu.cn/vjudge/problem/13674题意:有n个垃圾,给出每个的坐标和重量(xi,yi,wi),一个机器人的最大载重为C,求把所有垃圾按照顺序放进垃圾桶(0,0)走的最短距离。两点的距离为坐标差的绝对值之和。思路:dp[i]表示把前i个垃圾扔进垃圾桶走过的最短距离。枚举上一次扔进垃圾桶的垃圾j,那么[j+1,i]就

2016-08-29 23:05:45 349

原创 UVA 11825 Hackers' Crackdown

题目链接:http://acm.hust.edu.cn/vjudge/problem/18913题意:假设你是一个黑客,侵入了n台计算机,一共有n种服务,每台计算机都运行着所有的服务。对于每台计算机,你可以选择一项服务,终止这台计算机和它相邻计算机的该服务。求最多可以使得多少服务全部停止。思路:如果停止掉一个服务,也就是选择一个计算机集合,使得每台和它相邻的计算机能够构成全

2016-08-29 22:17:30 332

原创 UVA 10891 Game of Sum

题目链接:http://acm.hust.edu.cn/vjudge/problem/19461题意:一个长度为n的序列,两个人轮流取数。每次玩家可以从左端或者右端取任意数量个数,但不能两端都取。两人都希望自己的得分尽量大。当所有数都取完后,求先手取数之和减去后手取数之和。思路:dp[l][r]表示取区间[l,r]内的数时,先手之和减去后手之和的最大值。dp[l][r] =

2016-08-29 21:57:46 345

原创 UVA 10635 Prince and Princess

题目链接:http://acm.hust.edu.cn/vjudge/problem/19051题意:两个序列长度为p+1和q+1,且第一个数都为1,每个序列中的数各不相同,范围都在1~n^2内。求A和B的LCS。思路:由于序列中的数都是唯一的,所以把第一个序列按照1~p+1编号,然后把B序列对于编号后直接求LIS即可。#include #include #

2016-08-29 15:42:35 323

原创 UVALive 3882 And Then There Was One

题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1883题意:n个数排成一个圈,第一次删除m,以后每k个数删除一次,求最后一个被删除的数。思路:首先处理n-1个人每k次删除一次的情况,倒退得到第二轮最后一个被

2016-08-29 15:36:20 504

原创 UVA 1371 Period

题目链接:http://acm.hust.edu.cn/vjudge/problem/41549题意:给两个串A,B。现在把B串分为若干个部分,对每一个部分进行操作将其变为一个A串,使得每部分操作次数的最大值最小。思路:二分答案最大值x,然后用x去dp检测是否可行。dp[i][j]为B的前i个字符,且B的第i个字符已经匹配到A串的第j个字符时的最小修改次数。若dp[

2016-08-29 15:31:44 468

原创 UVA 12222 Mountain Road

题目链接:http://acm.hust.edu.cn/vjudge/problem/42128题意:一条路两边都会有车来,但是一次只能走一个方向的,而且同向的车一起行驶的时候,路上的每个点经过车的时间至少相隔10s。给出车辆的信息,起始位置,最快经过道路时间和到达山路的时间,求出最后一辆车离开山路的最早时刻。某个车可以受前面的车影响而导致减速。思路:dp[A][B][k]

2016-08-29 14:41:03 548

原创 UVA 1379 Pitcher Rotation

题目链接:http://acm.hust.edu.cn/vjudge/problem/41556题意:有g+10场比赛,每天一场,每场都会对应一个对手。你有n个投手,每人一场比赛结束后都要休息四天,给出n个人对应m个对手的n*m胜率矩阵。求胜率的最大期望。思路:每个人5天可以一轮换,所以说对于某个对手来讲,就派胜率前五的投手去对战即可。dp[i][a][b][c][d]表示

2016-08-29 14:23:03 570

原创 UVA 10271 Chopsticks

题目链接:http://acm.hust.edu.cn/vjudge/problem/19452题意:将n只筷子分成k份,每份中除去最长的,剩下两个长度相减的平方作为一份的值,求k份筷子的值之和最小。思路:dp[i][j]表示前i只筷子分为j份和的最小值。我们将筷子从大到小排序。dp[i][j] = min( dp[i-2][j-1] + (a[i-1] - a[i])^2

2016-08-29 14:04:47 368

原创 UVA 12589 Learning Vector

题目链接:http://acm.hust.edu.cn/vjudge/problem/35247题意:有n个向量里面选k个,从(0,0)开始画,求与x轴围成的最大面积,输出面积的二倍。思路:优先画斜率大的,这样高度会尽量高,每当x增加的时候,面积也会增加的多一些。计算的时候直接算面积的二倍,一定是整数。dp[i][h]表示已经选了i个且当前高度为h时的最大面积。dp[i

2016-08-29 12:39:16 438

原创 UVA 1543 Telescope

题目链接:http://acm.hust.edu.cn/vjudge/problem/41494题意:一个圆上有n个点,选择其中的m个点按照顺序连成m边形,求最大的面积。思路:dp[i][j][k],表示从i号点开始作为起点的j个点中选择k个点连成图形的最大面积,且区间内的左右边界点必须选择。dp[i][j][k] = max( dp[i][l][k-1] + area

2016-08-29 12:27:35 402

原创 UVA 10163 Storage Keepers

题目链接:http://acm.hust.edu.cn/vjudge/problem/19445题意:有m个人可以雇佣看守n个仓库,每个仓库只能由一个人看守,但是一个人可以看守多个仓库,若一个人看守k和仓库,每个仓库的安全系数为ai/k。求招聘一些守卫,使得所有仓库的最小安全系数最大,然后其次守卫的能力总和最小。思路:背包两次,第一次先求前n个仓库的最小安全系数最大值。第二

2016-08-29 12:06:03 317

原创 UVA 12105 Bigger is Better

题目链接:http://acm.hust.edu.cn/vjudge/problem/42073题意:每个数字可以由若干个火柴摆成,现在用不超过n根火柴,求摆出来的能整除m的最大数。思路:dp[i][j]表示用不超过i根火柴摆出来的除m余j的最大数。对于一个已经求出来的dp[i][j],我们可以借助它来更新,枚举最后一位放的数字k,更新dp[i+num(k)][(j*10+

2016-08-29 11:48:39 339

原创 UVA 1336 Fixing the Great Wall

题目链接:http://acm.hust.edu.cn/vjudge/problem/36139题意:一条直线上有n个点需要修理,每个点有一个修理费用ci和单位时间增加的费用di,如果在时刻t去修理,那么此点的费用为t*di+ci。给出起始坐标,求修复完全部点的最小话费。思路:设f[i][j][k]为修复完区间[i,j]内的点且在当前区间的左端点(k=0)/右端点(k=1)

2016-08-29 11:39:06 550

原创 HDU 4352 XHXJ's LIS

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=4352题意:求[L,R]范围内有多少数满足数位中最长上升子序列长度为m。思路:dp[i][j][k]表示还有i位没确定,前面的子序列状态为j时,要求的最长上升子序列长度为k时的个数。用一个10位的二进制参考nlogn求最长上升子序列的思想更新状态。如果出现数x,如

2016-08-22 10:44:02 270

原创 UVA 10934 Dropping water balloons

题目链接:http://acm.hust.edu.cn/vjudge/problem/27377题意:你现在有k个气球,你可以借助n层楼去测试气球的硬度,如果你从x层扔下气球,气球炸了,你会少一个气球,并且知道气球的硬度小于x;没炸的话你会知道气球的硬度至少为x。给出k和n,问至少测试几次才可以得到气球的硬度。思路:这题书上给了一个很好的思路,dp[i][j]表示测试j次,

2016-08-22 10:17:32 257

原创 HDU 5860 cjj's string game

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5863题意:用k个不同的字符,形成两个长度为n的字符串中,可以有多少种构建两个字符串的方法,使得所有的连续子串中,对应的两串相同的最大子串长度为过m。思路:建立转移矩阵,对于两串前i个字符,有两种情况:一种是前面连续相同最大子串长度没有达到过m,可以0~m-1任意一种

2016-08-22 10:04:01 352

原创 UVALive 7340 Sum of MSLCM

题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5362题意:求2~n每个数的因子和的和。思路:我们可以发现i加了n/i次。而且次数的个数很少,比如加1次的就有(n+1)/2个。所以我们就枚举次数,二分上下界

2016-08-21 20:00:15 461

原创 UVA 1630 Folding

题目链接:http://acm.hust.edu.cn/vjudge/problem/51191题意:给一个字符串,相同部分可以折叠,折叠可以嵌套。求最短长度的一种折叠方法。括号和数字的长度也要考虑进去。思路:对于一个字符串,有三种策略:1、不折叠。2、本身可以折叠。3、分为两个区间子问题。#include #include #include #inclu

2016-08-21 19:44:45 606

原创 UVA 1632 Alibaba

题目链接:http://acm.hust.edu.cn/vjudge/problem/51193题意:直线上有n个点,每个点有一个坐标xi和时间di,此点会在di时间时消失。现在可以从任意点出发,问在点消失前访问所有的点的最短时间。思路:dp[i][j][k]表示已经访问完区间[i,j]内的点,而且此时在区间左端点/右端点的最短时间。那么[i][j][0]由[i+1][j]

2016-08-21 11:36:51 326

原创 UVA 1631 Locker

题目链接:http://acm.hust.edu.cn/vjudge/problem/51192 题意:有一个n位的密码锁,每一位都是0~9,而且可以循环转。每次可以转动连续的1~3位,问把状态A转到状态B至少需要转几次。思路:dp[i][a][b]表示已经转好了前i位,并且i+1位和i+2位分别为a和b时的最小操作次数。每次我们枚举第i-1位的状态dp[i-1][a][b],

2016-08-21 11:30:41 497

原创 UVA 1633 Dyslexic Gollum

题目链接:http://acm.hust.edu.cn/vjudge/problem/51194题意:求长度为n的01串有多少个不含长度至少为k的回文连续子串。思路:状态压缩dp,dp[i][s]表示前i位,且包括第i位在内的最后k位状态未s时的合法字符串数量。长的回文串是由短的回文串构成的,所以当我们只要在长度为k的时候把这个回文串给结束掉就可以了,但是回文串有奇偶长度,

2016-08-21 11:18:06 989 1

原创 Codeforces Round #368 C Pythagorean Triples

题目链接:http://codeforces.com/problemset/problem/707/C题意:给一个三角形的边长,问能够再找两条边,构成一个直角三角形。思路:斜边为C,B^2 = C^2 - A^2 = ( C + A ) * ( C - A )。①C - A = 1B^2 = C + A = 2*A + 1  (B^2为奇数)②C - A = 2

2016-08-21 01:01:07 332 2

原创 UVALive 7226 Coin Swap

题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5238题意:有n个点,m条双向带权边,每个点都有一个颜色黑/白,此时每个点上也有一枚硬币黑/白。现在可以通过交换直接相邻两个点的硬币(花费为边的权值)使得每个点上的硬币和

2016-08-21 00:38:11 331

原创 UVA 1627 Team them up!

题目链接:http://acm.hust.edu.cn/vjudge/problem/51188题意:n个人要分为两组,每个组都不可以为空,给出这n个人的关系(单向的),要求分完组之后,每个组内的人必须两两都互相认识。问怎么分可以使得两组人数差最小。思路:参考书上的思路,将非互相认识的人之间建一条无向边,这样n个点可能会分为若干个联通子图,对于一个联通的子图进行黑白染色,所

2016-08-19 00:33:18 528

原创 UVA 1252 Twenty Questions

题目链接:http://acm.hust.edu.cn/vjudge/problem/36067题意:有n个物体,每个物体都有m个特征,用m位的01串表示,意为此物品是否含有该特征。现在每次可以询问一个特征,并且得到答案(是否含有该特征)。最坏的情况至少需要几次询问才可以查询到物品。思路:dp[s1][s2]表示当前查询状态为s1时,得到的答案状态为s2时还需要查询的最少次

2016-08-19 00:32:55 247

原创 UVA 10723 Cyborg Genes

题目链接:http://acm.hust.edu.cn/vjudge/problem/19469题意:两个字符串A,B,构建一个最短的字符串,使得A,B都为这个字符串的子序列。并求出有多少种最短的字符串。思路:dp[i][j]表示A取了i个字符,B取了j个字符构成的最短字符串的长度,g[i][j]表示方案数。如果A[i] == B[j] 那么我们可以只用一次字符来同时满

2016-08-18 23:35:44 215

原创 UVA 242 Stamps and Envelope Size

题目链接:http://acm.hust.edu.cn/vjudge/problem/26127题意:一张信封上最多贴S个邮票,每次给出n个集合,每个集合中是邮票的面值,找出这n个集合中,能构成连续的面值最大的集合,如果有多个,选择数量较少的集合,若还有多个,选择最大面值较小的集合,再者,选择次大值较小的,以此类推。思路:在固定S的情况下,分别拿每个集合做一遍背包,依次比较

2016-08-18 23:35:14 234

原创 UVA 1629 Cake slicing

题目链接:http://acm.hust.edu.cn/vjudge/problem/51190题意:有n*m规模的蛋糕,有一些格子上有樱桃,现在对于一个矩形的蛋糕,我们只能选择一个位置横着切到底,或竖着切到底。问怎样切使得每一块蛋糕上有一颗樱桃,而且切割总长度最小。思路:记忆化搜索,dp[x][y][Lx][Ly]表示切割左上角为(x,y)且x方向长度为Lx,y方向长度为

2016-08-18 23:35:07 203

原创 UVA 10118 Free Candies

题目链接:http://acm.hust.edu.cn/vjudge/problem/19440题意:一个人取四堆都为n的糖果,糖果的种类为1~20,他有一个可以最多装五颗糖的小篮子,如果篮子里有两颗一样的糖果,那么就可以把这一对糖果拿走。问最多可以得到多少对糖果。思路:记忆化搜索dp[a][b][c][d]表示这四堆糖果分别取走了a,b,c,d个时得到的最大对数。对于dp

2016-08-18 23:01:41 214

原创 UVA 10285 Longest Run on a Snowboard

题目链接:http://acm.hust.edu.cn/vjudge/problem/19213题意:在n*n的格子里,每个格子有一个数,起点任意,每次只能移动到比当前格子数小的格子,问最长路径。思路:f[i][j]表示从(i,j)为起点的最长路,采用记忆化搜索向四个方向搜索并取最大值。#include #include #include #include

2016-08-18 22:47:10 165

原创 UVALive 7462 Social Network

题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5484题意:有两张对集合的操作:1、G1 J G2 所有的(i,j)连一条线,i∈G1 , j∈G2,G1和G2合并为一个集合。2、G1 U G2  将G1和G2

2016-08-17 18:59:28 388

原创 UVALive 7457 Discrete Logarithm Problem

题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5479题意:给出a,b,p。求( a ^ x ) % p = b中的x。思路:由于p不超过1W,那么%p后的答案也是小于p的,所以我们乘1W次如果能找到符合条

2016-08-17 18:45:38 1588

原创 UVALive 7456 Least Crucial Node

题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5478题意:有n个点,m条边,给出点S(1~n中的某个点)。除了S点之外的n-1个点中的一个如果失效,那么可能会影响到若干个点和S的连通性。现在要找一个点p,使得p失效后

2016-08-17 18:41:50 300

原创 UVALive 7454 Parentheses

题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5476题意:有一个含'(' 和')'的字符串,每次操作可以将左括号变为右括号或者右括号变为左括号。问至少要变多少次才可以使得序列括号匹配。思路:dp[i][j

2016-08-17 18:36:18 266

原创 UVA 10817 Headmaster's Headache

题目链接:http://acm.hust.edu.cn/vjudge/problem/19472题意:有s个学科,学校里有m个老师,现在可以待聘用的老师有n个。给出每个老师的工资和可以教的学科,而且这m个老师不可以辞退,可以从这n个老师里面聘用任意个。求每门学科都至少有两个老师教的最小费用。思路:用三进制压缩状态,表示每门科有0/1/2个老师教,首先这m个老师必须要的,所以

2016-08-15 23:45:35 226

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除