摘要: 在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动 阅读全文
posted @ 2019-07-25 20:17 YF-1994 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: 阅读全文
posted @ 2019-07-25 19:48 YF-1994 阅读(83) 评论(0) 推荐(0) 编辑
摘要: #include #include #include using namespace std; const int N=6010; int f[N][2],n,happy[N]; int h[N],e[N],ne[N],idx; bool has_father[N]; void add(int a,int b){ e[idx]=b,ne[idx]=h[a],h[a]=idx++; } ... 阅读全文
posted @ 2019-07-25 19:37 YF-1994 阅读(225) 评论(0) 推荐(0) 编辑
摘要: #include #include #include using namespace std; const int N=12,M=1>n>>m,n||m){ for(int i=0;i>j&1){ if(cnt&1)st[i]=false; cnt=0; ... 阅读全文
posted @ 2019-07-25 18:18 YF-1994 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]] 输出: true解 阅读全文
posted @ 2019-07-25 14:54 YF-1994 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 算法实现:自底向上的归并排序 阅读全文
posted @ 2019-07-25 11:38 YF-1994 阅读(1407) 评论(0) 推荐(0) 编辑