hihoOffer收割练习20题目2】的更多相关文章

题目2 : SCI表示法 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 每一个正整数 N 都能表示成若干个连续正整数的和,例如10可以表示成1+2+3+4,15可以表示成4+5+6,8可以表示成8本身.我们称这种表示方法为SCI(Sum of Consecutive Integers)表示法. 小Hi发现一个整数可能有很多种SCI表示,例如15可以表示成1+2+3+4+5,4+5+6,7+8以及15本身.小Hi想知道N的所有SCI表示中,最多能包含多少个连续正整数…
题目1 : 无根数变有根树 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一棵包含 N 个节点的无根树,小Hi想知道如果指定其中某个节点 K 为根,那么每个节点的父节点是谁? 输入 第一行包含一个整数 N 和 K.1 ≤ N ≤ 1000, 1 ≤ K ≤ N. 以下N-1行每行包含两个整数 a 和 b,代表ab之间存在一条边. 1 ≤ a, b ≤ N. 输入保证是一棵树. 输出 输出一行包含 N 个整数,分别代表1~N的父节点的编号.对于 K 的父节点输出…
hihocoder编程收割赛20 hihocoder1542 : 无根数变有根树 hihocoder1542 思路: 树的遍历 ac代码: // hihocompete20_01.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include<cstdio> #include<string> #include<algorithm> #include<qu…
前言 最开始看到这个题目,我的第一个想法是有没有那种输出格式可以直接拿来用的,然后我百度了一下,想偷懒,然而并没有这种东西.只好动动自己的脑子了. 关于GitHub 这个问题,当初我弄了五天才建立好联系.不知道为啥一直出问题,解决一个又出现一个,然后很乱,对这个东西又不熟悉,只能百度和问别人.感谢王源宝宝,hhhhhh很棒.因为这两天还比较忙,我的GitHub好像又出现了一些问题.忙活了好久才弄好这个,看来我的英语很差..... [xinz](https://github.com/1860605…
1001.A+B Format(20) 题目链接 1001.A+B Format (20) C++ 代码 第一次使用markdown,还不是很习惯,现在努力的在适应它 首先这道题我们很容易就可以读懂题意,就是简单的a+b,只不过要求我们在输出sum的时候处理一下数字的格式.那么我的做法是这样的: 在读入两个数字之后,求出sum,同时,判断sum符号,如果小于零可以立刻输出一个负号,且执行 sum=abs(sum); ,如果sum的绝对值小于1000,那么我们就直接输出sum,结束程序.否则将su…
11.题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. class Solution { public: int NumberOf1(int n) { ; unsigned int num = n; ) { ) == ){ count++; } num = num >> ; } return count; } }; 12题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. class Solution…
2014-04-29 00:20 题目:给定一个长字符串,和一个词典.如果允许你将长串分割成若干个片段,可能会存在某些片段在词典里查不到,有些则查得到.请设计算法进行分词,使得查不到的片段个数最少. 解法:用空间换取时间的动态规划算法,首先用O(n^2)的时间判断每一个片段是否在字典里.这个过程其实可以通过字典树来进行加速,时间上能优化一个阶,不过我没写,偷懒用<unordered_set>代表了字典.之后通过O(n)时间的动态规划,dp[i]表示当前位置的查不到的片段的最少个数.对于懂代码的…
2014-04-26 18:20 题目:从继承的角度,把构造函数设成private有什么意义? 解法:就不能继承了.单体模式里也这么干,目的是为了不让使用者自主生成对象,进行限制. 代码: // 14.1 In terms of inheritance, what is the point of declaring the constructor as private? // Answer: // 1. private member cannot be inherited, thus the c…
2014-03-21 20:20 题目:给定一个只包含‘0’.‘1’.‘|’.‘&’.‘^’的布尔表达式,和一个期望的结果(0或者1).如果允许你用自由地给这个表达式加括号来控制运算的顺序,问问有多少种加括号的方法来达到期望的结果值. 解法:DFS暴力解决,至于优化方法,应该是可以进行一部分剪枝的,但我没想出能明显降低复杂度的方法. 代码: // 9.11 For a boolean expression and a target value, calculate how many ways t…
2014-03-20 02:20 题目:给定二维平面上两个正方形,用一条直线将俩方块划分成面积相等的两部分. 解法:穿过对称中心的线会将面积等分,所以连接两个中心即可.如果两个中心恰好重合,那么任意穿过这个点的直线都满足条件. 代码: // 7.5 Given two squares on two-dimensional plane, draw a line to cut them in two parts with equal area. // Answer: // Apparently th…