自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 *Codeforces Round #316 (Div. 2)- D. Tree Requests (dfs+二分)

题目:http://codeforces.com/contest/570/problem/D题意:n个点的一棵树,每个节点都有自己的字母,m个询问,问u节点的子树中高度为h的点是否可以组成回文序列。思路:dfs,求出每个点的dfs序,以及记录每个深度的节点的字母的序。字母数量的奇数个不超过1,则可以组成回文序列。二分求出询问节点对应的区间,判断是否可以。AC.#in

2015-08-31 22:01:09 437

原创 POJ 3162 - Walking Race(树形DP)

题目:http://poj.org/problem?id=3162题意:树中节点的直径,最大值与最小值的差值不超过m的最大区间。思路:步骤1:求树的直径。步骤2:求出区间,维护两个单调队列,一个递增一个递减。AC.#include #include #include #include #include using namespace std;const

2015-08-29 17:26:23 396

原创 Codeforces Round #290 (Div. 2) - C. Fox And Names (拓扑排序)

题目:http://codeforces.com/problemset/problem/510/C题意:题目给出的单词按照字典序排列,求出符合这些排列的 26个字母的排列。思路:拓扑排序。AC.#include #include #include #include #include #include using namespace std;cha

2015-08-27 20:16:37 430

原创 POJ 1655 - Balancing Act(树形DP)

题目:点击打开链接题意:求出一棵树中,去除一个节点后,得到的各子树的节点数中最大的最小值。AC.#include #include #include #include using namespace std;const int maxn = 2e4+5;int n;int tol, head[maxn];struct Edge{ int to,

2015-08-26 16:14:13 469

原创 HDU 3586 - Information Disturbing(二分+树形DP)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=3586题意:断开一棵树的叶子节点和根节点之间的联系,要求只有士兵的能力大于这条边所需要的能力时才能被打断,同时满足所有消耗的能力值之和不大于m,求士兵所具有的最小的能力值。思路:对于士兵的能力值进行二分。dfs进行判断。AC.#include #include #includ

2015-08-26 16:07:31 482

原创 CodeForces 550D - Regular Bridge(构造)

题目:http://codeforces.com/problemset/problem/550/D题意:构造一个无向图,使得图中每个点的度都为k,且存在一个桥,输出能否构造,若能,则输出点数边数和连边,否则输出NO。思路:通过画图可以知道k为偶数的时候,不可能得到。k为奇数的情况,可以知道图关于桥对称,只需要构造一边的情况即可。先确定桥两端的点,对于一个端点,增加k

2015-08-19 16:57:43 472

原创 HDU 5396 - Expression(区间DP)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=5396题意:n个数,n-1个符号(只有+、-、*),求出所有不同运算顺序的结果的总和。思路:区间DP. dp[i][j] 表示区间(i,j)不同组合结果的总和。dp[i][j] += dp[i][k-1] (c[k]) dp[k][j]; c[k] 为*, 和+,- 的处理有

2015-08-18 20:03:03 627

原创 Codeforces Round #135 (Div. 2) - D. Choosing Capital for Treeland(dfs / 树形DP)

题目:http://codeforces.com/problemset/problem/219/D题意:给出n个点,n-1条有向边的树,以一个点为中心,从这个点出发到其他各点需要更改的一些路径的方向,求出最少更改的路径数,以及符合这个数量的点。思路:先建无向边(当边的编号i:i%2=0,与原来方向相同,i%2=1,与原来方向不同),以1为根,dfs整棵树。设定1点到各点的方

2015-08-17 17:02:42 564

原创 Codeforces Round #303 (Div. 2) - E. Paths and Trees(最短路)

题目:http://codeforces.com/problemset/problem/545/E题意:在n个点m条边的无向图中,找 一颗最小生成树,输出边权和以及路径编号。思路:spfa跑最短路的过程中,当该点到起点的最短路径相同时,选择边权小的路径加入答案的最小生成树中。AC.#include #include #include #include #in

2015-08-17 14:44:43 360

原创 Codeforces Round #290 (Div. 2) - C. Fox And Names(最短路)

题目:http://codeforces.com/problemset/problem/545/E题意:n个点m条边的无向图,求出从1->n的最短路,使得其路径上标记为0的路径最少,除了这条最短路径上的路,其他路都应标记为0. 求出需要修改标记的路径数量,及其每条路的端点和应修改的标记。思路:最短路dis数组表示最短路径,zer数组表示路径最短的情况下0标记最少的路径。

2015-08-17 09:58:19 584

原创 HDU 3335 - Divisibility(二分图)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=3335题意:求出n个数中互相不为倍数的最大集合,输出集合元素个数。思路:题目转化为最大独立点集。AC.#include #include #include #include using namespace std;const int maxn = 1005;lo

