自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Gene_I must wait for the sunrise

热爱算法,知乎:https://www.zhihu.com/people/gene.liu

  • 博客(18)
  • 收藏
  • 关注

原创 【16年浙江省赛H ZOJ 3965】Binary Tree Restoring 【两个dfs序还原】

题意: 给出两个dfs序列,求出一个二叉树,使得该二叉树满足这两个dfs序列。思路: 看到这个题,比较容易想到的就是给出二叉树前、中序遍历,求二叉树的后序遍历。因此本题的思路就是对于序列中的每一段递归判断。dfs过程中给出当前两个序列的父亲节点,然后在序列的对应位置进行判断,如果两个节点相同,则这两个节点都属于当前dfs中的父亲节点。 如果...

2019-02-27 11:24:46 279

原创 【14年浙江省赛 F ZOJ 3781】Paint the Grid Reloaded 【建图、bfs】

题意:       一个n*m的棋盘,棋盘中有两种颜色的棋子。每翻动一个棋子,则该棋子所在的同颜色的连通块中的棋子都会翻动,即从黑变白,或从白变黑。问最少需要多少步可以将所有棋子翻成同一颜色。 思路:      首先肯定是要将图中所有棋子的连通块处理出来。然后我们可以发现一个连通块只要翻动一次,则该连通块就会与旁边所有的连通块进行合并,成为一个整体。      因此我们考虑到将...

2019-02-27 10:59:41 113

原创 【16年浙江省赛 B ZOJ 3937】More Health Points【树上dfs、斜率优化dp、动态维护下凸壳】

题意:       给定一颗树,单向边,给出每个点的价值。然后任选树中一个点 i 进入,从 j 点出来,获得的价值为val[i]*1+val[i+1]*2+...+val[j]*(j-i+1),也可以选择不进入,节点价值有正有负,求最多可以获得多少价值。 思路:        这题可以简化成在一个序列上,找出一段 [x,y],求SUM(val[i]*(i-x+1))的最大值,即1*...

2019-02-26 10:14:42 473

原创 【BZOJ 2726】任务安排【斜率优化dp】

题意:       n个需要被处理的任务,机器启动时间为s。每个任务都有时间Ti和花费Ci,计算方法为完成这批任务所需的时间是各个任务需要时间的总和。注意,同一批任务将在同一时刻完成,新的一批任务开始时,机器需要重新启动。确定一个分组方案,使得总费用最小。【每批任务包含相邻的若干任务】 思路:       1  <= n <= 3*1e5,0 <= S,Ci &l...

2019-02-26 09:48:57 201

原创 【ZOJ 3715 —— 13年浙江省赛K】Kindergarten Election 【枚举答案进行判断】&& 【夺宝奇兵 —— CCPC-Wannafly Winter Camp Day1】

题意:【Kindergarten Election】 幼儿园选leader,已知每个人要投的人,以及让此人改票所需要的花费。问最少需要多少钱可以让1号选手当上leader,注意1号选手自己也要投票,而且不能投自己。思路: 由于数据量很小,n <= 100,因此考虑来枚举答案。即假设leader最后的票数为x,则原来所有票数大于x的人,都需要将票数...

2019-02-25 16:17:05 236

原创 【 Codeforces Round #301 (Div. 2) D】Bad Luck Island【概率DP】

题意:       有x个石头,y个剪刀,z个布,求最后剩下石头、剪刀、布的概率. 思路:       一开始想的是正向遍历进行dp,dp[i][j][k][h]表示i个石头,j个剪刀,k个布,最后结果为h的概率,然后发现这个dp思路转移方程比较难写。      于是考虑反向dp,dp[i][j][k]表示剩余i个石头,j个剪刀,k个布的概率,最后将dp[x][0][0]累加起...

2019-02-22 17:31:19 157

原创 【14浙江省赛 B ZOJ 3777】Problem Arrangement 【状压dp】&& 【CCPC-Wannafly Winter Camp Day2 K Sticks】

题意:【浙江省赛】       给定n、m。有n个物品,进行全排列,然后p[i][j]表示第i个物品放在第j个位置所能得到的价值,现在开始对n个物品进行任意摆放,求第一次摆出一个排列,该排列的总价值大于或等于m的期望次数。 思路:       看到这题就回想起了之前做过的一个状压dp题目,12根木头,求最多能够摆出多少个三角形,于是从状压dp的角度切入思考这道题目。首先求期望次数就...

2019-02-18 12:15:42 209

原创 【14年浙江省赛 ZOJ 3780】Paint the Grid Again【图转换】

题意:       给一个XO的n*n网格图,X表示这个格子被染成了黑色,O表示这个格子被染成了白色。一开始格子都是无色的,你可以选择一行将其染黑,或者选择一列将其染白。注意,每一行、每一列均只能选择一次。问你是否有一种涂色方案可以将图染成题目中的样子,如果有,请输出字典序最小的涂色方案。否则输出No solution。 思路:       此题可以先考虑怎样的情况是无解的,由于每...

2019-02-18 00:27:09 151

原创 【14年浙江省赛 ZOJ 3778】Talented Chef

