自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 hdu5545The Battle of Guandu

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5545题意:有n个村庄和m个战场,从第i个村庄花费ci能让一个人去曹操的xi战场,一个人去袁绍的yi战场,对于每个战场有一个战略意义wi(0/1/2),为0的话输赢无所谓,为1的话不能输,为2必须赢,求最小花费使得曹操能赢整个大局,无解输出-1。分析:对于每一个wi=2的战场因为贪心的话曹操的人一定

2016-07-30 22:59:02 657

原创 hdu5772String problem

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5772题意:给定一个只包含字符‘0’~‘9’,给定每个种字符的花费计算公式(建题面)和同时选择第i个字符和第j个字符的收益w[i][j]和w[j][i]。求选择若干字符能得到的最大收益。分析:补一波最大权闭合图。我们对所有点对(i,j)的收益向源建容量为收益的边,1~n个位置和0~9字符向汇建花费的

2016-07-30 16:00:39 542

原创 hdu5768Lucky7

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5768题意:求在l~r中有多少个数x满足要求,要求:x%7=0,并且有n个p,a满足x%p=a。分析:容斥+中国剩余定理。注意剩余定理里面可能爆longlong要用快速乘。代码:#include#include#include#include#include#include#in

2016-07-29 21:48:53 530

原创 hdu5769Substring

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5769题意:给定一个字符c和一个字符串s,问s中有多少个不同的子串包含c。分析:比赛的时候对sa有些不熟了,想起看sam的时候记得sam能直接处理出所有不同的子串,然后就直接在卿神的博客上找了个sam的模板直接做了,因为对sam不熟还开小空间wa了一发。赛后补题的时候想起sa也能处理想着回顾一下sa

2016-07-29 20:56:42 675

原创 hdu5773The All-purpose Zero

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5773题意:给一个n个元素的数组,其中0可以变成任意整数,求最长上升子序列。分析:比赛的时候一直想dp状态,却一直都想不到,其实和另外一题挺像的:要求改变最少个数,使得整个数组严格递增。其实就是将自身和序列要求的结合在一起。比如说这一题,0能变成任意整数,那么0肯定是最厉害的,所有0都要在最长上升子

2016-07-29 19:25:51 723

原创 hdu5760Palindrome Bo

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5760题意:给定一个n个元素的数组,求最长的回文子序列并且要求从中间到两边是非递减的,要求输出长度和有多少个本质不同的最长的回文子序列。分析:如果只是要求长度,这题的难度要小好多,直接用a数组和a的逆数组求最长公共不上升子序列即可,有兴趣的可以自己去找题做做。但是这题还要求输出有多少个本质不同的子序

2016-07-29 17:46:06 669

原创 hdu5758Explorer Bo

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5758题意:给定一棵n个点的树,每次任选两个点,然后覆盖两点间的所有边,要求选择最少的次数覆盖所有的边,在最少次数的情况下要求覆盖边的次数最小。分析:要求选择的次数最小那么显然是从叶子到叶子才会使得总体最少。那么就要将叶子为奇或偶分类讨论,先讨论偶数的情况。我们以一个不是叶子的就节点当根,以每个根为

2016-07-27 21:24:25 1147

原创 hdu5755Gambler Bo

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5755题意:给定一个只含{0,1,2}的n*m的矩阵。有一种操作:将(x,y)位置+2同时(x-1,y),(x+1,y),(x,y-1),(x,y+1)都会+1。要求进行分析:前段时间刚做完一道这样的题,比赛的时候因为卡其他题了这道题却没看到。想多练一下的转E.Harmonious Matrices

2016-07-27 10:11:09 1238

原创 hdu5762Teacher Bo

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5762题意:给定n个点(x,y),求是否存在两对点对的曼哈顿距离相等。分析:数据范围题。曼哈顿距离一定是0~2*10^5,如果不存在的话就最多只能有sqrt(2*10^5)个不同的曼哈顿距离咯。那么n=500直接输出yes即可。代码:#include#include#include#i

2016-07-26 18:46:21 483

原创 hdu5754Life Winner Bo

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5754题意:给定一个n*m的矩阵,有四种棋子(国际象棋的王,王后,骑士,车)。起点在(1,1)先走到(n,m)获胜。分析:车是nim博弈。王后是威佐夫博弈。王和骑士写两个1000*1000的预处理即可。代码:#include#include#include#include#inclu

2016-07-26 18:39:50 514

原创 hdu4786Fibonacci Tree

