ataraxia

窝只想一直陪着你~~

HDU 3887 Counting Offspring(dfs序+树状数组)

题目链接 题意:给你一颗有n个节点的n-1边的树,以及树的根节点是p,问你是不是这个树,每个节点子节点中比这个节点的号码小的个数。 trick:注意根节点是题目给出的,所以加边的时候反方向边也是要加入的,接着就是dfs序的时候是要注意,由于反向边的存在,那么我们就要判断下。#include&l...

2016-03-31 15:41:13

阅读数:230

评论数:0

POJ 3321 Apple Tree(dfs序+树状数组)

题目链接 题意:就是给你一个树,每次动态修改一个节点的值,然后问你某一颗子树的节点值的和。 做法:很明显每次修改然后dfs一次是会超时的,所以先跑一遍dfs,给树映射到区间,然后树状数组求和,dfs序,就是每次记录访问到这个节点的时间戳以及访问其儿子节点结束后返回该点的结束时间戳,那么他的儿子...

2016-03-30 17:54:21

阅读数:235

评论数:0

HDU 5653 Bomber Man wants to bomb an Array.(dp)

题目链接 题意:地址 分析:设dp[i][j]:表示当前考虑到第i个炸弹,其能往右边炸到的最远距离。暴力转移#include<bits/stdc++.h> using namespace std; #define LL long long #define cl(a,b) memse...

2016-03-30 16:40:28

阅读数:202

评论数:0

HDU3555 Bomb (数位dp)

题目链接 题意:给你一个数,问从0到这个数x之间,含有多少个49 分析:很直接的数位dp。 dfs(len,is4,isMax):表示当前考虑第len位,上一位是不是4,然后是不是到达上限。#include<bits/stdc++.h> using namespace std; ...

2016-03-16 16:49:55

阅读数:259

评论数:0

HDU2089 不要62(数位dp入门)

题目链接 题意:询问一个区间[L,R]里面,数字含有4或者62的 分析:数位dp的入门题目,一个不错的学习资源 还有一个详细解说 基本上就是这样了,上面对dfs的参数及每一句话分析的很清楚了。基本上定义好状态就可以了。#include<bits/stdc++.h> using ...

2016-03-16 16:44:44

阅读数:272

评论数:0

HDU 5642 King's Order(dp)

题目链接 题意:用26个字母组合出一个长度是n的序列,且不能出现连续3个相同的字符。问一共有多少情况。 解法:dp[i][j][k]:表示组合长度是i的时候,在这i位置放入字母j,字母j连续出现的长度是k,转移,就是看i-1位置填入的#include <cstdio> #inclu...

2016-03-13 17:50:46

阅读数:279

评论数:0

HDU 5641King's Phone(模拟)

题目链接 题意:模拟手机解锁,三个条件 1. 密码至少经过四个点。 2. 不能重复经过同一个点。 3. 路径上的中间点不能跳过,除非已经被经过(342734273427 是合法的,但 372437243724 不合法)。 解法:横着,竖着,对角线,判断一下#include <cst...

2016-03-13 17:46:42

阅读数:266

评论数:0

HDU5640 King's Cake(简单模拟)

题目链接 题意:给你n*m的矩形,每次切出一个正方形,问最多可以切几个 解法:模拟一下#include <cstdio> #include <iostream> #include <algorithm> #include <cstring> #i...

2016-03-13 17:44:07

阅读数:264

评论数:0

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