2015-08-16 21:27:44 569

原创 HDU 3338 - Kakuro Extension(网络流‘最大流)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=3338题意:给你一个n*m的矩阵,往空白格里面填 1~9的数字,得到列等于左下角的数字,行等于右下角的数字。思路:最大流的性质,流入容量会等于流出容量。和题目中的行总和会等于列总和性质相同,由此可以建图。为了方便建图,本应填入1~9,改为填入0~8,行列和相应减去,便可同普通的最

2015-08-16 21:19:59 639 2

原创 *HDU 3336 - Count the string(KMP)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=3336题意:求出字符串的前缀在字符串中重复的总次数。思路:kmp 的原始next 数组,next[i]表示前i-1个字符中前后匹配的最大长度是next[i].将前后匹配的串个数相加 + 字符串的长度 即可得到答案。点击打开链接AC.#include #inclu

2015-08-16 21:06:26 448

原创 CodeForces 500D - New Year Santa Network(DFS)

题目:http://codeforces.com/problemset/problem/500/D题意:n个点,n-1条边的树,有边权值。任意选出三个点建城市,其花费是dis(a,b)+ dis(a,c)+ dis(b,c); 有q个询问,每次改变一条边的长度,求出所有建城市的方案的花费期望。思路:dfs:求出v点子树的节点个数,求出(u,v)边对总路径的贡献。在未

2015-08-16 11:49:23 526

原创 **HDU 4412 - Sky Soldiers(区间DP)

题目:点击打开链接题意:有n个飞行员,每个飞行员都有c个落点和相应的概率,要建立m个补给站,使得n个飞行员到达补给站的期望值最小。思路:dp[i][j] 表示前i个落点建立j个补给站的最小期望值。dp[i][j] = min(dp[k][j-1], cost[k][i] ) 。cost[k][i] 表示区间(k,i)建立1个补给站供给此区间中的飞行员的期望值。期

2015-08-15 18:01:40 478

原创 HDU 5383 - Yu-Gi-Oh!(网络流’最小费用最大流)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=5383题意:有n种怪物,有两个种类0和1,每种怪物都有其等级和杀伤力,一只0怪物和一只1怪物可以组成一只大怪物,其等级是小怪物等级相加,他有自己的杀伤力。有些怪物要有特定的怪物组成。求出可以组成的怪物杀伤力的最大值。思路:先将两种怪物按照二分图一样分成两部分,能够组成大怪物等级的两只

2015-08-14 23:22:54 1040

原创 HDU 4411 - Arrest(网络流‘最小费用最大流)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=4411题意:起点0有k个人,1~n座城市分别有坏人,k个人分开出动,要按城市顺序捉坏人,所有城市都需要遍历。最后出动的人全部回到起点,求出所有人经过的最短距离。思路:题目有几个限定条件:1.每一个城市都需要经过。2.按城市顺序捉拿坏人。按照条件建图。根据条件一建图:将

2015-08-14 23:13:21 536

原创 **HDU 5378 - Leader in Tree Land(概率DP)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=5378题意:给你一棵树,有n个人,标号分别是1~n,每个节点放一个人。对于一棵子树来说,标号最大的那个人为领导,求出领导为k个的方案数。思路:直接复制题解思路,奇妙的想法!可以用求概率的思想来解决这个问题。令以i号节点为根的子树为第i棵子树,设这颗子树恰好有sz[i]个点

2015-08-13 21:36:20 504

原创 HDU 5372 - Segment Game(树状数组)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=5372题意:在水平坐标轴上,0操作表示画线段(b,b+i),1操作表示将线段i删去,输出每次增加的线段包含的线段的数量。思路:由于b有10^9,所以需要离散化,将所有的坐标存入num数组中,排序去从。在num数组中二分查找每次询问的左右坐标,得到的下标即为离散后的新坐标。维护两个

2015-08-13 21:29:24 522

原创 HDU 5371 - Hotaru's problem(Manacher算法)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=5371题意:求出三段连续的序列,使得第一段是第二段的回文,第二段是第三段的回文,求出最长序列是多长。思路:manacher算法,处理回文串。枚举 i,满足mp[i] >= j-i+1 && mp[j] >= j-i+1, 更新答案 ans = j-i。AC.#includ

2015-08-12 15:59:29 546

翻译 2015.8.12

想写点东西,却一直不知道该发在哪。发在被荒废又无人知的博客但也希望有人看到,而人太多的地儿又会觉得不好意思发。人就是这么纠结。明显的这样的一个写题解的博客氛围不大对,便也将就。近来一直不在状态。信誓旦旦的计划了很多,大多都会流于昨天晚上睡觉前的念想。假期的的悠闲氛围让人产生一种时间永远用不完的感觉,在紧张且有效率的学习与愉快地玩耍之间总找不到平衡点。大概到了假期快结