链接:http://acm.hdu.edu.cn/showproblem.php?pid=4786题意:给定n个点m条边,边分为黑白两种边。问是否存在一棵生成树使得树中的白边数量是一个斐波那契数。分析:很明显可行的斐波那契数很少才24个,但是怎么判断当前这个数是否能是一棵生成树中的白边数呢?首先肯定是要判断所有边是否能生成树。然后最少要用多少条白边呢?用完所有的黑边还缺多少条边生成树就差多

2016-07-24 20:12:41 501

原创 hdu4790Just Random

链接:http://acm.hdu.edu.cn/showproblem.php?pid=4790题意:给定两个区间[a,b]和[c,d]和两个数p,m,0分析:因为数据范围都是10^9,如果直接暴力是不行的。我们先用容斥原理将x和y的范围变成[0,a']和[0,b']且a'代码:#include#include#include#include#include#inc

2016-07-24 19:20:38 323

原创 hdu5749Colmerauer

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5749题意:中文题意。分析:如题解所说求出每个元素的a,b,c,d之后计算贡献的系数即可。。规律好难找,其实系数为a*b*c*d*(a+b)*(c+d)/4。代码:#include#include#include#include#include#include#include#

2016-07-23 22:29:46 426

原创 hdu5750Dertouzos

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5750题意:中文题意。分析:用类似均摊的方法在遍历素数的时候加上n/d这个限制会优化。代码:#include#include#include#include#include#include#include#include#include#include#include#

2016-07-23 22:26:38 393

原创 hdu5714Helter Skelter

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5741题意:给定一个01交替的字符串s的压缩表示和m个询问。00110的压缩表示为"221"表示先2个0再2个1再1个0。然后给定m个询问每个询问a,b,问在原s串中是否存在一个区间[l,r]中恰好是0的个数为a,1的个数为b。分析:这是个找规律的题,其实多分析下就行了,一些猜想虽然不好证但是正

2016-07-23 17:06:13 388

原创 hdu5745La Vie en rose

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5745题意:给定一个母串s和一个子串p。问s中有多少个位置可以匹配p,可以不完全匹配,p字符串中的每个位置的字符最多可以变动一次(不变的,与前面的字符交换,与后面的字符交换)。分析:做多校学姿势。xg的题解解释得很好,但是对于我这种没写过这种优化的人来说还是要看代码学习一遍,我说下我的理解吧。首先x

2016-07-23 14:37:06 974