题意:       n个人,每个人都有一个初始数值。你可以选择最多m个人,将他们的数值-1。问最少需要多少次可以将所有人的数值都减为0。 思路:       一次最多将所有人数值总和减少m,所以一个直接的思路就是sum/m向上取整就是答案。然后会发现这样考虑是不准确的,因为如果四个人分别是1 1 10 10,每次可以选择4个人,则最少需要10次。在这种情况下,是由最大值决定的。...

2019-02-18 00:07:02 158

原创 【ACM ICPC 2011–2012, Northeastern European Regional Contest】Interactive Permutation Guessing【交互题】

题意:       答案是一个1-n的排列。现在你需要给出一个1-n的排列,系统返回两个排列之间相同的最长子序列长度【不连续】,需要在5*n^2的询问次数内求出来。       ps:longest common subsequence of permutations a and b【最长相同子序列,不需要连续】 思路:       猜排列,那么肯定涉及到定位置。确定每个数字所...

2019-02-17 11:43:09 430

原创 【2011-2012 ACM-ICPC Northeastern European Regional Contest (NEERC 11) G】GCD Guessing Game【数论思维题】

题意:       给出一个数字n,答案数字在1-n中。然后你猜测一个数字,系统会给出你猜测的数字和答案数字的gcd,问最坏情况下最少需要猜多少次可以猜出答案数字。 思路:       可以这样思考,你猜一个数字,系统返回这个数字与答案数字的gcd,只要gcd不是1,则答案数字的范围缩小了gcd倍,也就是说如果返回的gcd一直不是1,那么可以很快求出答案数字。所以最坏的情况就是gc...

2019-02-16 18:08:13 270

原创 【Codeforces Round #291 (Div. 2) D】R2D2 and Droid Army【线段树+二分】

题意:      有n个机器人,每个机器人有m个属性。现在你有m个武器,使用第i个武器,可以对所有机器人的第i个属性值造成-1的伤害,当机器人的所有属性值均为0时,机器人被破坏。你一共可以使用武器k次,求被破坏的机器人连续的最长长度是多少。m <= 5。 思路:      比较容易想到,对于每个起点i,二分终点,即被破坏的机器人最长连续距离。      至于二分判断方面,...

2019-02-16 17:31:51 150

原创 【Gym-100085 K】Kingdom Roadmap【树上构造题】

题意:       给定一颗树,往树上加边形成一个新的图,新图需要满足去除图中任意一条边,新图仍然连通。要求输出最少需要添加几条边以及具体的添边方式。 思路:      比赛的时候是没什么思路的,还是太cai了。      看了题解之后发现,可以先对整个树进行一个dfs,求出每个叶子节点的dfs序。添边肯定是对叶子节点进行添边,因此需要求出所有叶子节点的dfs序。     ...

2019-02-16 13:56:11 274

原创 【Codeforces Round #291 (Div. 2) C】Watto and Mechanism【Trie树、Hash】

题意:       给出n个串,m组询问。每组询问均为一个字符串,询问在初始n个串中是否存在一个串与该询问串恰好只有一个位置不相同。输出YES or NO。 Hash思路:       首先先讲讲Hash的算法,利用bkdr算法将每个字符串hash成一个数值,hash函数如下:hash: abccachash[1] = 0hash[6] = 0*131^5+1*131^4+...

2019-02-16 12:55:54 183

原创 【Gym-100085 E】Eve【模拟题】

题意:       每一个人的线粒体DNA是从母亲那里遗传而来的。给出一个族群的出生和死亡情况,以及某几个人的线粒体DNA测序结果,问在最后时刻,所有活着的人是否拥有相同的线粒体DNA,给出YES、POSSIBLY、NO三种情况结果。 思路:       其实就是一个并查集问题,模拟题目给出的过程,出生时将孩子和母亲放到一个集合中,测序时用map判断是否有相同DNA的人群,将他们放...

2019-02-14 23:04:52 176

原创 【Gym-100085 B】Binary Encoding【思维题】

题意:       给出n个数字,用01串对这些数字进行表示。要求所需的01个数最少,并且任意一个数字的01串不能是其他数字01串的前缀。如样例的6,即给出0-5的表示即可。 0 00 4 110 1 01 5 111 ...

2019-02-14 22:56:41 169

原创 【HDU 1024】【线性DP】Max Sum Plus Plus

题意:       题目给出了一个含有n个数字的序列,要求将这个序列划为m段,要求这m段不能相交,不要求这m段要覆盖所有数字。求这m段数字之和的最大值。 思路:       比较容易发现是一个dp问题,令dp[i][j]为前i个数字,分为j段,第i个数字选的最大值。则dp[i][j] = max(dp[x][j-1]+a[i], dp[i-1][j]+a[i]),此处的dp[x][...

2019-02-14 15:54:13 155

原创 CCPC-Wannafly Winter Camp Day1 (Div2, onsite)【流流流动】

题目描述: 喜欢数学的 wls 最近被萎住了。 现在他一共有1...n这么多数字,取数字 i 会得到 f[i] 的收益。数字之间有些边,对于所有的 i (i != 1),若 i 为奇数,则 i 与3i+1 之间有边,否则 i 与 i/2 之间有边。如果一条边的两个顶点 xy 都被取了,那么会失去 d[min(x,y)] 的价值。请问 wls 怎么取,才能使得收益...

2019-02-02 14:42:46 283

空空如也

空空如也

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

TA关注的人

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