
搜索
文章平均质量分 74
SuPhoebe
不是我针对谁,我是说在座的诸位都比我强
展开
-
Leetcode 851. Loud and Rich 以及一些面试的想法
Leetcode 851. Loud and Rich 以及一些面试的想法Leetcode 851. Loud and Rich 这道题本身没有什么很特殊的地方,但是它引发了我对面试写算法题的一些想法和思考。题意:给你一个拓扑序列richer,给你一个安静值quiet。对于每一个节点,找到拓扑序列严格在这个节点之后的最小的quiet值的节点。(无法排列拓扑关系的,则不是严格在节点之后的)。思路看到题目第一眼,首先想到排一个拓扑序列,再对于每个节点,取拓扑序列后一段的最小值(和最小值代表的节点)。原创 2020-07-13 03:24:10 · 377 阅读 · 0 评论 -
Aizu 2302 On or Off
传送门 暴力模拟 因为每个房间之间只有一条路,所以不用什么决策或者dp dfs出每个点经过的时间,然后比较,cost[i][j]×(Tnow−Tpre)cost[i][j]\times (T_{now}-T{pre})与on[i][j]+off[i][j]on[i][j] + off[i][j]哪个小就选哪个。 第一次经过一定要开灯和最后一次经过一定要关灯。所以只要经过了就需要加上on[i]原创 2015-08-22 19:16:58 · 604 阅读 · 0 评论 -
HDU 5385 The path
如果我们知道每个点的disdis值和最短路径树的话,方案是很容易构造的我们可以采取贪心做法,一开始将11号点作为最短路径树的根,然后左边从22开始,右边从nn开始,只要之前加入的点有边连向他们就加入这样一个点加入的时间就是他的disdis值,最短路径树上的父亲也可以确定,于是输出时非树边长度为nn,树边长度为两个端点disdis之差。// whn6325689// Mr.Pho原创 2015-08-13 20:50:02 · 800 阅读 · 0 评论 -
Codeforces Round #306 (Div. 2) D-E
D构造 首先我们想到的是做一个对称的图形,如同哑铃一般,中间的就是桥,两侧的就是双连通块。 那么我们想到的是构造一个双连通块,使得这个双连通块有一个点的度数为k−1k-1,其他点的度数为kk。 接着想到了完全图,对于一个完全图来说,每个点的度数为n−1n-1,但是这样做不能够保证有一个点的度数为k−1k-1,于是想到再加上一个点用k+2k+2个点去构造。 此时发现当kk是偶数的时候是不能够构原创 2015-09-19 11:16:58 · 525 阅读 · 0 评论 -
Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)
本文转载于此处。本文主要解决一个问题,如何实现二叉树的前中后序遍历,有两个要求:O(1)空间复杂度,即只能使用常数空间;二叉树的形状不能被破坏(中间过程允许改变其形状)。通常,实现二叉树的前序(preorder)、中序(inorder)、后序(postorder)遍历有两个常用的方法:一是递归(recursive),二是使用栈实现的迭代版本(stack+iterative)。这两种方法都是O(转载 2017-08-29 09:23:50 · 1414 阅读 · 0 评论 -
Leetcode 99. Recover Binary Search Tree O(1)
题目中要求用constant space去结题,那就不能使用中序遍历类似的递归写法,因为这些的空间复杂度平均水平是O(logN)O(logN)。那么只有使用一种(新的)遍历算法Morris Traversal。然后结合中序遍历的结题思路,左子树的最大值要小于根节点和右子树的值。/** * Definition for a binary tree node. * struct TreeNode {原创 2017-08-29 22:00:38 · 405 阅读 · 0 评论 -
HDU 5352 MZL's City
题意: 给你n个点,m次操作,和整数k 1操作,每次可以修复k个属于x所在连通块内的点 2操作,修复x与y之间的路,双向边 3操作,给你一个p,表示有p条路被毁坏了 思路: 其实说实话,如果没有想到关键部分,个人觉得不是特别好做。 第一想法比较接近于网络流或者贪心,但是因为要删边,所以很多人觉得网络流不能解决。 之后看了题解之后原创 2015-08-05 09:43:51 · 951 阅读 · 0 评论 -
Testing Round #11
A. Up the hill原创 2014-11-21 09:19:35 · 623 阅读 · 0 评论 -
Poj 1112 Team Them Up!
首先分析这道题目,题目给出的是一个有向图,即如果有A认识B,但不一定有B认识A。但是在所分配的组里面,任意两个人都要互相认识。1、 先读入数据建立有向图,然后对这个有向图进行处理,如果两个点之间的边是单向边,就认为两个点之间无边(因为这两个人不互相认识),对于两个点间的双向边,即建立一条无向边(这两个人互相认识),这样就可以把一个有向图转化为一个无向图。2、 将这个无向图转化为它的原创 2014-08-12 10:45:09 · 1152 阅读 · 0 评论 -
BUPT 2014新生暑假个人排位赛11
488. 小妹妹个数原创 2014-08-06 23:00:16 · 1542 阅读 · 0 评论 -
Bupt summer training for 2013_String
A - Crazy Search(P)原创 2014-08-05 21:30:15 · 730 阅读 · 0 评论 -
hihocoder 1233 Boxes
打表 通过最终排序好的情况直接bfs得到合法状态的,状压的时候有多种方法。 第一种是最直接的,因为只有7个数,每个位置上最多也只可能是7个数,所以你用一个数组表示每一位有哪些块,然后用一个long long状压出你这个状态的情况,用map标记判重。 这样的复杂度会稍微大一些,可能不能直接在线打表,所以你大一个表再交上去。我们的比赛的时候程序大概88kb,杭电上就会挂了。第二种是用n进制状压,用原创 2015-09-21 18:24:38 · 690 阅读 · 0 评论 -
BUPT-SUMMER-TRAINING-搜索
比赛地址A - Sticks剪枝原创 2014-07-24 22:05:32 · 757 阅读 · 0 评论 -
4和7是一个幸运数字
一个比较有趣的面试题题意:仅由4和7组成的十进制数字被称为幸运数字,如,4,7,44,47。那么仅由幸运数字乘积得到的数字为超级幸运数字,如,28 = 4 * 7。现在给你两个数字表示上下限,让你求这段区间内有多少个超级幸运数字。总共有1000组查询,上下限最多到1012101210^{12}。思路:第一想法是容斥搞一下,但是其实非常难,因为除了爆搜很难去构造出仅由幸运数字...原创 2018-04-04 00:49:34 · 7072 阅读 · 0 评论 -
ZOJ 3870 Team Formation && ZOJ 3872 Beauty of Array
ZOJ 3870 Team FormationDescription For an upcoming programming contest, Edward, the headmaster of Marjar University, is forming a two-man team from N students of his university. Edward knows the原创 2015-05-12 20:16:24 · 624 阅读 · 0 评论 -
Codeforces Round #297 (Div. 2) C、D、E
Codeforces Round #297 (Div. 2), problem: (C) Ilya and Sticksn = input()sticks = [int(_) for _ in raw_input().split()]sticks.sort()sticks.reverse()sides = []i = 0while i < len(sticks) - 1:原创 2015-04-01 16:26:30 · 592 阅读 · 0 评论 -
27E - Number With The Given Amount Of Divisors
#include#include#include#include#include#include#include#include#include#include#include#define ll long long#define ULL unsigned long longusing namespace std;const int INF=0x3f3f3f3f;c原创 2014-08-05 16:17:35 · 596 阅读 · 0 评论 -
Codeforces Round #267 (Div. 2) D. Fedor and Essay
注意有可能有环的情况所以DFS要两遍原创 2014-09-19 18:54:31 · 726 阅读 · 0 评论 -
HDU 5025 Saving Tang Monk
//By LH#include#include#include#includeusing namespace std;const int dx[4] = {0, 1, 0, -1};const int dy[4] = {1, 0, -1, 0};int n, m, sx, sy, ex, ey, ans;char a[102][102];bool v[102][102][1原创 2014-09-20 19:50:45 · 1027 阅读 · 0 评论 -
Codeforces Round #279 (Div. 2) F. Treeland Tour
题意:给你一棵树,然你在树上找到最长的上升序列,输出最大的长度这道题的我的想法是最简单的,就是 DFS+LIS,所以花的时间是最多的将树上的值用类似树链剖分的想法变成线性的LIS序列,然后回溯DP渣,第一眼就觉得是树P,但是不会喵~// whn6325689#include #include #include #include #includ原创 2014-12-02 00:17:46 · 752 阅读 · 0 评论 -
简单易懂的Dancing links讲解(1)
最早接触Dancing Links的时候,是在csdn论坛上逛的时候,发现有人在研究数独程序,由于本人开发过数独游戏,就进去看了看,发现有人说用Dancing Links来求解数独最快了,于是我就决定去了解一下Dancing Links。1. Dancing Links是什么?Dancing Links是一类搜索问题的通用优化,对精确覆盖问题有奇效,也可解决转载 2015-02-10 10:38:20 · 811 阅读 · 0 评论 -
简单易懂的Dancing links讲解(2)
Dancing Links一般都用来解决精确覆盖问题,什么是精确覆盖问题呢?就是下面这种:DancingLinks精确覆盖题目描述对于如下01矩阵,选择若干行,使得矩阵的每一列都有且仅有一个11,4,5行,是精确覆盖的一个解,如何用Dancing Link得到这个解的,可以参考代码http://blog.youkuaiyun.com/ac转载 2015-02-10 11:37:28 · 718 阅读 · 0 评论 -
HDU 5046 Airport
HDU 5046 Airport题目链接题意:给定一些机场,要求选出K个机场,使得其他机场到其他机场的最大值最小思路:二分+DLX重复覆盖去判断即可代码:#include #include using namespace std; const int MAXNODE = 4005; const in转载 2015-02-10 15:55:34 · 726 阅读 · 0 评论 -
简单易懂的Dancing links讲解(3)
Dancing Links除了能解决精确覆盖问题,还能解决重复覆盖问题,这里重点讲重复覆盖题目:高手做题 描述 SubRaY被布置了n道作业题,可是他一道也不会..但他知道有w位高手,并知道每位高手转载 2015-02-10 15:51:06 · 819 阅读 · 0 评论 -
Gym 100339A Bike Roads
Andrew Stankevich Contest 23Petrozavodsk, February 1, 2007Problem A. Bike RoadsAndrew lives at countryside. The area he lives at has two bike roads, each of which has the form of acircle原创 2015-02-11 22:47:29 · 1113 阅读 · 0 评论 -
2015 UESTC Winter Training 中的简单搜索
uvalive 4997简答搜索先将中心求出来,并且染上无关色,染色之后若有地方未染色,则说明不行然后再用回溯法染色// whn6325689// Mr.Phoebe// http://blog.youkuaiyun.com/u013007900#include #include #include #include #include #include #incl原创 2015-02-26 11:07:48 · 679 阅读 · 0 评论 -
UVALIVE 4887 Soccer && UVELIVE 4882
2015 UESTC Winter Training #6 训练赛的两道搜索模拟题uvalive 4882// whn6325689// Mr.Phoebe// http://blog.youkuaiyun.com/u013007900#include #include #include #include #include #include #include原创 2015-02-25 10:27:26 · 750 阅读 · 0 评论 -
Dancing links 基础题
全部都是数独类的题目POJ 3074// whn6325689// Mr.Phoebe// http://blog.youkuaiyun.com/u013007900#include #include #include #include #include #include #include #include #include #include #incl原创 2015-02-12 17:29:45 · 744 阅读 · 0 评论 -
2015 UESTC Winter Training #9
传送门这场比赛是2010东京区域赛的题目,只做了几题简单的题目Aizu 1305 Membership Management题意:给你几个部门的人,一个部门可能包含于另一个部门之下问:第一个部门有多少人用map给每个部门编号,然后set数组存每个部门人名,然后用dfs搜索答案// whn6325689// Mr.Phoebe// http://bl原创 2015-03-04 17:10:46 · 723 阅读 · 0 评论 -
BUPT2014新生暑假个人排位赛07
B469. 暑假作业题原创 2014-07-28 22:46:00 · 838 阅读 · 0 评论