原创 hdu5735Born Slippy

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5735题意:给定n个点的树和操作opt,每个点有点权w[i]。要求对于每个节点i计算g[i]=max(g[j]+(w[i] opt w[j])),ans=sigma(1分析:正解的思路好厉害,膜膜膜。题解说得很清楚。我说我的理解吧,设w[i]=(a<<8)+b即a是w[i]的高8位b是w[i]的低8

2016-07-22 21:41:21 587

原创 hdu5715XOR 游戏

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5715题意:中文题。分析:二分+dp。要求最小值最大,很容易想到二分答案,但是对于答案x怎么判断是否可行呢?我们可以用dp[i][j]表示前i个元素分成j组是否可行来判断。显然dp[i][j]=max(a[i]^a[k])并且要求i-k代码:#include#include#includ

2016-07-22 16:31:22 326

原创 hdu5691Sitting in Line

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5691题意:中文题。分析:状压dp,设dp[i][j]表示选择了i集合的数放在前面那些位置并且最后一个是a[j]时的最大值。转移的话直接找可行状态转移到下一个可行状态即可。代码:#include#include#include#include#include#include#in

2016-07-22 15:00:02 307

原创 hdu5692Snacks

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5692题意:中文题。分析:我们以0为根建树,那么题目就变成了单点修改,查询在以x为根子树中的到根距离最大的点。我们可以直接用dfs序做,dfs序就是根据dfs的顺序将树上节点出现的先后顺序记录下来形成一个2*n的序列,那么每个节点出现两次,以x为根的子树被包含在x出现的两次的区间中。那么我们只需要在

2016-07-20 21:51:13 734

原创 51nod1183 编辑距离

链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1183题意:中文题。分析:设dp[i][j]表示s前i个字符和t前j个字符的编辑距离。基础dp,注意边界dp[i][0]和dp[0][i]。代码:#include#include#include#include#include#include

2016-07-20 20:45:14 587

原创 hdu5699货物运输

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5699题意:中文题。分析:因为只能建一个传送站并且要求最大的时间最小,我们二分答案,但是怎么判断能?设当前答案为x建立传送站的位置为L,R,显然只有r-l>x的运送方案才会需要使用传送站且会满足|l-L|+|r-R|=L+R>=l+r-x。(2)l-r+x>=L-R>=l-r-x。我们只需要判断这两

2016-07-20 19:48:53 304

原创 UESTC OJ1219 Ba Gua Zhen

链接:http://mozhu.today/#/problem/show/1219题意:给定n个点m条边有边权的无向图,求一个异或值最大的回路。分析:其实就是将所有环的异或值找出来然后任选一些组成最大的异或值。从k个数中任选一些求最大的异或值在莫涛的高斯消元解XOR方程组里面讲得很清楚。代码:#include#include#include#include#include

2016-07-20 15:39:50 529

原创 hdu5724Chess

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5724题意:有个n*20的表格,每行有若干棋子,两个人轮流移动。每次移动棋子只能将这枚棋子移动到它右边的第一个空格,同一个位置最多只能有一个棋子,不能移动棋子的人输。分析:因为每一行只有20个位置,我们直接用二进制保存,然后计算每个状态的sg值,然后将n行的sg值异或起来就行了,xor=0先手输否则

2016-07-19 17:06:51 1177

原创 hdu5550Game Rooms

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5550题意:有n层楼,每层有p[i]个人喜欢网球t[i]个人喜欢游泳,每层楼只能建一个娱乐场所,没有场所的人要去其他楼,求建好娱乐场所后所有人到离他最近的喜欢的娱乐场所的总和最小。分析:设dp[i][j][0/1]表示第i层建0/1,j代码:#include#include#includ

2016-07-19 10:41:16 513

原创 hdu5722Jewelry

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5722题意:给定n个数和x,求有多少个区间满足这个区间中至少有一个数恰好出现次数为x。分析:我们枚举区间的右边界,然后会发现可行位置是若干数的可行域的并,每向右移动一位可能改变一个数的可行域,我们只需要将它的可行域与之前的取并就是了,要求取线段的并和添加删除线段,用线段树处理就行了,想扫描线那样。

2016-07-18 18:07:01 369

原创 hdu5721Palace

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5721题意:给定n个点,设f[i]表示删掉第i个点的最近点对的距离,求sigma(1分析:稍微想一下就知道n个点的最近点对的距离会被计算n-2次(不是删除这对点的情况),然后只要在计算两次删这对点中的点的情况就好了。PS:知道这是经典的分治求最近点对问题(不会的就自己去查资料学吧,挺简单的),比赛的

2016-07-18 14:26:59 739

原创 hdu5720Wool

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5720题意:给定n个数a[i]和l,r。要求计算l~r之间有多少个数不能和a数组中的两个数构成三角形。分析:简单分析一下我们就能知道将a排序,然后对于a[i]来说1~i-1中和它构成最大的不可取的区间是a[i-1],因为不可取区间是a[i]-a[j]+1~a[i]+a[j]-1。那么我们用这些不可取

2016-07-17 23:55:37 385

原创 51nod1685 第K大区间2

链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1685题意:中文题。分析:二分答案,然后判断大于等于当前答案的数是否有>=k个奇区间中位数是大于等于当前答案的。比赛的时候没想到这么快速判中位数大于等于当前答案,再多想想其实就出来了。设当前答案为x,那我们将所有>=x的数标为1,(j-i)/2,i和j不同奇偶

2016-07-17 17:04:23 806

原创 hdu3506Monkey Party

链接:http://acm.hdu.edu.cn/showproblem.php?pid=3506题意:给定n个猴子坐成环,每个猴子介绍自己需要花费a[i]分钟。每次可以选择两个相邻的两个猴子,然后让他们两个的朋友互相认识花费的时间是这两堆猴子介绍自己的总和,其实就是环形石子合并啦。分析:很明显我们是可以区间dp的,设dp[i][j]表示i~j个猴子全部互相认识需要花费的最少时间,那么dp

2016-07-17 15:27:17 949

原创 hdu3516Tree Construction

链接:http://acm.hdu.edu.cn/showproblem.php?pid=3516题意:给定n个点(x,y),并且保证xiyj当i代码:因为题目保证的数据关系和树的生长要求,我们很容易想到是区间dp,但是这是n^3的即dp[i][j]=min(dp[i][k]+dp[k+1][j]+dis(i,k,k+1,j)),这个dp的意义是一颗以(xi,yj)为根的子树包含了i~j所

2016-07-17 13:40:39 524

原创 hdu2829Lawrence

链接:http://acm.hdu.edu.cn/showproblem.php?pid=2829题意:给定n,m,有n个站点,m个炸弹能炸掉m段铁路,使得最后剩下的价值最小,计算方法看题目中的计算公式。分析:以前用斜率优化写过一次,这次用四边形优化再写一次。我们设dp[i][j]表示前i段铁路炸j个炸弹的最小价值,那么显然有dp[i][j]=min(dp[k][j-1]+w[k+1][i

2016-07-16 19:20:28 447

原创 poj1160Post Office

链接:http://poj.org/problem?id=1160题意:有n个村庄在一条直线上,能建k个邮局,求所有村庄到离它最近的邮局的总和最小。分析:四边形不等式优化dp的第一题。赵爽的动态规划加速原理之四边形不等式不错。对于这题我们设dp[i][j]表示前i个村庄建j个邮局的总和最小为多少,w[i][j]表示在第i个村庄到第j个村庄中建一个邮局并且i~j都去这个邮局的最小距离,那么w

2016-07-16 17:20:20 516

原创 51nod1089 最长回文子串 V2(Manacher算法)

链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1089题意:中文题。分析:Manacher算法练习题。代码:#include#include#include#include#include#include#include#include#include#include#inclu

2016-07-16 15:35:36 707

原创 hdu5700区间交

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5700题意:中文题。分析:我们枚举每个起点,然后找至少有k条线段覆盖到的最右位置,我们可以先将线段按左端点排序,枚举到起点i时将左端点为i的线段的右端点都加入树状数组,如果当前我们加入了g条线段的右端点在树状数组里,那么我们只要找到第k大的右端点就行了,用树状数组处理下就好了。代码:#inc

2016-07-16 15:18:46 521

原创 Codeforces 2011-2012 Waterloo Local Contest, 24 September, 2011 E.Harmonious Matrices

链接:http://codeforces.com/gym/100008题意:给定矩阵的长宽n,m。要求在每个格子填0/1并且每个格子自己+周围4个格子为偶数,要求1尽可能多。分析:很明显我们只需要知道第一行的填写情况就能将整个矩阵填出来,但是暴力2^m填写是不可能的,我们设这m个位置为x1,x2...xm。xi=0/1。那么我们可以得到第n+1行每一个位置的情况(一个关于x的集合)且n+1

2016-07-15 17:11:29 793

原创 swust1744: 方格取数问题

链接:http://www.oj.swust.edu.cn/problem/show/1744题意:中文题。分析:要求选出的数总和最大。我们将一行的格子黑白染色,然后将所有黑格子与源相连边的容量为他们的值,所有白格子与汇相连边的容量为他们的值,对于每个黑格子与相邻的白格子练一条容量为无穷大的边。这样我们就建成了一个找二分图最小割(最大流)的图,然后我们将所有格子的总和减去这个图跑出的最大流

2016-07-14 20:21:42 489

原创 试题库问题

链接:swust的oj竟然没有SPJ,做法不一样,a不了。题意:中文题。分析:网络流24题第七题。多重匹配的基础问题,模型很简单。代码:#include#include#include#include#include#include#include#include#include#include#include#include#include#pragma

2016-07-14 16:42:19 477

原创 swust1741: 最长递增子序列问题

链接:http://www.oj.swust.edu.cn/problem/show/1741题意:中文题。分析:网络流24题第六题。第一问:直接n^2处理出所有的f[i],f[i]表示以a[i]为结尾的最长上升子序列有多长。第二问和第三问就要用网络流建模做啦。怎么建呢?我们观察两个问题的关键点,第二问:取出长度为s且每个点最多拿一次,每个点最多只能拿一次!那么这里就有对点i拆点啦,拆成i

2016-07-14 15:29:53 334

原创 poj1651Multiplication Puzzle

链接:http://poj.org/problem?id=1651题意:给定n个数,求消除掉中间n-2个数最小代价,消除数a[i]的代价为a[l]*a[i]*a[r],a[l]和a[r]是它左右两边最近的剩下的数。分析:设dp[i][j]表示消除i+1~j-1最小代价,那么合并就是dp[l][r]=min(dp[l][k]+dp[k][r]+a[l]*a[k]*a[r])。代码:#

2016-07-14 15:19:21 287

空空如也

空空如也

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

TA关注的人

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