原题链接: Kingdom Division 由于树的层次可能很深,所以这里不能使用递归版的DFS.我使用了BFS. BFS确定各结点的父结点和它的孩子数. 用逆拓扑排序确定结点的计算顺序. same[u][] 表示u结点颜色为0孩子结点颜色全为1时组合数. diff[u][] 表示u结点颜色为0时可行组合数.本结点颜色为0,子结点颜色为1,孙结点颜色全为0是无效组合.反之亦然.由于这里颜色0.1相互对称, same[u][]=same[u][]; diff[u][]=diff[u][]; .…
大致题意: 给出一个凸包,以及凸包内的两个点p1,p2,求有多少条经过凸包顶点的直线能够将凸包分割为两部分,且给出的两点分别属于不同的部分 枚举凸包的顶点,二分求出p1,p2线段左边的最大坐标L以及右边的最小坐标R,则答案为R-L-1的累加和除以2 注意文件输入,输出 #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #include<queue>…
Division expression Description 除法表达式有如下的形式: \(X_1/X_2/X_3.../X_k\) 其中Xi是正整数且\(X_i \le 1000000000(1 \le i \le k,K \le 10000)\) 除法表达式应当按照从左到右的顺序求,例如表达式1/2/1/2的值为1/4.但可以在表达式中加入括号来改变计算顺序,例如(1/2)/(1/2)的值为1.现给出一个除法表达式E,求是告诉是否可以通过增加括号来使其为E',E'为整数. Input 先给…
March 18, 2016 Problem statement: https://www.hackerrank.com/challenges/two-strings/submissions/code/18506948 Julia likes to try a new way to train herself to expand C#/ C++ / Java / JavaScript languages, by reading the solutions, followed up with so…
题目链接:http://lightoj.com/volume_showproblem.php?problem=1385 题意:下图中已知面积 a b c 求 d; 如果d的面积不确定,输出-1. 连接AX,记△AFX的面积为m,△AEX的面积为n. 因为△AFX与△BFX共高线,所以m/a = AF/FB; 又因为(n+c)与b共底边,高线所在的三角形相似,高线只比为AF/FB = (n+c)/b = m/a. 同理可得(m+a)/b = n/c = AE/CE 然后解二元一次方程组求得 m =…
题目链接:传送门 题意: 给你一棵树,n个点 每个点可以染成红色和蓝色 但是红色的点与其相邻的点中必须有红色节点,蓝色也是 问你有多少种染色的方案 题解: 树形dp 先转化为有根树,取1为根 设定dp[now][red][red] 表示的是当前now节点然red色,其父亲节点染red色的可行方案数 转移很容易想到 #include<bits/stdc++.h> using namespace std; #pragma comment(linker, "/STACK:102400000…
Articles Recommended: Steve Yegge – Get That Job at Google [web] Carlos Bueno – Get That Job at Facebook [web] Daniel Blumenthal – How to Prepare for Technical Interviews [web] David Byttow – ABC: Always Be Coding [web] David Byttow – Four Steps to G…
In the growing world of technology, C programming has kind of lost its way. Today, we have a million new languages and frameworks to code. A few being JavaScript, Java, C, Python, C++, PHP, C#, Ruby, Perl, Swift, Haskell, Erlang and what not. But a l…
摘要: 理解函数式编程. 作者:前端小智 原文:JS中函数式编程基本原理简介 Fundebug经授权转载,版权归原作者所有. 在长时间学习和使用面向对象编程之后,咱们退一步来考虑系统复杂性. 在做了一些研究之后,我发现了函数式编程的概念,比如不变性和纯函数.这些概念使你能够构建无副作用的函数,因此更容易维护具有其他优点的系统. 在这篇文章中,将通大量代码示例来详细介绍函数式编程和一些相关重要概念. 什么是函数式编程 函数式编程是一种编程范式,是一种构建计算机程序结构和元素的风格,它把计算看作是对…
Facebook Hacker Cup 2014 Qualification Round比赛Square Detector题的解题报告.单击这里打开题目链接(国内访问需要那个,你懂的). 原题如下: Square Detector Problem Description You want to write an image detection system that is able to recognize different geometric shapes. In the first ver…