2015-08-12 11:54:33 491

原创 ***POJ 2152 - Fire(树形DP)

题目:http://poj.org/problem?id=2152题意:给出一棵树,有边权。现在点上建消防站,每个点的花费分别是cost【i】,如果不在当点建,则要依赖其他的消防站,其距离不超过dis【i】,求出建消防站的最少花费。思路:复杂度O(n^2)(ndp[i][j]: 表示i是依赖于j的消防站的最小花费,best[i] 表示以i为根的树的最小花费。dp[i

2015-08-10 21:25:51 416

原创 Codeforces Round #284 (Div. 1) C. Array and Operations(网络流‘最大流)

题目:http://codeforces.com/problemset/problem/498/C题意:给出n个数的数值,m对数(ai,aj),i与j的奇偶性不同,每次选中一对数,是否存在一个数v使得ai与aj都整除,求问最多操作多少次。思路:每次选择两数的质因子,则可以保证操作次数最多。处理出每个数的质因子,接着奇数位的和s连边,偶数位与t连边,有关系的数对连边,跑最

2015-08-10 15:57:25 356

原创 ZOJ 3725 - Painting Storages(DP)

题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3725题意:n个连续的珠子,将珠子染成红色或者蓝色,连续的一段大于等于m的珠子染成红色的方案数。思路:很水的计数dp,真是蠢到家。。dp【i】:表示i个珠子的方案数。1.前i-1已经满足方案,那么dp【i】+= dp【i-1】*2;2

2015-08-09 22:40:26 418

原创 UVAlive 6044 - Unique Path(边双连通分量)

题目:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=85218#problem/G思路:贴上代码当模板AC。#include #include #include #include #include #include #include using namespace std;const int m

2015-08-08 22:42:51 498

原创 **HDU 4281 - Judges' response(DP`背包+TSP)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=4281题意:给出n个题目的坐标和花费的时间,每个裁判解决题目的时间为m,每个题目只能让一个裁判解决。求出1.最少派出多少裁判才能将所有的题目解决。2.不限裁判数量,解决所有的问题的最少路径。思路:解决问题一:将2^n种的地点选择 看成 2^n种物品,物品的权值为所选择的物品的

2015-08-08 20:19:54 499

原创 HDU 4283 - You Are the One(区间DP)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=4283用两种形式写了一下。。AC。#include #include #include #include using namespace std;const int inf = 0x3f3f3f3f;const int maxn = 105;int v[maxn], su

2015-08-07 22:49:44 540

原创 *POJ 1741 - Tree(树形DP‘树的分治)

题目:http://poj.org/problem?id=1741题意:求树中两点之间的距离小于等于k的对数。思路:树的点分治。看论文+模板。AC.#include #include #include #include using namespace std;const int maxn = 10005;int n, k;int vis[maxn],

2015-08-06 22:47:42 806

原创 HDU 5360 - In Touch(最短路)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=5361题意:给出n个点可以到达的点的距离差范围(l,r),和每个点的点值。n个点的位置分别为(0,1,2,3...n).从0点出发,求出到达其他各点的最小花费,如果无法达到则输出“-1”。思路:dijkstra的思路,在每个点只可能标记一次最短路,所以使用一个set去记录所有点,

2015-08-06 22:41:13 678

原创 HDU 5352 - MZL's City(网络流‘最小费用流)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=5352题意:n个点,m条边,每次最多复活k个点。操作1:u,复活与u相连的点。操作2:u,v  u和v之间连边。操作3:cnt 删除cnt条边,有给出起点终点。求出最多复活城市的个数且输出字典序最小的每次操作1复活的城市个数。思路:设每次操作1为点i+n,dfs得到与

2015-08-05 21:45:53 480

原创 *HDU 5348 - MZL's endless loop(搜索)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=5348题意:n个点m条边,输出一组解表示边的方向,使得每个点的出度和入度相差不超过1.思路:首先应该判断出每一个图都会有答案:假如给出的图是一棵树,则通过均分儿子的出入边得到答案。假如是一个环的话,则可以选择一个方向绕环连边。由于所有图都是由环和树组合得到的,所以必定有解。

2015-08-05 11:11:52 649

原创 UVALive 6042 - Bee Tower(dp)

题目:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=85218#problem/E思路:找到最高的塔之后,向右遍历,向左遍历。求出最终答案。INF开小了,老泪纵横。。AC。#include #include #include #include #include using namespace st

2015-08-03 12:12:40 503

空空如也

空空如也

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

TA关注的人

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