题目传送门 1 /* 2 题意:每棵树给出坐标和高度,可以往左右倒,也可以不倒 3 问最多能砍到多少棵树 4 DP:dp[i][0/1/2] 表示到了第i棵树时,它倒左或右或不动能倒多少棵树 5 分情况讨论,若符合就取最大值更新,线性dp,自己做出来了:) 6 */ ...
分类:
其他好文 时间:
2015-05-21 23:58:52
阅读次数:
347
求割点一种显然的n^2做法: 枚举每个点,去掉该点连出的边,然后判断整个图是否联通用tarjan求割点: 分情况讨论 如果是root的话,其为割点当且仅当下方有两棵及以上的子树 其他情况 设当前节点为u,一个儿子节点为v 存在low[v]>=dfn[u],也就是说其儿子节点v能连到的最前...
分类:
其他好文 时间:
2015-04-27 14:59:24
阅读次数:
121
构建trie树,可以得到4类结点:必胜点,必负点,完全主宰点(可胜可负),完全无法主宰点(无法控制最终胜负)。递归到叶子结点,即为必胜点,回溯分情况讨论。注意叶子结点使用属性n来控制,n表示当前结点的儿子结点的数目,叶子结点没有儿子。 1 /* 456D */ 2 #include 3 #i...
分类:
其他好文 时间:
2015-04-26 19:39:42
阅读次数:
121
题目传送门 1 /* 2 分情况讨论,在long long范围里可以直接比较 3 sscanf 直接读到n中去 4 */ 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #includ...
分类:
编程语言 时间:
2015-04-10 22:21:20
阅读次数:
149
今天腾讯笔试,自我感觉良好,但是做完之后想到诸多问题。。。。目前把记得的题目记录一下以便之后复习和思考。 首先是一道选择题:一个有五个节点的二叉树有多少种可能性?当时并没有提升到理论高度,只是单纯的分情况讨论,结果把自己给弄混了,随便选了一个,现在来整理一下: 一个有N个节点的二叉树有多少种...
分类:
其他好文 时间:
2015-04-09 00:42:20
阅读次数:
149
题目大意给出一个字符串,这个字符串是由两个相同的字符串连接之后再加一个字母的到的,求原串。思路枚举加的字母是哪一个,之后分情况讨论,根据hash值来判定是否符合题目要求。注意判重。CODE#define _CRT_SECURE_NO_WARNINGS#include
#include
#include
#include <algorithm...
分类:
其他好文 时间:
2015-04-01 22:01:47
阅读次数:
132
回文串包括奇数长的和偶数长的,一般求的时候都要分情况讨论,这个算法做了个简单的处理把奇偶情况统一了。算法的基本思路是这样的,把原串每个字符中间用一个串中没出现过的字符分隔开来(统一奇偶),用一个数组p[ i ]记录以 str[ i ] 为中间字符的回文串向右能匹配的长度。先看个例子原串: w a a...
分类:
编程语言 时间:
2015-04-01 15:08:14
阅读次数:
136
题目大意一个人打工,每一天有一个收益,使用一点体力可以获得一份收益,每天回复固定的体力,体力有一个上限,超出之后就不回复了。问最多可以获得多少收益。思路分治策略:Solve(l, r, st, ed)表示第l天到第r天,初始体力为st,结束体力为ed的最大收益。显然,我们想让这个区间中的收益最大的那天干的越多越好,于是分情况讨论:
如果从一开始就休息,一直休息到收益最大的那天,没有达到体力的上限,...
分类:
其他好文 时间:
2015-03-28 15:50:02
阅读次数:
133
题目链接题意:给出m行n列的棋盘,当两皇后在同行同列或同对角线上时可以互相攻击,问共有多少种攻击方式。分析:首先可以利用加法原理分情况讨论:①两皇后在同一行;②两皇后在同一列;③两皇后在同一对角线( / 或 \ ); 其次利用乘法原理分别讨论: ①同一行时(A),先选某一行某一列放置其中一个...
分类:
其他好文 时间:
2015-03-28 01:03:25
阅读次数:
180
简单LCA:
求树上距离给定两个点a,b距离相等的点有多少个
先预处理出每个节点的孩子个数sum[x],求出a,b的LCA,根据深度就可以知道两个点的距离,距离为偶数的有解....
根据lca在a,b之间的位置不同分情况讨论:
设a与lca距离为 ha , b与lca距离为 hb
1:lca在a,b正中间既a,b分别属于lca的两个子树中, 结果为: n-sum[ a往上距离lca ...
分类:
其他好文 时间:
2015-03-06 06:20:44
阅读次数:
277