自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HDU 6000 贪心

题意:有n件衣服要洗,每一件衣服都要先洗再烘干,有n台洗衣机和m台烘干机,给出每台机器工作的时间,问洗完所有衣服最短时间是多少。思路:贪心,如果只考虑洗衣的过程,可以利用优先队列保存下一次的时间,这里要考虑两个过程,我们只需要分别考虑最短,再将两个组合起来就可以,贪心一下要小的配大的,代码很简单。代码:#include <bits/stdc++.h>using namespace std;typ

2017-08-31 18:37:05 346

原创 HDU 6085 暴力bitset

题意:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6085 给出两个序列a和b,问有多少对(i,j)满足ai%bj==k。思路:假设当前枚举的余数是x,就要求出满足(a[i]-x)%b[j]==0的个数 将数组a中地每个数用bitset中的一位来表示,那么(a>>x)就是数组a中每个元素都减去x后的出现情况。我们只要知道此时出现过的数a[i]中是

2017-08-31 14:53:07 457

原创 HDU 6155 dp+矩阵+线段树

题意:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6155 给出一个长度为n的01序列以及Q个操作,操作分两类,一种是将[L,R]内的01序列翻转,二是求出[L,R]中包含多少不同的子序列。思路:对于01序列,设dp[i][j]表示到前i个字符为止,末尾字符为j的子序列个种类数,可以很容易得到状态转移方程: 当str[i]==’0’时: dp[

2017-08-30 20:23:17 452

原创 HDU 6153 拓展kmp

题意:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6153 Ni表示S串中出现了多少次T[i,len],Li表示T[i,len]的长度,求Li和Ni的乘积和。思路:把S和T都倒过来拓展KMP即可。代码:#include <bits/stdc++.h>using namespace std;typedef long long LL;const

2017-08-30 14:47:10 330

原创 HDU 6161 乱搞+dp

题意:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6161 一棵完全二叉树,每个编号位x的结点的儿子的左儿子和右儿子分别是2 * x,2 * x + 1,出事情况下,每个 结点的值都等于它的编号x,现在有m个操作,分为两类,一类是将编号为x的结点价值更新为y,另一类是查询经过结点x的路径的最大价值和。思路:对于一个结点x,经过它的路径要么是从x的左

2017-08-30 12:32:25 571

原创 HDU 6162 主席树+LCA(树上求区间[a,b]中的个数)

题意:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6162 给出一棵树,每个结点有一个权值,然后给出若干询问,针对询问区间(u,v,L,R),求在结点u和v的路径上,权值大小在[L,R]中的结点权值总和是多少。思路:其实思路和SPOJ COT差不多,传送门:http://blog.csdn.net/bahuia/article/details/77

2017-08-24 10:51:36 520

原创 SPOJ COT 主席树+LCA(树上第k大)

题意:题目链接:https://vjudge.net/problem/SPOJ-COT 对于给出的一棵树,给出若干询问,问任意两个节点的路径上第k小的节点的权值是多少?思路:主席树的另一种经典问题。 看似与HDU 2665不同,这里是针对树结构,其实思路基本不变。只是在建立主席树的时候,需要根据树的父子关系来构造,也就是节点u的线段树要在u的父亲基础上构建。 另外,在寻找第k大时,需要考虑x到

2017-08-23 18:43:05 548

原创 HDU 2665 主席树(求区间第k大模板)

题意:给出一串长度为n的序列,并给出m个询问,每个询问针对序列中一段区间[s,t],求这区间中第k小的数字是多少。思路:非常经典的主席树问题。 主席树正规的名字是可持久化线段树,形象来说就是将线段树更新的每一个步骤都保存下来,但是如果每次都开一棵线段树显然会MLE,主席树就是利用了更新一步前后的两棵线段树存在大量的重复元素,因此将公用的节点保留,只增加新的节点。 通过对线段树的了解,很明显知道更

2017-08-23 18:36:26 2942

原创 HDU 6129 规律+数论

题意:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6129 给出一串长度为n的序列a,现在对a求m次前缀异或和,求最后得到的数组。思路:题目不长,但其实隐藏了很多知识点。 首先写几行找找规律: a b c d a ab abc abcd a aab aaabbc aaaabbbccd a aaab aaa

2017-08-22 09:41:13 475

原创 HDU 6149 状压dp

9##题意: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6149 中文题。思路:状态压缩,将高点的选择情况压位。dp[i][S]表示的是枚举到第i个低点,且当前选择高点状态为S的最大山谷数。转移简单,注意细节。代码:#include <bits/stdc++.h>using namespace std;bool g[50][50], vis[

2017-08-20 22:23:11 896

原创 HDU 6148 数位dp

题意:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6148 中文题。思路:dp[pos][pre][flag]表示当前dp到第pos位且前一个数位上的数字是pre方案数,flag为0表示当前处于递减阶段,flag=1表示递增阶段。dp很简单,但有两点需要注意,一个是前导零的处理,另一个是对于山谷转折点的处理,因为数字可以满足相邻的相同,所以在某一位

2017-08-20 22:18:50 674

原创 HDU 6136 贪心+优先队列+并查集优化

题意:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6136 一个长度为L的环形赛道上有n辆赛车,每个赛车有一个初始位置和一个顺时针或逆时针的速度,第i个赛车重量为i,当两个赛车相遇之后重量小的会被毁掉,重量大将状态不变,继续前进,问经过多长时间之后,只剩下一辆车。思路:贪心,可以想到一个明显的结论,所有车里最先相撞的一定是某两个相邻的赛车,那么可以

2017-08-20 22:11:16 488

原创 HDU 6086 AC自动机+状压dp

题意:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6086 给出m个单词,要构造出长度为2*L的包含这全部m个单词的字符串,并且保证这个字符串非对称,其中字符只包括0和1,问一共有多少种构造方法。思路:本题是hdu2825的拓展,建议先做2825,博客链接:http://blog.csdn.net/bahuia/article/details/77

2017-08-13 19:48:16 1496 2

原创 HDU 2825 AC自动机+状压dp

题意:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2825 给出m个单词,要构造出满足包含其中k个单词的字符串,字符只包括小写字母,问长度为n的这样的串有多少个。思路:经典的AC自动机dp问题,这里需要状态压缩保存构造过程中已经找到的单词状态,令dp[i][j][k]表示当前已经构造了i个字符,在ac自动机上跑到结点j,且单词状态为S情况下的方案数

2017-08-13 19:12:57 614

原创 HDU 5036 期望+传递闭包+bitset优化

题意:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5036 给出n个门,每个门之后有一些钥匙,每个钥匙对应一扇门,可以用钥匙打开门或者用炸弹炸开门,问在任意情况下,打开所有门所使用炸弹次数的期望是多少?思路:对于一个门来说,如果可以求出有k个门打开后,就可以到达他,那么只炸一次,就能打开这个门的概率为k/n,因为这里考虑的是任意选择门,也就有可能包

2017-08-09 18:11:25 558 2

原创 Codeforces Round#427(Div.2) C题 二维BIT预处理

题意:题目链接:http://codeforces.com/contest/835/problem/C 给出n个坐标,每个坐标有亮度值,随着时间t的变化,亮度值每次+1,如果超越上界c,就变成0,之后随着时间变化继续+1。有q个询问,每次给出一个矩形范围和时刻t,求在时刻t,矩形范围内的点的亮度之和。思路:注意到坐标点的大小只有[1,100],而且上界c很小,因此可以考虑预处理出c以内每个时刻t的

2017-08-01 11:01:12 255

空空如也

空空如也

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

TA关注的人

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